Diferencia entre revisiones de «DRUPAL Instalación»
| (No se muestran 106 ediciones intermedias del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
| − | == Instalación do | + | == Instalación do paquete XAMPP == |
| − | |||
| − | + | <u>Importante:</u> Se tedes instalado previamente o servidor web apache ou o servidor de bases de datos mysql, deberedes parar os servizos coa orde: | |
| + | :* Linux: | ||
| + | ::: '''sudo service apache2 stop''' | ||
| + | ::: '''sudo service mysql stop''' | ||
| + | :* Windows: Escribimos en inicio => executar: '''services.msc''' e buscamos os servizos de Apache e Mysql, parando os dous. | ||
| + | :: En Windows podemos ter outros programas que fagan uso do porto 80 como: | ||
| + | ::* "SQL Server Reporting Services (MSSQLSERVER)" ou en español "Servicio de reporte de SQL Server" se temos instalado o servidor de bases de datos SQLServer | ||
| + | ::* "Web Deployment Agent Service" ou "Servicio agente de implementacion Web" | ||
| − | * | + | |
| + | * [https://es.wikipedia.org/wiki/XAMPP Xampp] é un software que unha vez instalado teremos de vez: Servidor Web Apache, servidor de base de datos Mysql, PHP e Perl. | ||
| + | |||
| + | :* En Linux o paquete denomínase LAMPP. | ||
| + | |||
| + | :<u>Nota:</u> En Windows dispoñemos doutro paquete parecido denominado WampServer ou WAMP que soamente ten versión para Windows | ||
| + | |||
| + | |||
| + | |||
| + | * Se decides instalar XAMPP para correr Drupal debedes verificar a versión de PHP que trae o paquete por se non cumpre os requerimentos de Drupal. | ||
| + | |||
| + | === En LINUX === | ||
* Para instalalo teremos que: | * Para instalalo teremos que: | ||
| − | : | + | :* Descargar a versión que nos interese dende [https://www.apachefriends.org/download.html este enlace]. |
| − | : | + | :: Podemos facelo coa seguinte orde (é un exemplo:: '''sudo wget''' https://www.apachefriends.org/xampp-files/5.6.24/xampp-linux-x64-5.6.24-1-installer.run |
| + | ::* Se o descargado a un tar.gz: | ||
| + | :::* Descomprimir o arquivo baixado coa orde: '''sudo tar xvfz xampp-linux-1.8.0.tar.gz -C /opt'''. | ||
| + | ::* Se o descargado e un arquivo sh: | ||
| + | :::* Cambiar os permisos sobre o arquivo para poder executalo: '''sudo chmod 755 xampp-linux-x64-5.6.24-1-installer.run''' | ||
| + | :::* Executar o arquivo: sudo ./xampp-linux-x64-5.6.24-1-installer.run | ||
| + | |||
* Unha vez descargado podemos iniciar Lampp (inicia o servidor web e o mysql) coa orde: '''sudo /opt/lampp/lampp start'''. | * Unha vez descargado podemos iniciar Lampp (inicia o servidor web e o mysql) coa orde: '''sudo /opt/lampp/lampp start'''. | ||
| Línea 20: | Línea 43: | ||
[[Imagen:drupal_instalacion_mysql_1.jpg|400px|center]] | [[Imagen:drupal_instalacion_mysql_1.jpg|400px|center]] | ||
| − | |||
| − | * <u>Nota:</u> Máis información [http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m3/instalacin_y_configuracin_de_apache.html neste enlace]. | + | * Fixarse que dende o frontal anterior podedes acceder aos arquivos de configuración de Apache e Mysql que se atopan respectivamente en '''/opt/lampp/etc/httpd.conf''' e '''/opt/lampp/etc/my.cnf''' |
| + | |||
| + | === En WINDOWS === | ||
| + | |||
| + | <gallery caption="Instalando Xampp en Windows" widths="350" heights="300px" perrow="2"> | ||
| + | Image:drupal_instalacion_26.jpg| Imos a [https://www.apachefriends.org/es/index.html páxina de ApacheFriends] e descargamos o Xampp para a nosa plataforma. | ||
| + | Image:drupal_instalacion_27.jpg| Unha vez descargado executamos o arquivo e comeza o asistente. | ||
| + | Image:drupal_instalacion_28.jpg| Áínda que podemos instalar todo o software soamente necesitamos: Apache, Mysql, PHP e PhpMyAdmin | ||
| + | Image:drupal_instalacion_29.jpg| Indicamos o cartafol onde imos instalar o software. | ||
| + | Image:drupal_instalacion_30.jpg| Desmarcamos a opción de 'Learn more...' e prememos Next, comezando a instalación. | ||
| + | Image:drupal_instalacion_31.jpg| Unha vez instalado temos o grupo de programa XAMPP e podemos lanzar o panel de control. | ||
| + | </gallery> | ||
| + | |||
| + | |||
| + | * No panel de control podemos iniciar os servizos que van permitir que funncione o Apache e o Mysql. | ||
| + | |||
| + | [[Imagen:drupal_instalacion_32.jpg|500px|center]] | ||
| + | |||
| + | |||
| + | === Creación da base de datos e usuario === | ||
| + | |||
| + | * Drupal vai necesitar unha base de datos para gardar toda a información que necesita ademáis dun usuario/password que teña acceso a dita base de datos. | ||
| + | : Para creala seguide [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Instalaci%C3%B3n#Configuraci.C3.B3n este enlace]. | ||
| + | |||
| + | |||
| + | === Instalación de Drupal === | ||
| + | |||
| + | * Continuade [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Instalaci%C3%B3n#Instalaci.C3.B3n_do_Drupal neste enlace] para instalar Drupal, unha vez teñades creada a base de datos e o usuario indicado no punto anterior. | ||
| + | |||
| + | == Instalando por separado cada compoñente == | ||
| + | |||
| + | * Se non optamos por instalar o paquete XAMPP teremos que instalar separadamente: | ||
| + | :* Servidor web Apache | ||
| + | ::* Activar o soporte para PHP. | ||
| + | :* Servidor de bases de datos Mysql | ||
| + | ::* Unha ferramenta gráfica para administrar o servidor de base de datos (MysqlWorkBech) | ||
| + | |||
| + | <u>Nota:</u> Se estamos nun aloxamento compartido non teremos que instalar o Apache+PHP e o Mysql. Neste caso, para xestionar a base de datos teremos a mesma ferramenta que no caso do Xampp, o MysqlQueryBrowser). | ||
| + | |||
| + | === Instalación do Apache === | ||
| + | |||
| + | * Máis información [http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m3/instalacin_y_configuracin_de_apache.html neste enlace]. | ||
<br/> | <br/> | ||
| + | |||
| + | ====LINUX==== | ||
| + | |||
| + | * <u>Nota:</u> Se tedes instalado Lampp é necesario que os servizos de Apache e Mysql estean parados. | ||
* Nunha consola de comandos executaremos: | * Nunha consola de comandos executaremos: | ||
| − | :<syntaxhighlight lang="java" | + | :<syntaxhighlight lang="java" enclose="div" highlight="" > |
sudo apt-get update | sudo apt-get update | ||
sudo apt-get install apache2 | sudo apt-get install apache2 | ||
| Línea 39: | Línea 106: | ||
| − | == | + | ===== Arquivos de configuración ===== |
| + | |||
| + | |||
| + | * <u><b>IMPORTANTE:</b></u> Calquera cambio nos arquivos de configuración de apache será necesario reiniciar o servizo coa orde: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | service apache2 restart | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | * Arquivo de configuración: '''apache2.conf''' | ||
| + | |||
| + | :* Dito arquivo pode variar de nome e lugar dependendo da versión de Apache utilizada. | ||
| + | |||
| + | :* Para saber a versión de Apache podemos escribir dende o terminal: '''sudo apache2 -version''' producindo unha saída como a seguinte: | ||
| + | |||
| + | [[Imagen:Drupal_apache_1.jpg|300px|center]] | ||
| + | |||
| + | |||
| + | |||
| + | :* Nesta versión o arquivo de configuración principal atópase: | ||
| + | ::* Cartafol '''/etc/apache2/''' | ||
| + | ::* Nome: '''apache2.conf''' | ||
| + | |||
| + | :: Este arquivo vai cargar a súa vez outros arquivos de configuración que veremos despois. | ||
| + | |||
| + | :: Dentro deste arquivo os parámetros máis importantes son: | ||
| + | |||
| + | ::* '''ServerRoot''': É o lugar onde está 'apuntando' fisicamente o servidor web. É o cartafol onde vai buscar as páxinas. | ||
| + | ::* User ${APACHE_RUN_USER} | ||
| + | ::* Group ${APACHE_RUN_GROUP} | ||
| + | ::: O servidor web execútase utilizando un usuario da máquina onde se atopa instalado e cos permisos de dito usuario. | ||
| + | ::: Para saber os valores de ditas variables podemos editar o arquivo '''/etc/apache2/envars''': | ||
| + | :::: export APACHE_RUN_USER=www-data | ||
| + | :::: export APACHE_RUN_GROUP=www-data | ||
| + | ::: Se non temos acceso a ditos arquivos podemos saber o usuario e grupo coa orde: | ||
| + | ::::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | ps aux | grep apache # para Apache 2.x | ||
| + | ps aux | grep httpd # para Apache 1.x | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | :: O arquivo /etc/apache2/apache2.conf carga a súa vez outros arquivos de configuración. | ||
| + | |||
| + | |||
| + | |||
| + | * Arquivo de configuración: '''ports.conf''' | ||
| + | |||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="1,4,8" > | ||
| + | Listen 80 | ||
| + | |||
| + | <IfModule ssl_module> | ||
| + | Listen 443 | ||
| + | </IfModule> | ||
| + | |||
| + | <IfModule mod_gnutls.c> | ||
| + | Listen 443 | ||
| + | </IfModule> | ||
| + | |||
| + | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | :* Liña 1: Indicamos en que porto vai escoitar o servidor web o tráfico non seguro. Por defecto é o 80. | ||
| + | :* Liñas 4 e 8: Se temos cargado o módulo que permite tráfico SSL aquí indicamos o porto onde vai escoiter (por defecto o 443) | ||
| + | |||
| + | |||
| + | |||
| + | * Outros arquivos de configuración: '''/etc/apache2/conf-enabled/''' | ||
| + | |||
| + | :* Todo o que haia neste cartafol será 'cargado' polo apache. Normalmente son enlaces simbólicos (accesos directos en Windows) a arquivos que se atopan fisicamente en /etc/apache2/conf-avaliable. | ||
| + | |||
| + | ===== Sitios Web ===== | ||
| + | |||
| + | * Un servidor apache vai apuntar fisicamente por defecto a un cartafol (no noso caso a /var/www/html/). | ||
| + | |||
| + | * Pero ademais pode: | ||
| + | |||
| + | :* Ter varios sitios web (URL) apuntando ao mesmo servidor web. | ||
| + | |||
| + | ====== Varios sitios web apuntando ao mesmo servidor web ====== | ||
| + | |||
| + | * Isto se consegue no arquivo de configuración '''/etc/apache2/sites-available/000-default.conf''' | ||
| + | |||
| + | * Dito arquivo é cargado xa que existe un enlace simbólico no cartafol: /etc/apache2/sites-enable/ | ||
| + | : Calquera enlace simbólico que poñamos nese cartafol levará consigo que Apache cargue dito arquivo de configuración. | ||
| + | |||
| + | : Se editamos dito arquivo podemos ver: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="1,3,9-12" > | ||
| + | <VirtualHost *:80> | ||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot /var/www/html | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
| + | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
| + | </VirtualHost> | ||
| + | |||
| + | <Directory /var/www/html> | ||
| + | Options Indexes FollowSymLinks | ||
| + | AllowOverride All | ||
| + | </Directory> | ||
| + | |||
| + | </syntaxhighlight> | ||
| + | |||
| + | * Liña 1: Sección VirtualHost onde indicamos que imos escoitar no porto 80 todas as peticións da calquera URL que chegue ao servidor web. | ||
| + | * Liña 3: Indicamos onde se atopa fisicamente o cartafol onde apunta este virtualhost. | ||
| + | * Nas liñas 9-12 fan referencia a unha serie de parámetros que son aplicados sobre o cartafol ao que estar apuntando o virtualhost. Máis información [https://httpd.apache.org/docs/2.4/mod/core.html#directory neste enlace]. | ||
| + | :: Comentar que a liña 11 indica que os parámetros de o arquivo de configuración do Apache poden ser reemplazados polos que se atopen nun arquivo de nome '''.htaccess''' (necesario para os aloxamentos compartidos). | ||
| + | |||
| + | * Sempre temos que ter unha sección <Directory> por cada <VirtualHost>. | ||
| + | |||
| + | ====== ServerName ====== | ||
| + | |||
| + | * ServerName é un parámetro que se engade no arquivo de configuración de Apache e lle indica a IP ou o nome web co que vai a recibir peticións web. Pódese poñerse a nivel 'global' no arquivo apache2.conf ou dentro da sección <virtualhost>. | ||
| − | === Instalación === | + | * Normalmente para ter un sitio web teremos que ter contratado un dominio válido en Internet que estará apuntando a IP onde temos instalado o servidor Web Apache. |
| + | |||
| + | * Como o estamos a facer localmente, engadiremos ao arquivo /etc/hosts un dominio 'ficticio' (imos engadir dous): | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="2" > | ||
| + | 127.0.0.1 localhost | ||
| + | 127.0.1.1 angel-VirtualBox www.meusitio.es www.outrositio.es | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : Agora se facemos un ping dende un terminal: '''ping www.meusitio.es''' debería contestar coa ip 127.0.0.1 | ||
| + | |||
| + | * Engadimos a liña: ServerName www.meusitio.es ao arquivo httpd.conf e reiniciamos o servizo. | ||
| + | |||
| + | * Agora deberíamos poder poñer na URL do navegador: http://www.meusitio.es e cargará a páxina por defecto. | ||
| + | : Sen embargo se poñemos: http://www.outrositio.es tamén a carga. Isto é debido a que Apache sempre vai cargar un <virtualhost> por defecto. | ||
| + | : Se dito 'default' virtualhost non está especificado cargará sempre o primeiro da lista. | ||
| + | |||
| + | : Para facer que cada un vaia a un cartafol diferente temos que duplicar a entrada <virtualhost>, unha por cada URL a atender: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="3,4,11,12" > | ||
| + | <VirtualHost *:80> | ||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot /var/www/html/meusitio | ||
| + | ServerName www.meusitio.es | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
| + | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
| + | </VirtualHost> | ||
| + | <VirtualHost *:80> | ||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot /var/www/html/outrositio | ||
| + | ServerName www.outrositio.es | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
| + | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
| + | </VirtualHost> | ||
| + | |||
| + | </syntaxhighlight> | ||
| + | |||
| + | : No exemplo estamos indicando que | ||
| + | :* www.meusitio.es => /var/www/html/meusitio | ||
| + | :* www.outrositio.es => /var/www/html/outrositio | ||
| + | |||
| + | : Ditos cartafoles teñen que estar creados e con permisos para que o usuario-grupo de apache (www-data:www-data) poda acceder. | ||
| + | |||
| + | : Reiniciar o servizo. | ||
| + | |||
| + | ====== Varias IP´s atendendo a sitios diferentes/mesmo sitio ====== | ||
| + | |||
| + | * Dentro da sección 'VirtualHost' podemos indicar que IP vai a ir a que sección. | ||
| + | * Pode darse o caso de que o equipo onde está o servidor Web teña dúas o máis tarxetas de rede e cada unha delas pode atender a determinadas peticións. | ||
| + | |||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="1,9" > | ||
| + | <VirtualHost 192.168.1.1:80> | ||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot /var/www/html/meusitio | ||
| + | ServerName www.meusitio.es | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
| + | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
| + | </VirtualHost> | ||
| + | <VirtualHost 172.1.1.10:80> | ||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot /var/www/html/outrositio | ||
| + | ServerName www.outrositio.es | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
| + | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
| + | </VirtualHost> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | * No exemplo supoñemos que o equipo está configurado con dúas tarxetas de rede, unha coa dirección 192.168.1.1 e a outra coa dirección 172.1.1.10 | ||
| + | |||
| + | ====== Alias ====== | ||
| + | |||
| + | |||
| + | ::* Os '''alias''' que veñen ser nomes que van a continuación da URL pero que apuntan fisicamente a outro sitio no disco. | ||
| + | ::: Por exemplo, se poñemos http://www.meusitio.es/tenda, isto iría ao cartafol /var/www/html/tenda, pero se no arquivo de configuración de apache creo un alias de nome 'tenda' podo apuntar a outro cartafol diferente. | ||
| + | |||
| + | ::: Para crear un alias: | ||
| + | :::* Editamos o arquivo '''/etc/apache2/sites-available/000-default.conf'''. | ||
| + | :::* Engadimos dentro da sección <virtualhost>: alias /nome_alias /cartafol_onde_apunta | ||
| + | :::: <u>Por exemplo</u>: alias /tenda_electr /var/www/html/tenda_electronica | ||
| + | * Lembrar reiniciar o servizo. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | * Máis exemplos [https://httpd.apache.org/docs/2.4/vhosts/examples.html neste enlace]. | ||
| + | |||
| + | |||
| + | ====WINDOWS==== | ||
| + | |||
| + | |||
| + | * Para poder executar Apache en Windows é necesario ter instalado unha serie de librerías relacionadas con VC++. | ||
| + | : Debemos descargar o paquete software [https://www.microsoft.com/es-es/download/details.aspx?id=48145 Visual C++ Redistributable Packages] e instalalo. | ||
| + | |||
| + | |||
| + | * Descargamos o servidor web Apache. | ||
| + | : [https://httpd.apache.org/download.cgi Na súa páxina web], sen embargo, a fundación Apache Software só pon a disposición o código fonte. Os arquivos binarios executables para Windows atópanse en páxinas como [http://www.apachelounge.com/download/ Apache Lounge] ou [https://www.apachehaus.com/cgi-bin/download.plx Apache Haus]. | ||
| + | |||
| + | |||
| + | : Movemos o cartafol 'Apache24' ó cartafol 'C:\' | ||
| + | |||
| + | [[Image:DRUPAL_instal_apache_windows_1.JPG|center|400px]] | ||
| + | |||
| + | |||
| + | * Desprazámonos ao cartafol '''C:\apache24\bin''' e executamos o arquivo httpd.exe. | ||
| + | |||
| + | [[Image:DRUPAL_instal_apache_windows_2.JPG|center|400px]] | ||
| + | |||
| + | : Aparecerá un aviso do firewall de windows preguntando se queremos permitir que se conecten a apache. Prememos a opción '''Permitir acceso'''. | ||
| + | |||
| + | |||
| + | * Aparecerá unha ventá en negro de consola. | ||
| + | : Agora mesmo o servidor web xa estaría funcionando. Podedes comprobalo se ides a unha ventá do navegador y escribides na url: '''http://localhost''' | ||
| + | |||
| + | |||
| + | [[Image:DRUPAL_instal_apache_windows_3.JPG|center|400px]] | ||
| + | |||
| + | |||
| + | * O arquivo de configuración do servidor web apache é '''httpd.conf''' que se atopa no cartafol /Apache24/conf. | ||
| + | : En dito arquivo podemos atopar a directiva '''DocumentRoot''' que indica a carpeta física a onde 'apunta' o servidor web apache cando poñemos na url localhost. | ||
| + | |||
| + | * Agora mesmo o servidor web apache non está instalado coma servizo (quere isto dicir que non se inicia automaticamente ao iniciar o computador). Cada vez que se queira utilizar ai que executar o arquivo httpd.exe. Cando non se queira usar se pode cerrar a ventá negra da consola. | ||
| + | : Se se quere instalar como servizo habería que executar a orde: '''httpd.exe -k install''' dende unha consola de windows. | ||
| + | |||
| + | |||
| + | : Para máis información sobre o arquivo de configuración de Apache podedes ver a sección anterior dunha instalación Linux desta mesma páxina. | ||
| + | |||
| + | === Instalación do PHP === | ||
| + | |||
| + | ====LINUX==== | ||
| + | * Drupal require o PHP 5.5.9 como vimos [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Instal_Requirim nos requirimentos mínimos]. | ||
| + | |||
| + | ===== Versións baseados en Ubuntu 14.04 ou anteriores ===== | ||
| + | |||
| + | * Para instalar o PHP escribiremos o seguinte nunha consola: | ||
| + | |||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-cli | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ===== Versións baseados en Ubuntu 16.04 ou superiores ===== | ||
| + | |||
| + | * Nestas versións se podería instalar os paquetes de versións anteriores de PHP, pero por defecto xa ven coa versión PHP7. | ||
| + | |||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | apt-get install libapache2-mod-php | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | * Para instalar as dúas versións de PHP (ver 7 e 5.6) deberemos: | ||
| + | |||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo add-apt-repository ppa:ondrej/php | ||
| + | |||
| + | sudo apt-get update | ||
| + | |||
| + | sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0 | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | : Para pasar dunha versión de PHP a outra: | ||
| + | |||
| + | : Pasamos dende a 5.6 á 7 | ||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo a2dismod php5.6 | ||
| + | sudo a2enmod php7.0 | ||
| + | sudo service apache2 restart | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : Pasamos dende a 7 á 5.6 | ||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo a2dismod php7.0 | ||
| + | sudo a2enmod php5.6 | ||
| + | sudo service apache2 restart | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | |||
| + | * Actualizaremos o arquivo dir.conf e engadiremos index.php ao principio: | ||
| + | : sudo nano /etc/apache2/mods-enabled/dir.conf | ||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | <IfModule mod_dir.c> | ||
| + | DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm | ||
| + | </IfModule> | ||
| + | |||
| + | |||
| + | </syntaxhighlight> | ||
| + | |||
| + | : Reiniciamos o servizo: sudo service apache2 restart | ||
| + | |||
| + | * Para comprobar se está ben instalado podemos crear un arquivo: '''/var/www/html/index.php''' | ||
| + | |||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | <?php | ||
| + | phpInfo(); | ||
| + | ?> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : E cargar a páxina dende o navegador escribindo na URL: '''http://localhost/index.php'''. | ||
| + | |||
| + | : Obteremos o seguinte: | ||
| + | |||
| + | [[Imagen:Drupal_instalacion_php_1.jpg|400px|center]] | ||
| + | |||
| + | |||
| + | : Indicar que nesta saída obtemos o lugar onde se atopa o arquivo de configuración de php, que neste caso é '''/etc/php5/apache2/php.ini''' | ||
| + | |||
| + | |||
| + | ====WINDOWS==== | ||
| + | |||
| + | * Debemos descargar a '''versión Thread Safe''' [http://windows.php.net/download#php-7.1 desde enlace] | ||
| + | : Unha vez descargada e descomprimida, movemos o cartafol a C:\ e renomeamos o seu nome a php, quedando todo no cartafol c:\php | ||
| + | |||
| + | * Copiamos e pegamos o arquivo '''php.ini-development''' dándolle de nome '''php.ini'''. | ||
| + | |||
| + | * Engadimos no arquivo '''httpd.conf''' do servidor web apache as seguintes liñas: | ||
| + | |||
| + | ::<syntaxhighlight lang="java" line enclose="div" highlight="" > | ||
| + | LoadModule php7_module "c:/php/php7apache2_4.dll" | ||
| + | AddType application/x-httpd-php .php | ||
| + | |||
| + | # configure the path to php.ini | ||
| + | PHPIniDir "C:/php" | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | |||
| + | * Modificamos a liña: | ||
| + | ::<syntaxhighlight lang="java" line enclose="div" highlight="2" > | ||
| + | <IfModule dir_module> | ||
| + | DirectoryIndex index.html | ||
| + | </IfModule> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | por | ||
| + | |||
| + | ::<syntaxhighlight lang="java" line enclose="div" highlight="2" > | ||
| + | <IfModule dir_module> | ||
| + | DirectoryIndex index.php index.html | ||
| + | </IfModule> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | <u>Nota:</u> Será necesario reiniciar o servidor web Apache para que colla os cambios. | ||
| + | |||
| + | ==== Desactivando a visualización de erros ==== | ||
| + | |||
| + | * É importante non facilitarlle 'pistas' aos posibles atacantes do noso sitio web, polo que normalmente deberemos desactivar a visualización de mensaxes de erro en PHP. | ||
| + | |||
| + | * Isto se fai coa directiva [http://php.net/manual/es/errorfunc.configuration.php#ini.display-errors display_erros] do arquivo 'php.ini'. | ||
| + | |||
| + | * Algúns aloxamentos compartidos van permitir activar/desactivar dita directiva para o noso sitio web, como podemos ver na seguinte imaxe: | ||
| + | |||
| + | [[Imagen:Drupal_instalacion_1B.jpg|400px]] | ||
| + | |||
| + | * Tamén podemos desactivar/activar dita opción a través do [http://wiki.cifprodolfoucha.es/index.php?title=PHP_Reutilizaci%C3%B3n_de_c%C3%B3digo:_Include_/_Require#A_trav.C3.A9s_do_arquivo_.htaccess arquivo .htaccess] do noso aloxamento. | ||
| + | |||
| + | * <b>Sempre que teñamos un sitio web en Internet funcionando <u>deberemos desactivar</u> dita directiva</b>. | ||
| + | |||
| + | ==== Módulos en PHP==== | ||
| + | |||
| + | * Php ten a posibilidade de instalar 'módulos' para ampliar as súas funcionalidades. | ||
| + | * Para obter a lista de módulos: '''sudo apt-cache search php5-''' | ||
| + | * Para instalar un dos módulos da lista: '''sudo apt-get install nome_do_modulo''' | ||
| + | |||
| + | <br/> | ||
| + | |||
| + | * No noso caso é necesario instalar o módulo '''php5-gd'''. Escribiremos o seguinte código: | ||
| + | |||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo apt-get install php5-gd | ||
| + | sudo service apache2 restart | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Instalación e configuración do Mysql=== | ||
| + | |||
| + | ====LINUX==== | ||
| + | ===== Instalación ===== | ||
| + | |||
| + | ====== Versións baseados en Ubuntu 14.04 ou anteriores ====== | ||
* Executaremos as seguintes ordes nun terminal: | * Executaremos as seguintes ordes nun terminal: | ||
| − | :<syntaxhighlight lang="java" | + | :<syntaxhighlight lang="java" enclose="div" highlight="" > |
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql | sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | |||
| + | ====== Versións baseados en Ubuntu 16.04 ou superiores ====== | ||
| + | |||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo apt install mysql-server mysql-client | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | <u>Nota:</u> Se vos da un erro durante a instalación probade a facer o que está indicado [https://makandracards.com/makandra/39899-install-mysql-5-6-in-ubuntu-16-04 nesta entrada de blog]. | ||
| + | |||
| + | ===== Proceso de instalación ===== | ||
* Aparecerá unha pantalla onde se nos solicita o password que terá o usuario 'root'. Lembrade escoller un password complexo. | * Aparecerá unha pantalla onde se nos solicita o password que terá o usuario 'root'. Lembrade escoller un password complexo. | ||
| Línea 54: | Línea 522: | ||
| − | * | + | * Se a versión de Mysql <u>é inferior a 5.7.6</u>, debemos executar un script para que cre as base de datos necesarias para o seu funcionamento: |
| − | :<syntaxhighlight lang="java" | + | :<syntaxhighlight lang="java" enclose="div" highlight="" > |
sudo mysql_install_db | sudo mysql_install_db | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | |||
| + | : En caso de ter unha versión igual ou superior xa non é necesario facelo. Neste caso, se queremos facer unha nova instalación teremos que executar o código: | ||
| + | :<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo mysqld --initialize | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | |||
* Executaremos un script de setup coa orde; | * Executaremos un script de setup coa orde; | ||
| − | :<syntaxhighlight lang="java" | + | :<syntaxhighlight lang="java" enclose="div" highlight="" > |
sudo /usr/bin/mysql_secure_installation | sudo /usr/bin/mysql_secure_installation | ||
</syntaxhighlight> | </syntaxhighlight> | ||
: Preguntará: | : Preguntará: | ||
| − | :: Pola contrasinal do usuario root (introducida anteriormente): A escribiremos. | + | :* Se queremos instalar o PLUGIN_VALIDATE para obrigar a que as contrasinais dos usuarios sexan seguras. Podedes escoller o que queirades, pero se estades practicando escollede '''N''' para así poder poñer contrasinais sinxelas. |
| − | : | + | :* Pola contrasinal do usuario root (introducida anteriormente): A escribiremos. |
| − | : | + | :* Change the root password? [Y/n]: Se queremos cambiar o password de root: premeremos 'no'. |
| − | : | + | :* Remove anonymous users? [Y/n]: Se queremos eliminar o acceso anónimo ao Mysql: Contestaremos que si ('''y'''). |
| − | :: Reload privilege tables now? [Y/n]: Contestar '''y'''. | + | :* Disallow root login remotely?: Contestar '''y'''. |
| + | :* Remove test database and access to it: Contestar '''y'''. | ||
| + | :* Reload privilege tables now? [Y/n]: Contestar '''y'''. | ||
| + | |||
| + | |||
| + | * Unha vez instalado o <u>arquivo de configuración do mysql</u> se atopa en: | ||
| + | ::* Apache: '''/etc/mysql/my.cnf''' | ||
| + | ::* XAMPP: '''/opt/lampp/etc/my.cnf''' | ||
| + | |||
| + | : Dentro deste arquivo podemos cambiar o porto por defecto (3306) no que escoite o servizo de mysql, indicar a tarxeta de rede (a ip) que está facendo uso do servizo,etc... | ||
| + | * Agora necesitamos un programa para poder xestionar o servidor Mysql. | ||
| + | : Temos dúas opcións: | ||
| + | :* MySqlWorkBench: É un programa. | ||
| + | :* Phpmyadmin: é un sitio web que se carga a través do navegador. Utilizado nos aloxamentos compartidos e na paquete XAMPP. | ||
| + | ===== Instalación do frontend MysqlWorkBech ===== | ||
| − | + | * WorkBench é un programa que vai permitir xestionar todo o Mysql, dende ás bases de datos ata os usuarios. Se estamos nun aloxamento compartido, teremos como ferramenta o phpmyadmin (que ven có paquete XAMPP, explicado despois). | |
*<u>Nota:</u> Máis información [http://dev.mysql.com/doc/workbench/en/wb-linux.html neste enlace]. | *<u>Nota:</u> Máis información [http://dev.mysql.com/doc/workbench/en/wb-linux.html neste enlace]. | ||
| Línea 101: | Línea 591: | ||
| + | ===== Instalación do phpmyadmin ===== | ||
| + | * Phpmyadmin é unha aplicación web que se carga como se fora unha páxina dende o navegador utilizando o servidor web Apache. | ||
| + | : É a ferramenta que se utiliza nos aloxamentos compartidos de Internet e a que ven co paquete LAMPP. | ||
| + | <u>Nota:</u> Se estamos a utilizar LAMPP xa non teremos que instalalo e poderemos acceder a esta ferramenta accedendo á URL: http://localhost | ||
| + | |||
| + | <gallery caption="Instalando phpmyadmin" widths="350" heights="300px" perrow="2"> | ||
| + | Image:Drupal_instalacion_phpmyadmin_1.jpg| Nun terminal escribimos a orde: '''sudo apt-get install phpmyadmin''' e comeza o proceso de instalación. Debemos premer S (ou Y) a pregunta de se desexamos instalar o paquete. | ||
| + | Image:Drupal_instalacion_phpmyadmin_2.jpg| Aparecerá unha pantalla onde se nos pregunta en que servidor web imos instalar phpmyadmin. '''Elixiremos Apache'''. | ||
| + | Image:Drupal_instalacion_phpmyadmin_3.jpg| Agora '''prememos si''' na pregunta xa que é necesario para o phpmyadmin ter instalada unha base de datos. | ||
| + | Image:Drupal_instalacion_phpmyadmin_4.jpg| A instalación da base de datos anterior leva asociada un usuario e password. Pídese a contrasinal (pedirá confirmación). Non a imos necesitar polo que podemos deixala baleira e xerará unha automaticamente. A segunda pregunta debemos de contestar a contrasinal do usuario root posta anteriormente. Se non equivocamos podemos reintentar a instalación e poñer a contrasinal de root. | ||
| + | Image:Drupal_instalacion_phpmyadmin_5.jpg| Unha vez instalado xa podemos ir a un navegador web e '''escribir a URL: http://localhost/phpmyadmin'''. <u>Atención</u> O usuario que se pide é '''root''' e o password é o que indicaramos cando instalamos o mysql (non é o password do punto anterior). | ||
| + | </gallery> | ||
| + | |||
| + | ====WINDOWS==== | ||
| + | * [http://www.ecodeup.com/aprende-a-instalar-mysql-y-mysql-workbench-en-windows-10/ Seguir este enlace] para descargar e instalar Mysql e WorkBench, pero tendo en conta que na primeira opción deberedes escoller '''Custom''' e escoller o seguinte software para instalar: | ||
| + | |||
| + | [[Image:Drupal_instal_mysql_windows_2.JPG|center|400px]] | ||
| + | : Desta forma xa non tedes que seguir a entrada anterior cando mande descargar o Mysqlworkbench, xa que estará instalado. | ||
| + | |||
| + | |||
| + | : '''Importante:''' Fixarse que na páxina de descarga debemos escoller a opción '''msi'''. | ||
| + | [[Image:Drupal_instal_mysql_windows_1.JPG|center|400px]] | ||
| + | |||
| + | |||
| + | : Prememos dúas veces sobre o arquivo descargado e comeza o proceso de instalación. | ||
| + | |||
| + | : Se durante a instalación informa que non está instalado o paquete VC++ Redistribuible 2013, debemos instalalo previamente dende [https://www.microsoft.com/es-es/download/details.aspx?id=40784 este enlace]. | ||
| + | |||
| + | |||
| + | * Con isto acabaría a instalación do Mysql. No caso de querelo usar xunto cun CMS (por exemplo DRUPAL) deberedes de crear unha base de datos e un usuario de acceso á mesma. | ||
| + | |||
| + | |||
| + | =====PhpMyAdmin===== | ||
| + | |||
| + | * Temos que ter instalado o PHP para Apache previamente (está nun punto anterior desta páxina). | ||
| + | : '''Debemos descomentar as liñas (quitarlles o punto e coma inicial)''' no arquivo php.ini do cartafol onde estea instalado o php: | ||
| + | |||
| + | ::<syntaxhighlight lang="java" line enclose="div" highlight="" > | ||
| + | extension=php_mbstring.dll | ||
| + | extension=php_mysqli.dll | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | <u>Nota:</u> Será necesario reiniciar o servidor web Apache para que colla os cambios. | ||
| + | |||
| + | |||
| + | * Unha vez feito, debemos descargar o PhpMyAdmin [https://www.phpmyadmin.net/downloads/ dende este enlace]. | ||
| + | |||
| + | : Descomprimimos o arquivo e copiamos o cartafol ao cartafol indicado pola directiva DocumentRoot de Apache, que se seguides este manual é C:\apache24\htdocs | ||
| + | |||
| + | : Unha vez copiada accederemos ao phpmyadmin poñendo na URL dun navegador: http://localhost/phpmyadmin | ||
| + | |||
| + | ==== Configuración ==== | ||
| + | |||
| + | * A continuación teríamos que crear a base de datos e un usuario con acceso á mesma. Isto está explicado a continuación xa que a mesma ferramenta(phpmyadmin) o ten o paquete XAMPP. | ||
| − | |||
* Cando instalemos o Drupal, este vai facer uso dunha base de datos. Imos crear dita base de datos e un usuario que teña permisos sobre dita base de datos. | * Cando instalemos o Drupal, este vai facer uso dunha base de datos. Imos crear dita base de datos e un usuario que teña permisos sobre dita base de datos. | ||
| − | ==== Con XAMPP => | + | ===== Con XAMPP => phpmyadmin ===== |
<gallery caption="Creando unha base de datos e un usuario para drupal" widths="350" heights="300px" perrow="2"> | <gallery caption="Creando unha base de datos e un usuario para drupal" widths="350" heights="300px" perrow="2"> | ||
| Línea 119: | Línea 663: | ||
</gallery> | </gallery> | ||
| + | ===== Con MysqlWorkBench ===== | ||
| + | |||
| + | * O MysqlWorkBench é unha ferramenta que vai permitir xestionar o servidor Mysql. | ||
| + | : Podemos descárgalo e ver as súas características [http://www.mysql.com/products/workbench/ neste enlace]. | ||
| − | |||
* Faremos os seguintes pasos para crear unha base de datos en Mysql e un usuario con acceso a mesma. | * Faremos os seguintes pasos para crear unha base de datos en Mysql e un usuario con acceso a mesma. | ||
| Línea 142: | Línea 689: | ||
</gallery> | </gallery> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Instalación do Drupal == | == Instalación do Drupal == | ||
| Línea 202: | Línea 699: | ||
:* Accedemos a https://www.drupal.org/project/drupal e escollemos a versión a descargar. | :* Accedemos a https://www.drupal.org/project/drupal e escollemos a versión a descargar. | ||
::* Graficamente, escollemos a versión dende o navegador e a descargamos. | ::* Graficamente, escollemos a versión dende o navegador e a descargamos. | ||
| − | ::* Dende consola coa orden: '''wget https://ftp.drupal.org/files/projects/drupal-8. | + | ::* Dende consola en Lunix coa orden: '''wget https://ftp.drupal.org/files/projects/drupal-8.2.3.tar.gz''' (Nota: Teredes que baixar a última versión estable. Esta é un exemplo. Para saber cales hai podedes [https://www.drupal.org/project/drupal/releases?api_version%5B%5D=7234 visitar este enlace] no que aparecen as versión para Drupal 8). |
| + | ::* Se estamos en Windows o facemos todo graficamente. | ||
:* Unha vez descargada a descomprimimos: | :* Unha vez descargada a descomprimimos: | ||
::*Graficamente, premendo dúas veces e descomprimíndoa. | ::*Graficamente, premendo dúas veces e descomprimíndoa. | ||
| − | ::*Dende consola coa orde: '''tar -zxvf drupal-8.1.8.tar.gz''' | + | ::*Dende consola en Linux coa orde: '''tar -zxvf drupal-8.1.8.tar.gz''' |
* Onde se move o cartafol descomprimido do drupal. | * Onde se move o cartafol descomprimido do drupal. | ||
| − | :* Se estamos a utilizar xampp deberemos movelo ao cartafol '''/opt/lampp/htdocs/''' | + | :* Se estamos a utilizar xampp: |
| − | :* Se estamos a utilizar un servidor web (como | + | ::* En Linux deberemos movelo ao cartafol '''/opt/lampp/htdocs/''' coa orde: '''sudo mv cartafol_descomprimido_drupal /opt/lampp/htdocs'''. |
| + | ::* En Windows deberemos movelo ao cartafol '''C:\xampp\htdocs\''' | ||
| + | :* Se estamos a utilizar un servidor web (como Apache) debemos movelo ao cartafol onde cargue os sitios web. Normalmente será '''/var/www/html/'''. | ||
| + | |||
| + | :<u>ATENCIÓN</u> O Drupal ten arquivos ocultos que empezan por '.' por exemplo .htaccess | ||
| + | : Se movemos os arquivos tede en conta que gráficamente poden aparecer ocultos. | ||
| + | : Se o facemos por consola lembrar poñer a orde: sudo mv /cartafol_drupal_comprimido/'''.*''' /cartafol_destino/ | ||
| − | :<u> | + | |
| + | |||
| + | :<u>Notas:</u>: | ||
| + | :* Cando se descomprime, normalmente teremos o nome 'drupal-X.Y.Z'. Podemos cambiarlle o nome a ese cartafol por 'drupal' por exemplo e despois imos usalo no arquivo de configuración de Apache. | ||
| + | :* O máis lóxico é que se implantades unha solución 'real' de Drupal teredes un dominio contratado. O recomendable é que o dominio apunte directamente a Drupal sen ter cartafoles polo medio. | ||
| + | :: Así, o dominio http://www.meudominio.es debería apuntar a /var/www/html/drupal | ||
| + | :: Existen formas (as empresas de aloxamento o permiten) de facer que un subdominio apunte a outro cartafol, así poderíamos ter: | ||
| + | ::: http://www.meudominio.es => /var/www/html/WEB | ||
| + | ::: http://www.meudominio.es/tenda => /var/www/html/DRUPAL (neste caso poderíamos ter unha tenda virtual configurada con Drupal). | ||
| + | <br/> | ||
| + | :* A outra forma é facelo sobre un cartafol dentro do sitio web, de forma que, se tivésemos un dominio: | ||
| + | ::: http://www.meudomonio.es => /var/www/html | ||
| + | ::: http://www.meudomonio.es/drupal => /var/www/html/drupal (cartafol dentro do dominio). | ||
| + | |||
| + | :: Esta opción non é recomendable. | ||
| Línea 218: | Línea 736: | ||
:* Drupal necesita un arquivo de configuración de nome '''settings.php''' que se atopa no '''cartafol do drupal/sites/default''' (en xampp sería /opt/lampp/htdocs/drupal/sites/default e en apache /var/www/html/drupal/sites/default). | :* Drupal necesita un arquivo de configuración de nome '''settings.php''' que se atopa no '''cartafol do drupal/sites/default''' (en xampp sería /opt/lampp/htdocs/drupal/sites/default e en apache /var/www/html/drupal/sites/default). | ||
| − | :* Deberemos <u>copiar</u> o arquivo '''default.settings.php''' que se atopa nese cartafol e <u>copialo</u> có nome ''' | + | :* Deberemos <u>copiar</u> o arquivo '''default.settings.php''' que se atopa nese cartafol e <u>copialo</u> có nome '''settings.php'''. |
| − | :* Deberemos cambiar os permisos do arquivo '''settings.php''' para que poida ser modificado. En Linux, poñeremos: '''chmod 777 settings.php''' | + | :* Deberemos cambiar os permisos do arquivo '''settings.php''' para que poida ser modificado. En Linux, poñeremos: '''sudo chmod 777 settings.php''' |
| + | :<u>Nota:</u> Este arquivo é moi importante xa que nel se garda non só parámetros de configuración do propio Drupal, se non o usuario, password e nome da base de datos Mysql. Cando se remate a instalación se indicará a necesidade de cambiar os permisos para que ninguén poida obter información do arquivo. | ||
* Arquivos do idioma español. | * Arquivos do idioma español. | ||
:* Durante a instalación podemos facer a instalación no idioma español. Será necesario ter creados uns cartafoles que por defecto non veñen. | :* Durante a instalación podemos facer a instalación no idioma español. Será necesario ter creados uns cartafoles que por defecto non veñen. | ||
| − | ::* Crear o cartafol '''/cartafol_drupal/sites/default/files''' e darlle permisos de escritura '''chmod | + | :<u>Nota:</u> '''A partires da versión 8.3.2 de Drupal''' xa non é necesario crear estes cartafoles xa que o fai o asistente durante o proceso de instalación. |
| + | ::* Crear o cartafol '''/cartafol_drupal/sites/default/files''' e darlle permisos de escritura '''sudo chmod 2740 /cartafol_drupal/sites/default/files''' (có 2 facemos que os novos arquivos terán os permisos indicados). | ||
::* Crear o cartafol '''/cartafol_drupal/sites/default/files/translations. | ::* Crear o cartafol '''/cartafol_drupal/sites/default/files/translations. | ||
| + | :* Se durante a instalación vos da un erro de que non pode conectarse ao servidor: | ||
| + | [[Imagen:Drupal_instalacion_25A.jpg|300px|center]] | ||
| − | * Cambiando os permisos. | + | :: Teredes que: |
| + | ::* Ir ao sitio web: [https://localize.drupal.org/translate?sort=desc&order=Drupal%20core%20progress Descarga traducciones Drupal]. | ||
| + | ::* Descargade o arquivo de idioma (Spanish) => Fixarse na <u>versión do CORE</u>, que debe corresponderse coa versión de Drupal descargada. | ||
| + | ::* Copialo ao cartafol '''/cartafol_drupal/sites/default/files/translations''' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | * Cambiando os permisos ('''soamente Linux'''). | ||
:* Se o fixemos graficamente, o dono dos arquivos será o teu usuario, e se o fixeches dende consola será root (se usaches a orde sudo). | :* Se o fixemos graficamente, o dono dos arquivos será o teu usuario, e se o fixeches dende consola será root (se usaches a orde sudo). | ||
:* Imos cambiar o dono para que sexa o usuario que utiliza o apache para conectarse. Este é '''www-data''' (noutras distribucións teriades que identificar con que usuario se conecta) . | :* Imos cambiar o dono para que sexa o usuario que utiliza o apache para conectarse. Este é '''www-data''' (noutras distribucións teriades que identificar con que usuario se conecta) . | ||
| − | :* Dende unha consola e con permisos sudo, executamos a orde: '''chown -R www-data:www-data | + | :* Dende unha consola e con permisos sudo, executamos a orde: '''sudo chown -R www-data:www-data dir_drupal''' sendo 'dir_drupal' o cartafol onde se atopa drupal. |
| + | <br/> | ||
| + | :* Para saber o nome do usuario do servidor web Apache podemos escribir o seguinte nun terminal: | ||
| + | :::<syntaxhighlight lang="java" enclose="div" highlight="3" > | ||
| + | ps aux |grep apache # para Apache 2.x | ||
| + | ps aux |grep httpd # para Apache 1.x | ||
| + | </syntaxhighlight> | ||
| + | :: Como salida teremos algo parecido a isto: | ||
| + | [[Imagen:Drupal_instalacion_25.jpg|300px|center]] | ||
| − | |||
| − | :* En Lampp: Temos que editar o arquivo php.ini (se atopa en /opt/lampp/etc/php.ini) e engadir (ou descomentar a liña no caso de XAMPP): '''zend_extension=opcache.so'''. | + | |
| − | :* '''En | + | |
| − | :::<syntaxhighlight lang="java" | + | * Activación do [http://librosweb.es/tutorial/la-nueva-extension-opcache-de-php-55/ opcache]. |
| + | : Extensión de PHP para mellorar o tempo de xeración das páxinas php. | ||
| + | |||
| + | :* En Lampp (Linux): Temos que editar o arquivo php.ini (se atopa en /opt/lampp/etc/php.ini) e engadir (ou descomentar a liña no caso de XAMPP): '''zend_extension=opcache.so''' e <u>reiniciaremos o Apache</u>. | ||
| + | :* En Wampp (Windows): Editaremos o arquivo php.ini que se atopa en '''C:\xampp\php''' | ||
| + | ::* Engadimos a seguinte liña: '''zend_extension=php_opcache.dll''' | ||
| + | ::* Cambiamos o seguinte valor: | ||
| + | ::::<syntaxhighlight lang="java" enclose="div" highlight="3" > | ||
| + | ::[opcache] | ||
| + | ; Determines if Zend OPCache is enabled | ||
| + | opcache.enable=1 | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ::* Reiniciaremos o Apache. | ||
| + | :* '''En Apache (sen XAMPP/LAMPP):''' Debemos editar o arquivo '''/etc/php5/apache2/php.ini''' e cambiar o seguinte código; | ||
| + | :::<syntaxhighlight lang="java" enclose="div" highlight="3" > | ||
::[opcache] | ::[opcache] | ||
; Determines if Zend OPCache is enabled | ; Determines if Zend OPCache is enabled | ||
| Línea 247: | Línea 799: | ||
:: Por | :: Por | ||
| − | :::<syntaxhighlight lang="java" | + | :::<syntaxhighlight lang="java" enclose="div" highlight="3" > |
::[opcache] | ::[opcache] | ||
; Determines if Zend OPCache is enabled | ; Determines if Zend OPCache is enabled | ||
| Línea 257: | Línea 809: | ||
| − | * Activación do módulo mod_rewrite cunha instalación Apache (non Lampp). | + | * Activación do módulo mod_rewrite cunha instalación con Apache ('''non Lampp'''). |
:*<u>Nota:</u> Máis información [https://www.drupal.org/docs/7/configuring-clean-urls/enable-clean-urls#shared neste enlace]. | :*<u>Nota:</u> Máis información [https://www.drupal.org/docs/7/configuring-clean-urls/enable-clean-urls#shared neste enlace]. | ||
<br/> | <br/> | ||
| Línea 264: | Línea 816: | ||
:* Para activalo deberemos escribir o seguinte (se estamos nun servidor compartido seguramente o módulo xa estará activo): | :* Para activalo deberemos escribir o seguinte (se estamos nun servidor compartido seguramente o módulo xa estará activo): | ||
| − | :::<syntaxhighlight lang="java" | + | :::<syntaxhighlight lang="java" enclose="div" highlight="" > |
sudo a2enmod rewrite | sudo a2enmod rewrite | ||
| − | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Línea 274: | Línea 825: | ||
:::: Escribimos o seguinte código: | :::: Escribimos o seguinte código: | ||
| − | :::;:<syntaxhighlight lang="java" | + | :::;:<syntaxhighlight lang="java" enclose="div" highlight="6" > |
.... | .... | ||
</VirtualHost> | </VirtualHost> | ||
| Línea 283: | Línea 834: | ||
</Directory> | </Directory> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | :* Reiniciamos o servizo | ||
| + | :::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | sudo service apache2 restart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Línea 288: | Línea 844: | ||
<gallery caption="Instalación de Drupal dende o navegador" widths="350" heights="300px" perrow="3"> | <gallery caption="Instalación de Drupal dende o navegador" widths="350" heights="300px" perrow="3"> | ||
| − | Image:drupal_instalacion_1.jpg| | + | Image:drupal_instalacion_1.jpg| Se instalamos o Drupal nun cartafol dentro do sitio web, escribimos na url do navegador a seguinte dirección: '''http://localhost/drupal''' sendo drupal o nome do cartafol que eliximos cando o movimos ao cartafol htdocs. Se modificamos o arquivo de configuración de Apache e configuramos unha URL que apunte directamente ao cartafol de Drupal, poñeremos na URL do navegador a URL do arquivo de configuración. |
Image:drupal_instalacion_2.jpg| Empeza un asistente de instalación. Escolleremos o idioma '''Español'''. | Image:drupal_instalacion_2.jpg| Empeza un asistente de instalación. Escolleremos o idioma '''Español'''. | ||
| − | Image:drupal_instalacion_3.jpg| Eliximos o perfil '''Standard'''. | + | Image:drupal_instalacion_3.jpg| Eliximos o perfil '''Standard'''. Se durante este paso vos sae un erro que indique que xa chegou ao máximo tempo de execución permitido, deberedes de editar o arquivo php.ini (que en WAMPP está en C:\Instalación WAMPP\php\php.ini e en LAMPP está en /opt/lampp/php) e cambiar a entrada max_execution_time=30 por '''max_execution_time=90''', reiniciar Apache e refrescar a páxina. |
Image:drupal_instalacion_4.jpg| No seguinte paso introduciremos os datos da base de datos mysql (nome da base de datos, usuario e password) usados anteriormente. Fixarse que as 'Opcións avanzadas' están despregadas para que vexades a opción 'Prefijo del nombre de la tabla'. Esta opción se usuaria se ides utilizar unha base de datos Mysql xa existente e tedes táboas de outras aplicacións nese base de datos. Entón poñeríamos un prefixo (por exemplo drupal) e todas as táboas de drupal tería de nome drupal_nome. Desta forma poderiades distinguir cales son de drupal e cales das outras aplicacións... | Image:drupal_instalacion_4.jpg| No seguinte paso introduciremos os datos da base de datos mysql (nome da base de datos, usuario e password) usados anteriormente. Fixarse que as 'Opcións avanzadas' están despregadas para que vexades a opción 'Prefijo del nombre de la tabla'. Esta opción se usuaria se ides utilizar unha base de datos Mysql xa existente e tedes táboas de outras aplicacións nese base de datos. Entón poñeríamos un prefixo (por exemplo drupal) e todas as táboas de drupal tería de nome drupal_nome. Desta forma poderiades distinguir cales son de drupal e cales das outras aplicacións... | ||
Image:drupal_instalacion_5.jpg| Empeza a instalación do sitio. | Image:drupal_instalacion_5.jpg| Empeza a instalación do sitio. | ||
| Línea 302: | Línea 858: | ||
| − | * <u>'''NOTA:'''</u> '''Esta sección está asociada á realización | + | * <u>'''NOTA:'''</u> '''Esta sección está asociada á realización dun EXERCICIO.''' |
| Línea 315: | Línea 871: | ||
| − | * Para solucionalo deberemos editar o arquivo de configuración de | + | * Para solucionalo deberemos editar o arquivo de configuración (settings.php) de Drupal (que se atopa no cartafol do drupal/sites/default (en xampp sería /opt/lampp/htdocs/drupal/sites/default). |
: Unha vez editado ao final do arquivo poñeremos as seguintes liñas: | : Unha vez editado ao final do arquivo poñeremos as seguintes liñas: | ||
| − | :::<syntaxhighlight lang="java" | + | :::<syntaxhighlight lang="java" enclose="div" highlight="2" > |
$settings['trusted_host_patterns'] = array( | $settings['trusted_host_patterns'] = array( | ||
'^www\.example\.com$', | '^www\.example\.com$', | ||
| Línea 330: | Línea 886: | ||
[[Image:Drupal_instalacion_12.jpg|center|400px]] | [[Image:Drupal_instalacion_12.jpg|center|400px]] | ||
| − | + | === Modificando a directiva RewriteBase (soamente con Apache) === | |
| − | === Modificando a directiva RewriteBase === | ||
* O servidor web Apache 'apunta' a un determinado cartafol do disco duro. Así, por defecto, cando escribimos na URL do navegador 'http://meusitio.es' estaremos 'apuntando' a '/var/www/' (antes de Ubuntu 14.04) ou '/var/www/html/' (Ubuntu 14.04 e posteriores). | * O servidor web Apache 'apunta' a un determinado cartafol do disco duro. Así, por defecto, cando escribimos na URL do navegador 'http://meusitio.es' estaremos 'apuntando' a '/var/www/' (antes de Ubuntu 14.04) ou '/var/www/html/' (Ubuntu 14.04 e posteriores). | ||
| Línea 340: | Línea 895: | ||
<br/> | <br/> | ||
* No noso caso: | * No noso caso: | ||
| + | :* Se temos configurado o virtualhost do arquivo /etc/apache2/sites-enabled/000-default.conf e '''document_root''' apunta a /var/www/html | ||
| − | :* Modificamos | + | ::* Modificamos o arquivo /var/www/html/drupal/.htaccess e descomentamos a liña indicada: |
| − | : | + | :::<syntaxhighlight lang="java" enclose="div" highlight="1" > |
| − | |||
| − | |||
| − | |||
| − | |||
RewriteBase /drupal | RewriteBase /drupal | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | :: Sendo /drupal o cartafol onde está instalado Drupal no servidor web (/var/www/html/). | ||
| + | |||
| + | :* Se temos configurado o virtualhost do arquivo /etc/apache2/sites-enabled/000-default.conf e '''document_root''' apunta a /var/www/html/drupal | ||
| + | |||
| + | ::* Modificamos o arquivo /var/www/html/drupal/.htaccess e descomentamos a liña indicada: | ||
| + | |||
| + | :::<syntaxhighlight lang="java" enclose="div" highlight="1" > | ||
| + | RewriteBase / | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | ||
:* Reiniciamos o servidor Apache: '''sudo service apache2 restart''' | :* Reiniciamos o servidor Apache: '''sudo service apache2 restart''' | ||
| − | === Configuración de permisos nos cartafoles de Drupal === | + | === Configuración de permisos nos cartafoles de Drupal (con Apache e Linux) === |
* <u>'''NOTA:'''</u> '''Esta sección está asociada á realización dun EXERCICIO.''' | * <u>'''NOTA:'''</u> '''Esta sección está asociada á realización dun EXERCICIO.''' | ||
| Línea 371: | Línea 933: | ||
* O resto de cartafoles e arquivos debería ter permisos de lectura pero non de escritura. | * O resto de cartafoles e arquivos debería ter permisos de lectura pero non de escritura. | ||
| + | : Como norma xeral, poderíamos dicir que os cartafoles debería ter permisos 755 e os arquivos permisos 644, quitando as excepcións do cartafol /drupal/sites/default/files e o arquivo de configuración /drupal/sites/default/installation.php. | ||
| + | :* find /drupal/ ! -type d -exec chmod 644 {} \; | ||
| + | :* find /drupal/ -type d -exec chmod 755 {} \; | ||
| + | |||
| + | : <u>Nota:</u> Estes permisos xa deberían estar postos por defecto. Se os aplicades teredes que cambiar os permisos nas excepcións comentadas anteriormente. | ||
| + | |||
| − | * Para non ter que | + | * Para non ter que facer a comprobación manualmente podemos facer uso dun módulo que verifique que os permisos sexan os correctos. A continuación amosamos dous módulos de exemplo. |
:* Módulo: https://www.drupal.org/project/file_permissions | :* Módulo: https://www.drupal.org/project/file_permissions | ||
:* Módulo: https://www.drupal.org/project/security_review | :* Módulo: https://www.drupal.org/project/security_review | ||
| − | + | <br/> | |
| + | * Un posible script para cambiar os permisos de Drupal para que sexa totalmente seguro (isto o faríamos unha vez teñamos o Drupal funcionando e sen necesidade de cambiar nin instalar nada máis): | ||
| + | |||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="1" > | ||
| + | cd /RUTA_INSTALACION_DRUPAL/ -------------------(A CAMBIAR)------------------------ | ||
| + | chown -R www-data:www-data * | ||
| + | find . ! -type d -exec chmod 444 {} \; | ||
| + | find . -type d -exec chmod 555 {} \; | ||
| + | |||
| + | |||
| + | chmod -R 2740 sites/default/files | ||
| + | chmod 440 sites/default/settings.php | ||
| + | find . -name .htaccess -exec chmod 444 {} \; | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | <br/> | ||
| + | |||
| + | * Se imos a estar traballando e instalando novas funcionalidades poderíamos aplicar este script: | ||
| + | |||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="1" > | ||
| + | cd /RUTA_INSTALACION_DRUPAL/ -------------------(A CAMBIAR)------------------------ | ||
| + | chown -R www-data:www-data * | ||
| + | find . ! -type d -exec chmod 644 {} \; | ||
| + | find . -type d -exec chmod 755 {} \; | ||
| + | |||
| + | |||
| + | chmod -R 2740 sites/default/files | ||
| + | chmod 440 sites/default/settings.php | ||
| + | find . -name .htaccess -exec chmod 444 {} \; | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | == Instalación de Git == | ||
| + | |||
| + | * [https://es.wikipedia.org/wiki/Git Git] é un software de control de versións. | ||
| + | : Podedes descargar o software para as diferentes plataformas [https://git-scm.com/downloads neste enlace]. | ||
| + | |||
| + | * Pode sernos útil para gardar o estado do drupal antes da instalación dun software que faga que Drupal deixe de funcionar. Nese caso podemos facer uso de Git para volver a deixar ao Drupal como estaba. | ||
| + | |||
| + | |||
| + | * Permite ter diferentes versións de proxectos sobre os que se fan modificacións no seus arquivos | ||
| + | : Garda ditos arquivos antes de facer as modificacións permitindo 'volver' ao estado anterior a facer ditas modificacións. | ||
| + | : '''Non garda a base de datos polo que teremos que facer copias de seguridade pola nosa conta'''. | ||
| + | |||
| + | * Tamén permite facer traballo colaborativo entre diferentes persoais traballando á vez sobre o mesmo proxecto. | ||
| + | |||
| + | * Nos o imos utilizar para gardar versións de Drupal antes de instalar novos módulos ou funcionalidades por se temos que volver a atrás en caso de problemas. | ||
| + | |||
| + | |||
| + | * Para instalalo temos que executar a seguinte orde dende unha consola ou terminal: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | apt-get install git | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | * Unha vez instalado temos que crear un repositorio. Isto ven ser o lugar onde imos gardas as diferentes versións do Drupal. | ||
| + | |||
| + | * Para inicialo temos que '''situarnos no raíz do sitio web de drupal''', no noso caso: /var/www/html/drupal e executar a seguinte orde: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git init | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : Obteremos o seguinte resultado: | ||
| + | [[Imagen:Drupal_instalacion_git_1.jpg|300px|center]] | ||
| + | |||
| + | : Creouse un novo cartafol: /var/www/html/drupal/.git | ||
| + | |||
| + | * Para o seu funcionamento, git debe ter rexistrado unha conta de correo e un nome de usuario. Podemos ter o mesmo para todos os proxectos ou podemos especificar nomes diferentes. | ||
| + | : No noso caso, as ordes son: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git config --global user.name "O teu nome" | ||
| + | git config --global user.email oteucorreo@prueba.es | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | * Agora debemos engadir os arquivos ao repositorio. Agora mesmo está baleiro, polo que imos engadir todos os arquivo do cartafol drupal (escribide o punto despois do parámetro -A): | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git add -A . | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | * Agora podemos ver os arquivos 'engadidos' ao repositorio: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git status | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : Fixarse que saen todos os arquivos de Drupal, pero estes arquivos non están CONFIRMADOS. En git, ata que non se confirmen non son 'incluídos' no repositorio. | ||
| + | |||
| + | : '''É importante lembrar que ata non se faga un commit dos arquivos (confirmación) estes non serán gardados realmente e non poderemos ir atrás no estado de Drupal. | ||
| + | |||
| + | * Para confirmar os arquivos executaremos a seguinte orde: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git commit -m "Drupal acabado de instalar" | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | : Se agora facemos un git status indicará que non hai nada novo que confirmar: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git status | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : Resultado | ||
| + | [[Imagen:Drupal_instalacion_git_2.jpg|300px|center]] | ||
| + | |||
| + | |||
| + | === Recuperando un estado anterior === | ||
| + | |||
| + | * Crear un novo arquivo dentro do sitio web de Drupal. No exemplo eu vou crear un de nome 'proba.txt'. | ||
| + | |||
| + | : Se agora executades a orde '''git status''' podedes observar como informa de que hai un arquivo modificado: | ||
| + | |||
| + | [[Imagen:Drupal_instalacion_git_3.jpg|300px|center]] | ||
| + | |||
| + | * Agora imos engadir dito arquivo ao repositorio, como fixemos antes: | ||
| + | |||
| + | |||
| + | * Imos ver agora como podemos restaurar o sitio web Drupal a un estado anterior. | ||
| + | |||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git add proba.txt | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : <u>Nota:</u> Podemos engadir todos os arquivos de vez có parámetro -A como fixemos ao principio. | ||
| + | : <u><b>Importante</b></u> Tedes que facer o add sempre antes de facer o commit, xa que se modificados un arquivo despois de facer o add, se gardará a versión anterior, non a modificada. | ||
| + | |||
| + | : Se agora facemos un '''git status''' veremos que indica que hai que confirmar un novo arquivo: | ||
| + | |||
| + | [[Imagen:Drupal_instalacion_git_4.jpg|300px|center]] | ||
| + | |||
| + | |||
| + | * Para confirmar o arquivo volveremos a executar a orde commit: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git commit -m "Drupal acabado de instalar cun arquivo (proba.txt) novo" | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | * Cambiade o contido do arquivo e volvede a facer un add e un commit. | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git commit -m "Drupal acabado de instalar cun arquivo (proba.txt) novo e modificado" | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | :<u>Nota:</u> Podedes facer non só paso engadir-confirmar coa orde: git commit '''-a''' -m "Drupal acabado de instalar cun arquivo (proba.txt) novo e modificado" | ||
| + | |||
| + | |||
| + | * Se agora executamos a orde: '''git log''' veremos os commit realizados cun ID que os identifica. | ||
| + | [[Imagen:Drupal_instalacion_git_5.jpg|300px|center]] | ||
| + | |||
| + | : Se engadimos a opción '''-p''' á orde git log, amosará as diferenzas entre as versións. | ||
| + | |||
| + | * Para 'reverter' o estado a un anterior só temos que anotar o ID do estado ao que queremos volver e executar a orde: | ||
| + | ::<syntaxhighlight lang="java" enclose="div" highlight="" > | ||
| + | git checkout id_copiado_do_paso_anterior | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | |||
| + | * Tamén ides poder aloxar repositorios remotos (aloxados en Internet) como en [https://github.com/ GitHub]. Ditos repositorios son públicos (hai que pagar para ter un privado). | ||
| + | : Podedes consultar un pequeno manual de como usalo: https://git-scm.com/book/es/v1/Fundamentos-de-Git-Trabajando-con-repositorios-remotos | ||
| + | |||
| + | == Documentación == | ||
| + | |||
| + | * <u>'''NOTA:'''</u> '''Esta sección está asociada á realización dun EXERCICIO.''' | ||
| + | |||
| + | A documentar: | ||
| + | |||
| + | === Servidor web === | ||
| + | |||
| + | * Nome do dominio elixido e a onde apunta fisicamente (en caso de facer subdominios facelo constar) | ||
| + | * Software utilizado para a instalación do CMS (que servidor web/versión, que versión de PHP,...) | ||
| + | * Cambios realizados nos arquivos de configuración Apache. | ||
| + | |||
| + | === Mysql === | ||
| + | |||
| + | * Indicar a versión do Mysql utilizada. | ||
| + | * Nome da base de datos que vai aloxar o Drupal. | ||
| + | * Nome e password do usuario que vai ter acceso á base de datos. | ||
| + | * Cambios realizados nos arquivos de configuración do servidor de bases de datos. | ||
| + | |||
| + | === FTP === | ||
| + | |||
| + | * No caso de utilizar un servizo de ftp: | ||
| + | |||
| + | :* Nome do usuario / password para acceso ao sitio web. | ||
| + | :* URL para acceder ao sitio web. | ||
| + | |||
| + | === SSH === | ||
| + | |||
| + | * No caso de utilizar un servizo ssh: | ||
| + | |||
| + | :* Nome do usuario / password para acceso ao sitio web. | ||
| + | |||
| + | |||
| + | === Novos módulos === | ||
| + | |||
| + | * No caso de instalar novos módulos: | ||
| + | :* Indicar o nome do módulo e funcionalidade perseguida. | ||
| + | :* Indicar as modificacións realizadas na configuración do módulo. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
Revisión actual del 13:43 24 abr 2018
Sumario
Instalación do paquete XAMPP
Importante: Se tedes instalado previamente o servidor web apache ou o servidor de bases de datos mysql, deberedes parar os servizos coa orde:
- Linux:
- sudo service apache2 stop
- sudo service mysql stop
- Windows: Escribimos en inicio => executar: services.msc e buscamos os servizos de Apache e Mysql, parando os dous.
- En Windows podemos ter outros programas que fagan uso do porto 80 como:
- "SQL Server Reporting Services (MSSQLSERVER)" ou en español "Servicio de reporte de SQL Server" se temos instalado o servidor de bases de datos SQLServer
- "Web Deployment Agent Service" ou "Servicio agente de implementacion Web"
- Xampp é un software que unha vez instalado teremos de vez: Servidor Web Apache, servidor de base de datos Mysql, PHP e Perl.
- En Linux o paquete denomínase LAMPP.
- Nota: En Windows dispoñemos doutro paquete parecido denominado WampServer ou WAMP que soamente ten versión para Windows
- Se decides instalar XAMPP para correr Drupal debedes verificar a versión de PHP que trae o paquete por se non cumpre os requerimentos de Drupal.
En LINUX
- Para instalalo teremos que:
- Descargar a versión que nos interese dende este enlace.
- Podemos facelo coa seguinte orde (é un exemplo:: sudo wget https://www.apachefriends.org/xampp-files/5.6.24/xampp-linux-x64-5.6.24-1-installer.run
- Se o descargado a un tar.gz:
- Descomprimir o arquivo baixado coa orde: sudo tar xvfz xampp-linux-1.8.0.tar.gz -C /opt.
- Se o descargado e un arquivo sh:
- Cambiar os permisos sobre o arquivo para poder executalo: sudo chmod 755 xampp-linux-x64-5.6.24-1-installer.run
- Executar o arquivo: sudo ./xampp-linux-x64-5.6.24-1-installer.run
- Unha vez descargado podemos iniciar Lampp (inicia o servidor web e o mysql) coa orde: sudo /opt/lampp/lampp start.
- Se queremos ver o estado dos servidores podemos executar a orde: sudo /opt/lampp/manager-linux-x64.run &.
- Aparecerá a seguinte pantalla onde debemos ter iniciados os servizos de Apache e Mysql.
- Fixarse que dende o frontal anterior podedes acceder aos arquivos de configuración de Apache e Mysql que se atopan respectivamente en /opt/lampp/etc/httpd.conf e /opt/lampp/etc/my.cnf
En WINDOWS
- Instalando Xampp en Windows
Imos a páxina de ApacheFriends e descargamos o Xampp para a nosa plataforma.
- No panel de control podemos iniciar os servizos que van permitir que funncione o Apache e o Mysql.
Creación da base de datos e usuario
- Drupal vai necesitar unha base de datos para gardar toda a información que necesita ademáis dun usuario/password que teña acceso a dita base de datos.
- Para creala seguide este enlace.
Instalación de Drupal
- Continuade neste enlace para instalar Drupal, unha vez teñades creada a base de datos e o usuario indicado no punto anterior.
Instalando por separado cada compoñente
- Se non optamos por instalar o paquete XAMPP teremos que instalar separadamente:
- Servidor web Apache
- Activar o soporte para PHP.
- Servidor de bases de datos Mysql
- Unha ferramenta gráfica para administrar o servidor de base de datos (MysqlWorkBech)
Nota: Se estamos nun aloxamento compartido non teremos que instalar o Apache+PHP e o Mysql. Neste caso, para xestionar a base de datos teremos a mesma ferramenta que no caso do Xampp, o MysqlQueryBrowser).
Instalación do Apache
- Máis información neste enlace.
LINUX
- Nota: Se tedes instalado Lampp é necesario que os servizos de Apache e Mysql estean parados.
- Nunha consola de comandos executaremos:
sudo apt-get update sudo apt-get install apache2
- Unha vez instalado aparecerá a seguinte pantalla se no navegador de Internet escribimos na URL: http://localhost.
- Por defecto apache vai buscar as páxinas que se atopan no cartafol: /var/www/html.
Arquivos de configuración
- IMPORTANTE: Calquera cambio nos arquivos de configuración de apache será necesario reiniciar o servizo coa orde:
service apache2 restart
- Arquivo de configuración: apache2.conf
- Dito arquivo pode variar de nome e lugar dependendo da versión de Apache utilizada.
- Para saber a versión de Apache podemos escribir dende o terminal: sudo apache2 -version producindo unha saída como a seguinte:
- Nesta versión o arquivo de configuración principal atópase:
- Cartafol /etc/apache2/
- Nome: apache2.conf
- Este arquivo vai cargar a súa vez outros arquivos de configuración que veremos despois.
- Dentro deste arquivo os parámetros máis importantes son:
- ServerRoot: É o lugar onde está 'apuntando' fisicamente o servidor web. É o cartafol onde vai buscar as páxinas.
- User ${APACHE_RUN_USER}
- Group ${APACHE_RUN_GROUP}
- O servidor web execútase utilizando un usuario da máquina onde se atopa instalado e cos permisos de dito usuario.
- Para saber os valores de ditas variables podemos editar o arquivo /etc/apache2/envars:
- export APACHE_RUN_USER=www-data
- export APACHE_RUN_GROUP=www-data
- Se non temos acceso a ditos arquivos podemos saber o usuario e grupo coa orde:
ps aux | grep apache # para Apache 2.x ps aux | grep httpd # para Apache 1.x
- O arquivo /etc/apache2/apache2.conf carga a súa vez outros arquivos de configuración.
- Arquivo de configuración: ports.conf
Listen 80 <IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
- Liña 1: Indicamos en que porto vai escoitar o servidor web o tráfico non seguro. Por defecto é o 80.
- Liñas 4 e 8: Se temos cargado o módulo que permite tráfico SSL aquí indicamos o porto onde vai escoiter (por defecto o 443)
- Outros arquivos de configuración: /etc/apache2/conf-enabled/
- Todo o que haia neste cartafol será 'cargado' polo apache. Normalmente son enlaces simbólicos (accesos directos en Windows) a arquivos que se atopan fisicamente en /etc/apache2/conf-avaliable.
Sitios Web
- Un servidor apache vai apuntar fisicamente por defecto a un cartafol (no noso caso a /var/www/html/).
- Pero ademais pode:
- Ter varios sitios web (URL) apuntando ao mesmo servidor web.
Varios sitios web apuntando ao mesmo servidor web
- Isto se consegue no arquivo de configuración /etc/apache2/sites-available/000-default.conf
- Dito arquivo é cargado xa que existe un enlace simbólico no cartafol: /etc/apache2/sites-enable/
- Calquera enlace simbólico que poñamos nese cartafol levará consigo que Apache cargue dito arquivo de configuración.
- Se editamos dito arquivo podemos ver:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All </Directory>
- Liña 1: Sección VirtualHost onde indicamos que imos escoitar no porto 80 todas as peticións da calquera URL que chegue ao servidor web.
- Liña 3: Indicamos onde se atopa fisicamente o cartafol onde apunta este virtualhost.
- Nas liñas 9-12 fan referencia a unha serie de parámetros que son aplicados sobre o cartafol ao que estar apuntando o virtualhost. Máis información neste enlace.
- Comentar que a liña 11 indica que os parámetros de o arquivo de configuración do Apache poden ser reemplazados polos que se atopen nun arquivo de nome .htaccess (necesario para os aloxamentos compartidos).
- Sempre temos que ter unha sección <Directory> por cada <VirtualHost>.
ServerName
- ServerName é un parámetro que se engade no arquivo de configuración de Apache e lle indica a IP ou o nome web co que vai a recibir peticións web. Pódese poñerse a nivel 'global' no arquivo apache2.conf ou dentro da sección <virtualhost>.
- Normalmente para ter un sitio web teremos que ter contratado un dominio válido en Internet que estará apuntando a IP onde temos instalado o servidor Web Apache.
- Como o estamos a facer localmente, engadiremos ao arquivo /etc/hosts un dominio 'ficticio' (imos engadir dous):
127.0.0.1 localhost 127.0.1.1 angel-VirtualBox www.meusitio.es www.outrositio.es
- Agora se facemos un ping dende un terminal: ping www.meusitio.es debería contestar coa ip 127.0.0.1
- Engadimos a liña: ServerName www.meusitio.es ao arquivo httpd.conf e reiniciamos o servizo.
- Agora deberíamos poder poñer na URL do navegador: http://www.meusitio.es e cargará a páxina por defecto.
- Sen embargo se poñemos: http://www.outrositio.es tamén a carga. Isto é debido a que Apache sempre vai cargar un <virtualhost> por defecto.
- Se dito 'default' virtualhost non está especificado cargará sempre o primeiro da lista.
- Para facer que cada un vaia a un cartafol diferente temos que duplicar a entrada <virtualhost>, unha por cada URL a atender:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/meusitio ServerName www.meusitio.es ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/outrositio ServerName www.outrositio.es ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- No exemplo estamos indicando que
- www.meusitio.es => /var/www/html/meusitio
- www.outrositio.es => /var/www/html/outrositio
- Ditos cartafoles teñen que estar creados e con permisos para que o usuario-grupo de apache (www-data:www-data) poda acceder.
- Reiniciar o servizo.
Varias IP´s atendendo a sitios diferentes/mesmo sitio
- Dentro da sección 'VirtualHost' podemos indicar que IP vai a ir a que sección.
- Pode darse o caso de que o equipo onde está o servidor Web teña dúas o máis tarxetas de rede e cada unha delas pode atender a determinadas peticións.
<VirtualHost 192.168.1.1:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/meusitio ServerName www.meusitio.es ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost 172.1.1.10:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/outrositio ServerName www.outrositio.es ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- No exemplo supoñemos que o equipo está configurado con dúas tarxetas de rede, unha coa dirección 192.168.1.1 e a outra coa dirección 172.1.1.10
Alias
- Os alias que veñen ser nomes que van a continuación da URL pero que apuntan fisicamente a outro sitio no disco.
- Por exemplo, se poñemos http://www.meusitio.es/tenda, isto iría ao cartafol /var/www/html/tenda, pero se no arquivo de configuración de apache creo un alias de nome 'tenda' podo apuntar a outro cartafol diferente.
- Para crear un alias:
- Editamos o arquivo /etc/apache2/sites-available/000-default.conf.
- Engadimos dentro da sección <virtualhost>: alias /nome_alias /cartafol_onde_apunta
- Por exemplo: alias /tenda_electr /var/www/html/tenda_electronica
- Para crear un alias:
- Lembrar reiniciar o servizo.
- Máis exemplos neste enlace.
WINDOWS
- Para poder executar Apache en Windows é necesario ter instalado unha serie de librerías relacionadas con VC++.
- Debemos descargar o paquete software Visual C++ Redistributable Packages e instalalo.
- Descargamos o servidor web Apache.
- Na súa páxina web, sen embargo, a fundación Apache Software só pon a disposición o código fonte. Os arquivos binarios executables para Windows atópanse en páxinas como Apache Lounge ou Apache Haus.
- Movemos o cartafol 'Apache24' ó cartafol 'C:\'
- Desprazámonos ao cartafol C:\apache24\bin e executamos o arquivo httpd.exe.
- Aparecerá un aviso do firewall de windows preguntando se queremos permitir que se conecten a apache. Prememos a opción Permitir acceso.
- Aparecerá unha ventá en negro de consola.
- Agora mesmo o servidor web xa estaría funcionando. Podedes comprobalo se ides a unha ventá do navegador y escribides na url: http://localhost
- O arquivo de configuración do servidor web apache é httpd.conf que se atopa no cartafol /Apache24/conf.
- En dito arquivo podemos atopar a directiva DocumentRoot que indica a carpeta física a onde 'apunta' o servidor web apache cando poñemos na url localhost.
- Agora mesmo o servidor web apache non está instalado coma servizo (quere isto dicir que non se inicia automaticamente ao iniciar o computador). Cada vez que se queira utilizar ai que executar o arquivo httpd.exe. Cando non se queira usar se pode cerrar a ventá negra da consola.
- Se se quere instalar como servizo habería que executar a orde: httpd.exe -k install dende unha consola de windows.
- Para máis información sobre o arquivo de configuración de Apache podedes ver a sección anterior dunha instalación Linux desta mesma páxina.
Instalación do PHP
LINUX
- Drupal require o PHP 5.5.9 como vimos nos requirimentos mínimos.
Versións baseados en Ubuntu 14.04 ou anteriores
- Para instalar o PHP escribiremos o seguinte nunha consola:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-cli
Versións baseados en Ubuntu 16.04 ou superiores
- Nestas versións se podería instalar os paquetes de versións anteriores de PHP, pero por defecto xa ven coa versión PHP7.
apt-get install libapache2-mod-php
- Para instalar as dúas versións de PHP (ver 7 e 5.6) deberemos:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0
- Para pasar dunha versión de PHP a outra:
- Pasamos dende a 5.6 á 7
sudo a2dismod php5.6 sudo a2enmod php7.0 sudo service apache2 restart
- Pasamos dende a 7 á 5.6
sudo a2dismod php7.0 sudo a2enmod php5.6 sudo service apache2 restart
- Actualizaremos o arquivo dir.conf e engadiremos index.php ao principio:
- sudo nano /etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule>
- Reiniciamos o servizo: sudo service apache2 restart
- Para comprobar se está ben instalado podemos crear un arquivo: /var/www/html/index.php
<?php phpInfo(); ?>
- E cargar a páxina dende o navegador escribindo na URL: http://localhost/index.php.
- Obteremos o seguinte:
- Indicar que nesta saída obtemos o lugar onde se atopa o arquivo de configuración de php, que neste caso é /etc/php5/apache2/php.ini
WINDOWS
- Debemos descargar a versión Thread Safe desde enlace
- Unha vez descargada e descomprimida, movemos o cartafol a C:\ e renomeamos o seu nome a php, quedando todo no cartafol c:\php
- Copiamos e pegamos o arquivo php.ini-development dándolle de nome php.ini.
- Engadimos no arquivo httpd.conf do servidor web apache as seguintes liñas:
1 LoadModule php7_module "c:/php/php7apache2_4.dll" 2 AddType application/x-httpd-php .php 3 4 # configure the path to php.ini 5 PHPIniDir "C:/php"
- Modificamos a liña:
1 <IfModule dir_module> 2 DirectoryIndex index.html 3 </IfModule>
por
1 <IfModule dir_module> 2 DirectoryIndex index.php index.html 3 </IfModule>
Nota: Será necesario reiniciar o servidor web Apache para que colla os cambios.
Desactivando a visualización de erros
- É importante non facilitarlle 'pistas' aos posibles atacantes do noso sitio web, polo que normalmente deberemos desactivar a visualización de mensaxes de erro en PHP.
- Isto se fai coa directiva display_erros do arquivo 'php.ini'.
- Algúns aloxamentos compartidos van permitir activar/desactivar dita directiva para o noso sitio web, como podemos ver na seguinte imaxe:
- Tamén podemos desactivar/activar dita opción a través do arquivo .htaccess do noso aloxamento.
- Sempre que teñamos un sitio web en Internet funcionando deberemos desactivar dita directiva.
Módulos en PHP
- Php ten a posibilidade de instalar 'módulos' para ampliar as súas funcionalidades.
- Para obter a lista de módulos: sudo apt-cache search php5-
- Para instalar un dos módulos da lista: sudo apt-get install nome_do_modulo
- No noso caso é necesario instalar o módulo php5-gd. Escribiremos o seguinte código:
sudo apt-get install php5-gd sudo service apache2 restart
Instalación e configuración do Mysql
LINUX
Instalación
Versións baseados en Ubuntu 14.04 ou anteriores
- Executaremos as seguintes ordes nun terminal:
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
Versións baseados en Ubuntu 16.04 ou superiores
sudo apt install mysql-server mysql-client
Nota: Se vos da un erro durante a instalación probade a facer o que está indicado nesta entrada de blog.
Proceso de instalación
- Aparecerá unha pantalla onde se nos solicita o password que terá o usuario 'root'. Lembrade escoller un password complexo.
- Se a versión de Mysql é inferior a 5.7.6, debemos executar un script para que cre as base de datos necesarias para o seu funcionamento:
sudo mysql_install_db
- En caso de ter unha versión igual ou superior xa non é necesario facelo. Neste caso, se queremos facer unha nova instalación teremos que executar o código:
sudo mysqld --initialize
- Executaremos un script de setup coa orde;
sudo /usr/bin/mysql_secure_installation
- Preguntará:
- Se queremos instalar o PLUGIN_VALIDATE para obrigar a que as contrasinais dos usuarios sexan seguras. Podedes escoller o que queirades, pero se estades practicando escollede N para así poder poñer contrasinais sinxelas.
- Pola contrasinal do usuario root (introducida anteriormente): A escribiremos.
- Change the root password? [Y/n]: Se queremos cambiar o password de root: premeremos 'no'.
- Remove anonymous users? [Y/n]: Se queremos eliminar o acceso anónimo ao Mysql: Contestaremos que si (y).
- Disallow root login remotely?: Contestar y.
- Remove test database and access to it: Contestar y.
- Reload privilege tables now? [Y/n]: Contestar y.
- Unha vez instalado o arquivo de configuración do mysql se atopa en:
- Apache: /etc/mysql/my.cnf
- XAMPP: /opt/lampp/etc/my.cnf
- Dentro deste arquivo podemos cambiar o porto por defecto (3306) no que escoite o servizo de mysql, indicar a tarxeta de rede (a ip) que está facendo uso do servizo,etc...
- Agora necesitamos un programa para poder xestionar o servidor Mysql.
- Temos dúas opcións:
- MySqlWorkBench: É un programa.
- Phpmyadmin: é un sitio web que se carga a través do navegador. Utilizado nos aloxamentos compartidos e na paquete XAMPP.
Instalación do frontend MysqlWorkBech
- WorkBench é un programa que vai permitir xestionar todo o Mysql, dende ás bases de datos ata os usuarios. Se estamos nun aloxamento compartido, teremos como ferramenta o phpmyadmin (que ven có paquete XAMPP, explicado despois).
- Nota: Máis información neste enlace.
- O MysqlWorkBench é unha ferramenta gráfica que vai permitir xestionar o Mysql así como as súas bases de datos.
- Para instalalo escribiremos a seguinte orden dende un terminal: sudo apt-get install mysql-workbench
- Ao facelo teremos un novo programa como amosa a seguinte imaxe (tamén podemos invocalo dende o terminal escribindo: sudo mysql-workbench):
- Para poder utilizalo teremos que crear unha conexión ao servidor Mysql instalado previamente. Para iso seguiremos os seguintes pasos:
- Utilizando o MySqlWorkBench
Instalación do phpmyadmin
- Phpmyadmin é unha aplicación web que se carga como se fora unha páxina dende o navegador utilizando o servidor web Apache.
- É a ferramenta que se utiliza nos aloxamentos compartidos de Internet e a que ven co paquete LAMPP.
Nota: Se estamos a utilizar LAMPP xa non teremos que instalalo e poderemos acceder a esta ferramenta accedendo á URL: http://localhost
- Instalando phpmyadmin
A instalación da base de datos anterior leva asociada un usuario e password. Pídese a contrasinal (pedirá confirmación). Non a imos necesitar polo que podemos deixala baleira e xerará unha automaticamente. A segunda pregunta debemos de contestar a contrasinal do usuario root posta anteriormente. Se non equivocamos podemos reintentar a instalación e poñer a contrasinal de root.
Unha vez instalado xa podemos ir a un navegador web e escribir a URL: http://localhost/phpmyadmin. Atención O usuario que se pide é root e o password é o que indicaramos cando instalamos o mysql (non é o password do punto anterior).
WINDOWS
- Seguir este enlace para descargar e instalar Mysql e WorkBench, pero tendo en conta que na primeira opción deberedes escoller Custom e escoller o seguinte software para instalar:
- Desta forma xa non tedes que seguir a entrada anterior cando mande descargar o Mysqlworkbench, xa que estará instalado.
- Importante: Fixarse que na páxina de descarga debemos escoller a opción msi.
- Prememos dúas veces sobre o arquivo descargado e comeza o proceso de instalación.
- Se durante a instalación informa que non está instalado o paquete VC++ Redistribuible 2013, debemos instalalo previamente dende este enlace.
- Con isto acabaría a instalación do Mysql. No caso de querelo usar xunto cun CMS (por exemplo DRUPAL) deberedes de crear unha base de datos e un usuario de acceso á mesma.
PhpMyAdmin
- Temos que ter instalado o PHP para Apache previamente (está nun punto anterior desta páxina).
- Debemos descomentar as liñas (quitarlles o punto e coma inicial) no arquivo php.ini do cartafol onde estea instalado o php:
1 extension=php_mbstring.dll 2 extension=php_mysqli.dll
Nota: Será necesario reiniciar o servidor web Apache para que colla os cambios.
- Unha vez feito, debemos descargar o PhpMyAdmin dende este enlace.
- Descomprimimos o arquivo e copiamos o cartafol ao cartafol indicado pola directiva DocumentRoot de Apache, que se seguides este manual é C:\apache24\htdocs
- Unha vez copiada accederemos ao phpmyadmin poñendo na URL dun navegador: http://localhost/phpmyadmin
Configuración
- A continuación teríamos que crear a base de datos e un usuario con acceso á mesma. Isto está explicado a continuación xa que a mesma ferramenta(phpmyadmin) o ten o paquete XAMPP.
- Cando instalemos o Drupal, este vai facer uso dunha base de datos. Imos crear dita base de datos e un usuario que teña permisos sobre dita base de datos.
Con XAMPP => phpmyadmin
- Creando unha base de datos e un usuario para drupal
Usando xampp: Abrimos un navegador e escribimos na url: http://localhost e seleccionamos o elemento de menú phpMyAdmin.
Con MysqlWorkBench
- O MysqlWorkBench é unha ferramenta que vai permitir xestionar o servidor Mysql.
- Podemos descárgalo e ver as súas características neste enlace.
- Faremos os seguintes pasos para crear unha base de datos en Mysql e un usuario con acceso a mesma.
- Isto o necesitará Drupal para poder funcionar. Deixado por tanto anotados o nome de usuario, password e noma da base de datos (schema).
- Creando unha base de datos e un usuario en Mysql
Instalación do Drupal
Pasos previos
- Primeiro debemos descargar a versión do drupal que queiramos.
- Accedemos a https://www.drupal.org/project/drupal e escollemos a versión a descargar.
- Graficamente, escollemos a versión dende o navegador e a descargamos.
- Dende consola en Lunix coa orden: wget https://ftp.drupal.org/files/projects/drupal-8.2.3.tar.gz (Nota: Teredes que baixar a última versión estable. Esta é un exemplo. Para saber cales hai podedes visitar este enlace no que aparecen as versión para Drupal 8).
- Se estamos en Windows o facemos todo graficamente.
- Unha vez descargada a descomprimimos:
- Graficamente, premendo dúas veces e descomprimíndoa.
- Dende consola en Linux coa orde: tar -zxvf drupal-8.1.8.tar.gz
- Onde se move o cartafol descomprimido do drupal.
- Se estamos a utilizar xampp:
- En Linux deberemos movelo ao cartafol /opt/lampp/htdocs/ coa orde: sudo mv cartafol_descomprimido_drupal /opt/lampp/htdocs.
- En Windows deberemos movelo ao cartafol C:\xampp\htdocs\
- Se estamos a utilizar un servidor web (como Apache) debemos movelo ao cartafol onde cargue os sitios web. Normalmente será /var/www/html/.
- ATENCIÓN O Drupal ten arquivos ocultos que empezan por '.' por exemplo .htaccess
- Se movemos os arquivos tede en conta que gráficamente poden aparecer ocultos.
- Se o facemos por consola lembrar poñer a orde: sudo mv /cartafol_drupal_comprimido/.* /cartafol_destino/
- Notas::
- Cando se descomprime, normalmente teremos o nome 'drupal-X.Y.Z'. Podemos cambiarlle o nome a ese cartafol por 'drupal' por exemplo e despois imos usalo no arquivo de configuración de Apache.
- O máis lóxico é que se implantades unha solución 'real' de Drupal teredes un dominio contratado. O recomendable é que o dominio apunte directamente a Drupal sen ter cartafoles polo medio.
- Así, o dominio http://www.meudominio.es debería apuntar a /var/www/html/drupal
- Existen formas (as empresas de aloxamento o permiten) de facer que un subdominio apunte a outro cartafol, así poderíamos ter:
- http://www.meudominio.es => /var/www/html/WEB
- http://www.meudominio.es/tenda => /var/www/html/DRUPAL (neste caso poderíamos ter unha tenda virtual configurada con Drupal).
- A outra forma é facelo sobre un cartafol dentro do sitio web, de forma que, se tivésemos un dominio:
- http://www.meudomonio.es => /var/www/html
- http://www.meudomonio.es/drupal => /var/www/html/drupal (cartafol dentro do dominio).
- Esta opción non é recomendable.
- Copia do arquivo de configuración.
- Drupal necesita un arquivo de configuración de nome settings.php que se atopa no cartafol do drupal/sites/default (en xampp sería /opt/lampp/htdocs/drupal/sites/default e en apache /var/www/html/drupal/sites/default).
- Deberemos copiar o arquivo default.settings.php que se atopa nese cartafol e copialo có nome settings.php.
- Deberemos cambiar os permisos do arquivo settings.php para que poida ser modificado. En Linux, poñeremos: sudo chmod 777 settings.php
- Nota: Este arquivo é moi importante xa que nel se garda non só parámetros de configuración do propio Drupal, se non o usuario, password e nome da base de datos Mysql. Cando se remate a instalación se indicará a necesidade de cambiar os permisos para que ninguén poida obter información do arquivo.
- Arquivos do idioma español.
- Durante a instalación podemos facer a instalación no idioma español. Será necesario ter creados uns cartafoles que por defecto non veñen.
- Nota: A partires da versión 8.3.2 de Drupal xa non é necesario crear estes cartafoles xa que o fai o asistente durante o proceso de instalación.
- Crear o cartafol /cartafol_drupal/sites/default/files e darlle permisos de escritura sudo chmod 2740 /cartafol_drupal/sites/default/files (có 2 facemos que os novos arquivos terán os permisos indicados).
- Crear o cartafol /cartafol_drupal/sites/default/files/translations.
- Se durante a instalación vos da un erro de que non pode conectarse ao servidor:
- Teredes que:
- Ir ao sitio web: Descarga traducciones Drupal.
- Descargade o arquivo de idioma (Spanish) => Fixarse na versión do CORE, que debe corresponderse coa versión de Drupal descargada.
- Copialo ao cartafol /cartafol_drupal/sites/default/files/translations
- Teredes que:
- Cambiando os permisos (soamente Linux).
- Se o fixemos graficamente, o dono dos arquivos será o teu usuario, e se o fixeches dende consola será root (se usaches a orde sudo).
- Imos cambiar o dono para que sexa o usuario que utiliza o apache para conectarse. Este é www-data (noutras distribucións teriades que identificar con que usuario se conecta) .
- Dende unha consola e con permisos sudo, executamos a orde: sudo chown -R www-data:www-data dir_drupal sendo 'dir_drupal' o cartafol onde se atopa drupal.
- Para saber o nome do usuario do servidor web Apache podemos escribir o seguinte nun terminal:
ps aux |grep apache # para Apache 2.x ps aux |grep httpd # para Apache 1.x
- Como salida teremos algo parecido a isto:
- Activación do opcache.
- Extensión de PHP para mellorar o tempo de xeración das páxinas php.
- En Lampp (Linux): Temos que editar o arquivo php.ini (se atopa en /opt/lampp/etc/php.ini) e engadir (ou descomentar a liña no caso de XAMPP): zend_extension=opcache.so e reiniciaremos o Apache.
- En Wampp (Windows): Editaremos o arquivo php.ini que se atopa en C:\xampp\php
- Engadimos a seguinte liña: zend_extension=php_opcache.dll
- Cambiamos o seguinte valor:
::[opcache] ; Determines if Zend OPCache is enabled opcache.enable=1
- Reiniciaremos o Apache.
- En Apache (sen XAMPP/LAMPP): Debemos editar o arquivo /etc/php5/apache2/php.ini e cambiar o seguinte código;
::[opcache] ; Determines if Zend OPCache is enabled ;opcache.enable=0
- Por
::[opcache] ; Determines if Zend OPCache is enabled opcache.enable=1
- Despois deberemos reiniciar o servidor apache para que colla a nova configuración coa orde: sudo service apache2 restart
- Activación do módulo mod_rewrite cunha instalación con Apache (non Lampp).
- Nota: Máis información neste enlace.
- Dito módulo serve para converter url en Drupal (ou noutros programas) do tipo "http://www.example.com/?q=node/83" a "http://www.example.com/node/83" permitindo ter URL máis amigables de ler e facendo que os buscadores poidan indexar ditas páxinas.
- Para activalo deberemos escribir o seguinte (se estamos nun servidor compartido seguramente o módulo xa estará activo):
sudo a2enmod rewrite
- Agora debemos indicar ao servidor Web que substitúa as URL por un formato máis amigable.
- No servidor Web deberá estar indicada a directiva que indica que se utilice o que estea posto no arquivo .htaccess do Drupal. No noso caso o indicaremos coas seguintes liñas (non servidor compartido xa estaría feito):
- * Editamos o arquivo /etc/apache2/sites-available/000-default.conf
- Escribimos o seguinte código:
- * Editamos o arquivo /etc/apache2/sites-available/000-default.conf
.... </VirtualHost> <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All </Directory>
- Reiniciamos o servizo
sudo service apache2 restart
Instalación
- Instalación de Drupal dende o navegador
Se instalamos o Drupal nun cartafol dentro do sitio web, escribimos na url do navegador a seguinte dirección: http://localhost/drupal sendo drupal o nome do cartafol que eliximos cando o movimos ao cartafol htdocs. Se modificamos o arquivo de configuración de Apache e configuramos unha URL que apunte directamente ao cartafol de Drupal, poñeremos na URL do navegador a URL do arquivo de configuración.
Eliximos o perfil Standard. Se durante este paso vos sae un erro que indique que xa chegou ao máximo tempo de execución permitido, deberedes de editar o arquivo php.ini (que en WAMPP está en C:\Instalación WAMPP\php\php.ini e en LAMPP está en /opt/lampp/php) e cambiar a entrada max_execution_time=30 por max_execution_time=90, reiniciar Apache e refrescar a páxina.
No seguinte paso introduciremos os datos da base de datos mysql (nome da base de datos, usuario e password) usados anteriormente. Fixarse que as 'Opcións avanzadas' están despregadas para que vexades a opción 'Prefijo del nombre de la tabla'. Esta opción se usuaria se ides utilizar unha base de datos Mysql xa existente e tedes táboas de outras aplicacións nese base de datos. Entón poñeríamos un prefixo (por exemplo drupal) e todas as táboas de drupal tería de nome drupal_nome. Desta forma poderiades distinguir cales son de drupal e cales das outras aplicacións...
Poñendo na Url do navegador: http://localhost/drupal xa podemos acceder ao sitio web do drupal.
Comprobacións trala instalación
- NOTA: Esta sección está asociada á realización dun EXERCICIO.
- Unha vez entramos no drupal có usuario administrador (creado durante a instalación).
- Comprobacións de que todo estea correcto
- Para solucionalo deberemos editar o arquivo de configuración (settings.php) de Drupal (que se atopa no cartafol do drupal/sites/default (en xampp sería /opt/lampp/htdocs/drupal/sites/default).
- Unha vez editado ao final do arquivo poñeremos as seguintes liñas:
$settings['trusted_host_patterns'] = array( '^www\.example\.com$', );
- Onde deberemos substituír www.example.com polo noso dominio. Respetada os caracteres '\' entre cada parte do dominio e o '$' no que acaba.
- No caso de estar a desenvolver localmente podemos substituír o dominio pola cadea localhost: '^localhost$',
- Unha vez cambiado podemos ir outra vez a o Informe de Estado e comprobar como xa non temos ningún indicador de perigo.
Modificando a directiva RewriteBase (soamente con Apache)
- O servidor web Apache 'apunta' a un determinado cartafol do disco duro. Así, por defecto, cando escribimos na URL do navegador 'http://meusitio.es' estaremos 'apuntando' a '/var/www/' (antes de Ubuntu 14.04) ou '/var/www/html/' (Ubuntu 14.04 e posteriores).
- Se instalamos Drupal dentro do cartafol /var/www/html/drupal deberemos modificar o arquivo /drupal/.htaccess e descomentar a seguinte liña:RewriteBase /drupal (quitar #), sendo '/drupal' o cartafol onde estamos instalando Drupal.
- Se usamos un alias de Apache da forma: 'http://meusitio.es/alias' deberemos facer o indicado anteriormente: RewriteBase /alias
- Se levamos o drupal ao raíz do sitio web, entón podemos poñer: RewriteBase /
- No noso caso:
- Se temos configurado o virtualhost do arquivo /etc/apache2/sites-enabled/000-default.conf e document_root apunta a /var/www/html
- Modificamos o arquivo /var/www/html/drupal/.htaccess e descomentamos a liña indicada:
RewriteBase /drupal
- Sendo /drupal o cartafol onde está instalado Drupal no servidor web (/var/www/html/).
- Se temos configurado o virtualhost do arquivo /etc/apache2/sites-enabled/000-default.conf e document_root apunta a /var/www/html/drupal
- Modificamos o arquivo /var/www/html/drupal/.htaccess e descomentamos a liña indicada:
RewriteBase /
- Reiniciamos o servidor Apache: sudo service apache2 restart
Configuración de permisos nos cartafoles de Drupal (con Apache e Linux)
- NOTA: Esta sección está asociada á realización dun EXERCICIO.
- Máis información neste enlace.
- Información dos diferentes permisos que se poden otorgar en Linux neste enlace.
- Grupo de Drupal sobre seguridade neste enlace.
- Se non temos asinados uns permisos adecuados a nivel de cartafol e de arquivos, podemos ter múltiples buratos de seguridade no noso sitio.
- Como vimos anteriormente, o arquivo '/sites/default/settings.php' debería ter o permiso 444=>rrr (podería ter 440=>r-- se sabemos que o servidor web (no noso caso apache nun Linux con Ubuntu) usa como usuario (no noso caso www-data) un que é propietario do arquivo installation.php).
- O resto de cartafoles e arquivos debería ter permisos de lectura pero non de escritura.
- Como norma xeral, poderíamos dicir que os cartafoles debería ter permisos 755 e os arquivos permisos 644, quitando as excepcións do cartafol /drupal/sites/default/files e o arquivo de configuración /drupal/sites/default/installation.php.
- find /drupal/ ! -type d -exec chmod 644 {} \;
- find /drupal/ -type d -exec chmod 755 {} \;
- Nota: Estes permisos xa deberían estar postos por defecto. Se os aplicades teredes que cambiar os permisos nas excepcións comentadas anteriormente.
- Para non ter que facer a comprobación manualmente podemos facer uso dun módulo que verifique que os permisos sexan os correctos. A continuación amosamos dous módulos de exemplo.
- Un posible script para cambiar os permisos de Drupal para que sexa totalmente seguro (isto o faríamos unha vez teñamos o Drupal funcionando e sen necesidade de cambiar nin instalar nada máis):
cd /RUTA_INSTALACION_DRUPAL/ -------------------(A CAMBIAR)------------------------ chown -R www-data:www-data * find . ! -type d -exec chmod 444 {} \; find . -type d -exec chmod 555 {} \; chmod -R 2740 sites/default/files chmod 440 sites/default/settings.php find . -name .htaccess -exec chmod 444 {} \;
- Se imos a estar traballando e instalando novas funcionalidades poderíamos aplicar este script:
cd /RUTA_INSTALACION_DRUPAL/ -------------------(A CAMBIAR)------------------------ chown -R www-data:www-data * find . ! -type d -exec chmod 644 {} \; find . -type d -exec chmod 755 {} \; chmod -R 2740 sites/default/files chmod 440 sites/default/settings.php find . -name .htaccess -exec chmod 444 {} \;
Instalación de Git
- Git é un software de control de versións.
- Podedes descargar o software para as diferentes plataformas neste enlace.
- Pode sernos útil para gardar o estado do drupal antes da instalación dun software que faga que Drupal deixe de funcionar. Nese caso podemos facer uso de Git para volver a deixar ao Drupal como estaba.
- Permite ter diferentes versións de proxectos sobre os que se fan modificacións no seus arquivos
- Garda ditos arquivos antes de facer as modificacións permitindo 'volver' ao estado anterior a facer ditas modificacións.
- Non garda a base de datos polo que teremos que facer copias de seguridade pola nosa conta.
- Tamén permite facer traballo colaborativo entre diferentes persoais traballando á vez sobre o mesmo proxecto.
- Nos o imos utilizar para gardar versións de Drupal antes de instalar novos módulos ou funcionalidades por se temos que volver a atrás en caso de problemas.
- Para instalalo temos que executar a seguinte orde dende unha consola ou terminal:
apt-get install git
- Unha vez instalado temos que crear un repositorio. Isto ven ser o lugar onde imos gardas as diferentes versións do Drupal.
- Para inicialo temos que situarnos no raíz do sitio web de drupal, no noso caso: /var/www/html/drupal e executar a seguinte orde:
git init
- Obteremos o seguinte resultado:
- Creouse un novo cartafol: /var/www/html/drupal/.git
- Para o seu funcionamento, git debe ter rexistrado unha conta de correo e un nome de usuario. Podemos ter o mesmo para todos os proxectos ou podemos especificar nomes diferentes.
- No noso caso, as ordes son:
git config --global user.name "O teu nome" git config --global user.email oteucorreo@prueba.es
- Agora debemos engadir os arquivos ao repositorio. Agora mesmo está baleiro, polo que imos engadir todos os arquivo do cartafol drupal (escribide o punto despois do parámetro -A):
git add -A .
- Agora podemos ver os arquivos 'engadidos' ao repositorio:
git status
- Fixarse que saen todos os arquivos de Drupal, pero estes arquivos non están CONFIRMADOS. En git, ata que non se confirmen non son 'incluídos' no repositorio.
- É importante lembrar que ata non se faga un commit dos arquivos (confirmación) estes non serán gardados realmente e non poderemos ir atrás no estado de Drupal.
- Para confirmar os arquivos executaremos a seguinte orde:
git commit -m "Drupal acabado de instalar"
- Se agora facemos un git status indicará que non hai nada novo que confirmar:
git status
- Resultado
Recuperando un estado anterior
- Crear un novo arquivo dentro do sitio web de Drupal. No exemplo eu vou crear un de nome 'proba.txt'.
- Se agora executades a orde git status podedes observar como informa de que hai un arquivo modificado:
- Agora imos engadir dito arquivo ao repositorio, como fixemos antes:
- Imos ver agora como podemos restaurar o sitio web Drupal a un estado anterior.
git add proba.txt
- Nota: Podemos engadir todos os arquivos de vez có parámetro -A como fixemos ao principio.
- Importante Tedes que facer o add sempre antes de facer o commit, xa que se modificados un arquivo despois de facer o add, se gardará a versión anterior, non a modificada.
- Se agora facemos un git status veremos que indica que hai que confirmar un novo arquivo:
- Para confirmar o arquivo volveremos a executar a orde commit:
git commit -m "Drupal acabado de instalar cun arquivo (proba.txt) novo"
- Cambiade o contido do arquivo e volvede a facer un add e un commit.
git commit -m "Drupal acabado de instalar cun arquivo (proba.txt) novo e modificado"
- Nota: Podedes facer non só paso engadir-confirmar coa orde: git commit -a -m "Drupal acabado de instalar cun arquivo (proba.txt) novo e modificado"
- Se agora executamos a orde: git log veremos os commit realizados cun ID que os identifica.
- Se engadimos a opción -p á orde git log, amosará as diferenzas entre as versións.
- Para 'reverter' o estado a un anterior só temos que anotar o ID do estado ao que queremos volver e executar a orde:
git checkout id_copiado_do_paso_anterior
- Tamén ides poder aloxar repositorios remotos (aloxados en Internet) como en GitHub. Ditos repositorios son públicos (hai que pagar para ter un privado).
- Podedes consultar un pequeno manual de como usalo: https://git-scm.com/book/es/v1/Fundamentos-de-Git-Trabajando-con-repositorios-remotos
Documentación
- NOTA: Esta sección está asociada á realización dun EXERCICIO.
A documentar:
Servidor web
- Nome do dominio elixido e a onde apunta fisicamente (en caso de facer subdominios facelo constar)
- Software utilizado para a instalación do CMS (que servidor web/versión, que versión de PHP,...)
- Cambios realizados nos arquivos de configuración Apache.
Mysql
- Indicar a versión do Mysql utilizada.
- Nome da base de datos que vai aloxar o Drupal.
- Nome e password do usuario que vai ter acceso á base de datos.
- Cambios realizados nos arquivos de configuración do servidor de bases de datos.
FTP
- No caso de utilizar un servizo de ftp:
- Nome do usuario / password para acceso ao sitio web.
- URL para acceder ao sitio web.
SSH
- No caso de utilizar un servizo ssh:
- Nome do usuario / password para acceso ao sitio web.
Novos módulos
- No caso de instalar novos módulos:
- Indicar o nome do módulo e funcionalidade perseguida.
- Indicar as modificacións realizadas na configuración do módulo.
-- Ángel D. Fernández González -- (2016).

