Drupal 8: Difference between revisions

From Wiki-Fou
(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.)
 
No edit summary
Line 4: Line 4:
'''Drush'''
'''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:
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
Line 28: Line 28:
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).
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:
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
1- Nos vamos a sites/default y copiamos el archivo default.settings.php a settings.php
 
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
cp default.settings.php settings.php
2- En la misma carpeta creamos la carpeta files
mkdir files
mkdir files
3- Añadimos permisos de escritura sobre files y settings a apache:
sudo chmod g+w files settings.php
sudo chmod g+w files settings.php


Configurar el virtual host
'''Configurar el virtual host'''
 
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:
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:
# vi, gedit, sublime, nano, atom, brackets... lo que sea
127.0.0.1 d8.local #yo suelo usar este tipo de nombre
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:
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
Editamos el archivo y ponemos esto:
<VirtualHost *:80>
<VirtualHost *:80>
     ServerName d8.local
     ServerName d8.local
Line 54: Line 66:
</VirtualHost>
</VirtualHost>


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


Opción a:
Opción a:
<VirtualHost *:80>
<VirtualHost *:80>
     ServerName d8.local
     ServerName d8.local
Line 77: Line 93:


Opción b:
Opción b:
<VirtualHost *:80>
<VirtualHost *:80>
     ServerName d8.local
     ServerName d8.local

Revision as of 18:44, 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:

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

  1. vi, gedit, sublime, nano, atom, brackets... lo que sea

sudo vi /etc/hosts

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

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>