Drupal 8

From Wiki-Fou
Revision as of 18:40, 1 March 2016 by Bart (talk | contribs) (En este documento vamos a ver cómo hacer una instalación limpia de drupal 8 en local para desarrollo. De manera que nos sirva para el desarrollo de la web de Calafou.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Lo primero es comprobar que cumplimos los requerimientos de PHP en el servidor. Drupal 8 es un software reciente y necesita una versión de PHP actual que soporte las nuevas características del lenguaje. Ver: https://www.drupal.org/requirements/php#8

Drush Lo segundo a hacer es instalar drush. Drush es una especie de navaja suiza, un asistente para drupal 8 que permite hacer una cantidad importante de operaciones de mantenimiento y configuración desde línea de comando. Una vez empiezas a usarlo no hay marcha atrás: http://docs.drush.org/en/master/install/

wget http://files.drush.org/drush.phar php drush.phar core-status chmod +x drush.phar sudo mv drush.phar /usr/local/bin/drush drush init

Descargar drupal 8 Usamos drush para ello. 'dl' es el comando de drush que sirve para descargar el core y módulos de drupal. Las buenas prácticas aconsejan que la raíz del proyecto no sea la raíz de la web. Sino que ésta última sea una subcarpeta llamada public_html. De esta manera tenemos la web y una carpeta raíz inaccesible desde fuera, donde podemos guardar backups, archivos temporales, archivos de configuración, etc. Nos vamos a /var/www, creamos una carpeta para nuestro proyecto (por ejemplo d8 y descargamos el core dentro):

mkdir d8 && cd d8 drush dl drupal-8

Renombramos la carpeta que hemos descargado a public_html y ya tenemos el esqueleto de la web.

Configuración previa a la instalación y política de permisos

Previo a ejecutar el script de instalación hemos de hacer unos pasos previos: 0- Ajustamos permisos para que el drupal sea seguro. Para ello tenemos que poner como propietario de todos los archivos a nuestro user y como grupo a www-data (apache). Una vez hecho eso quitamos permisos de escritura a apache sobre todos los archivos: sudo chown mi-usuario:www-data /var/www/d8/public_html -R sudo chmod g-w /var/www/d8/public_html -R 1- Nos vamos a sites/default y copiamos el archivo default.settings.php a settings.php cp default.settings.php settings.php 2- En la misma carpeta creamos la carpeta files mkdir files 3- Añadimos permisos de escritura sobre files y settings a apache: sudo chmod g+w files settings.php

Configurar el virtual host Lo primero es añadir un nombre de dominio para trabajar cómodamente: sudo vi /etc/hosts (vi, gedit, sublime, nano, atom, brackets... lo que sea) añadimos una línea con la IP de localhost y el nombre de dominio que queramos usar: 127.0.0.1 d8.local #yo suelo usar este tipo de nombre Y ahora tenemos que añadir la configuración del virtual host a apache: Nos vamos a /etc/apache2/sites-available y copiamos el archivo que viene de ejemplo: cd /etc/apache2/sites-available sudo cp 000-default.conf d8.local.conf #no es mala idea poner la ruta como nombre para evitar equívocos Una vez allí configuramos para que la ruta d8.local apunte a la carpeta que hemos creado y ponemos un nombre correcto a los logs de apache (en /var/log/apache2): <VirtualHost *:80>

   ServerName d8.local
   DocumentRoot /var/www/d8/public_html
   ErrorLog ${APACHE_LOG_DIR}/d8.error.log

CustomLog ${APACHE_LOG_DIR}/d8.access.log combined </VirtualHost>

Configurar htaccess .htaccess es un archivo que permite la sobreescritura local de las configuraciones de apache. Tenemos dos opciones: a) Dejamos el archivo que viene con drupal y damos permiso desde el archivo de configuración anterior para que este pueda sobreescribirlo. b) Incluimos todos los contenidos del archivo anterior en la conf y borramos el htaccess. La aconsejable es la segunda porque quitamos un poquito de sobrecarga al servidor, pero los dos son válidos.ç

Opción a: <VirtualHost *:80>

   ServerName d8.local
   DocumentRoot /var/www/d8/public_html
   #Añadimos esto:
   <Directory /var/www/d8/public_html>
     order allow, deny
     AllowOverride all
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/d8.error.log

CustomLog ${APACHE_LOG_DIR}/d8.access.log combined </VirtualHost>

Opción b: <VirtualHost *:80>

   ServerName d8.local
   DocumentRoot /var/www/d8/public_html
   #Añadimos esto:
   <Directory /var/www/d8/public_html>
     # Contenidos del archivo .htaccess
   </Directory>
   ErrorLog ${APACHE_LOG_DIR}/d8.error.log

CustomLog ${APACHE_LOG_DIR}/d8.access.log combined </VirtualHost>