Drupal 8: Difference between revisions

From Wiki-Fou
No edit summary
No edit summary
Line 1: Line 1:
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.
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
Ver: https://www.drupal.org/requirements/php#8


Line 5: Line 6:
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:
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/
#http://docs.drush.org/en/master/install/
wget http://files.drush.org/drush.phar
wget http://files.drush.org/drush.phar
php drush.phar core-status
php drush.phar core-status
chmod +x drush.phar
chmod +x drush.phar
sudo mv drush.phar /usr/local/bin/drush
sudo mv drush.phar /usr/local/bin/drush
drush init
drush init


'''Descargar drupal 8'''
'''Descargar drupal 8'''
Line 18: Line 19:
Nos vamos a /var/www, creamos una carpeta para nuestro proyecto (por ejemplo d8 y descargamos el core dentro):
Nos vamos a /var/www, creamos una carpeta para nuestro proyecto (por ejemplo d8 y descargamos el core dentro):


mkdir d8 && cd d8
mkdir d8 && cd d8
drush dl drupal-8
drush dl drupal-8


Renombramos la carpeta que hemos descargado a public_html y ya tenemos el esqueleto de la web.
Renombramos la carpeta que hemos descargado a public_html y ya tenemos el esqueleto de la web.
Line 29: Line 30:
Una vez hecho eso quitamos permisos de escritura a apache sobre todos los archivos:
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 chown mi-usuario:www-data /var/www/d8/public_html -R
sudo chmod g-w /var/www/d8/public_html -R
sudo chmod g-w /var/www/d8/public_html -R


Nos vamos a sites/default y copiamos el archivo default.settings.php a settings.php. En la misma carpeta creamos la carpeta files y añadimos permisos de escritura sobre files y settings a apache:
Nos vamos a sites/default y copiamos el archivo default.settings.php a settings.php. En la misma carpeta creamos la carpeta files y añadimos permisos de escritura sobre files y settings a apache:


cd /var/www/d8/public_html/sites/default/
cd /var/www/d8/public_html/sites/default/
cp default.settings.php settings.php
cp default.settings.php settings.php
mkdir files
mkdir files
sudo chmod g+w files settings.php
sudo chmod g+w files settings.php


'''Configurar el virtual host'''
'''Configurar el virtual host'''
Line 43: Line 44:
Lo primero es añadir un nombre de dominio para trabajar cómodamente:
Lo primero es añadir un nombre de dominio para trabajar cómodamente:


#vi, gedit, sublime, nano, atom, brackets... lo que sea
#vi, gedit, sublime, nano, atom, brackets... lo que sea
sudo vi /etc/hosts  
sudo vi /etc/hosts  
#Añadimos esta línea: 127.0.0.1 d8.local
#Añadimos esta línea: 127.0.0.1 d8.local


Y ahora tenemos que añadir la configuración del virtual host a apache:
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:
Nos vamos a /etc/apache2/sites-available y copiamos el archivo que viene de ejemplo:


cd /etc/apache2/sites-available
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
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):
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):


sudo vi d8.local.conf
sudo vi d8.local.conf


Editamos el archivo y ponemos esto:
Editamos el archivo y ponemos esto:


<VirtualHost *:80>
<VirtualHost *:80>
    ServerName d8.local
  ServerName d8.local
    DocumentRoot /var/www/d8/public_html
  DocumentRoot /var/www/d8/public_html
    ErrorLog ${APACHE_LOG_DIR}/d8.error.log
  ErrorLog ${APACHE_LOG_DIR}/d8.error.log
  CustomLog ${APACHE_LOG_DIR}/d8.access.log combined
  CustomLog ${APACHE_LOG_DIR}/d8.access.log combined
</VirtualHost>
</VirtualHost>


'''Configurar htaccess'''
'''Configurar htaccess'''

Revision as of 18:50, 1 March 2016

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

Nos vamos a sites/default y copiamos el archivo default.settings.php a settings.php. En la misma carpeta creamos la carpeta files y añadimos permisos de escritura sobre files y settings a apache:

cd /var/www/d8/public_html/sites/default/
cp default.settings.php settings.php
mkdir files
sudo chmod g+w files settings.php

Configurar el virtual host

Lo primero es añadir un nombre de dominio para trabajar cómodamente:

#vi, gedit, sublime, nano, atom, brackets... lo que sea
sudo vi /etc/hosts 
#Añadimos esta línea: 127.0.0.1 d8.local

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):

sudo vi d8.local.conf

Editamos el archivo y ponemos esto:

<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:

  1. Dejamos el archivo que viene con drupal y damos permiso desde el archivo de configuración anterior

para que este pueda sobreescribirlo.

  1. 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.ç

<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>

  1. 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>