Hola a tod@s, hoy vamos a analizar uno de los métodos de instalación más útiles de cara al desarrollo entre entornos Drupal con composer/drupal-project.
Instalación de Drupal 8 en Ubuntu 18.04.
Requisitos:
- Servidor web (En nuestro caso usaremos Apache).
- PHP 7.x (Mi recomendación es usar 7.1 o 7.2)
- Base de datos (En nuestro caso usaremos MySQL)
Comenzamos, en el caso de que no tengamos PHP 7.1 o 7.2 instalados en el repositorio de Ubuntu, lo añadiremos del siguiente modo:
$~sudo apt-get install -y python-software-properties
$~sudo add-apt-repository -y ppa:ondrej/php
$~sudo apt-get update -y
$~apt-cache pkgnames | grep php7.1
Para evitar posibles errores con composer o drupal es conveniente descargar las siguientes extensiones:
• php7.1
• php7.1-xml
• php7.1-mbstring
• php7.1-mysql
• php7.1-json
• php7.1-curl
• php7.1-cli
• php7.1-gmp
• php7.1-mcrypt
• php7.1-gd
• libapache2-mod-php7.1
El siguiente paso, una vez hemos cumplido los requisitos será instalar composer globlalmente:
$~php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$~php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$~php composer-setup.php
$~php -r "unlink('composer-setup.php');"
Los comandos anteriores nos generarán un fichero llamado “composer.phar”, el cual nombramos con el argumento —name. El siguiente paso sera mover este fichero a /usr/local/bin para poder llamarlo de manera global.
$~sudo mv composer.phar /usr/local/bin/composer
Si queremos comprobar que se instalo correctamente, utilizaremos el siguiente comando:
$~composer -v
Con el siguiente comando descargaremos la ultima version 8.x de Drupal.
$~composer create-project drupal-composer/drupal-project:8.x-dev nombre-del-proyecto —stability dev —no-interaction
Esto nos generará la siguiente estructura de carpetas:
• composer.json → en él podemos gestionar las versiones del core de Drupal y de los módulos, temas, librerías… también podemos aplicar parches.
• composer.lock → este fichero prioriza las versiones ante el composer.json, es decir, cuando versionemos ambos ficheros y se ejecute un “composer install” prevalecerán las versiones establecidas en el composer.lock.
• drush/ → se encuentra la herramienta por línea de comandos drush. Para poder llamarla globalmente, es necesario descargar drush-launcher sino tendremos que llamarla con $./vendor/drush/drush/drush
• scripts/ → pueden encontrarse scripts que facilitan la instalación y configuran los permisos adecuados
• vendor/ → se encuentran las librerías externas que necesitan core y módulos contribuidos.
• web/ → dentro se encuentra la instalación al completo. Es recomendable apuntar con el DocumentRoot a esta carpeta, por temas de seguridad.
Modificaremos los permisos de la carpeta web/:
$~sudo chown :www-data /web -R
Por último, crearemos un nuevo virtual host q apunta a drupal/web
Copiaremos y modificaremos el siguiente fichero:
Copiamos
$~sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/proyecto.conf
Modificamos
$~sudo nano /etc/apache2/sites-available/proyecto.conf
<VirtualHost *:80>
ServerName proyecto.dev
DocumentRoot /var/www/html/drupal/web
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
y lo habilitaremos con el comando:
$a2ensite proyecto.conf
reiniciamos apache para asegurarnos de que los cambios surtan efecto:
$sudo service apache2 restart
Configuramos archivos locales editando el fichero /etc/hosts con el nameserver que queramos establecer para nuestro proyecto:
127.0.0.1 localhost
127.0.0.1 proyecto.dev <- Nuestro name server con el cual accederemos al sitio.
Desde el navegador accederemos a la instalación del sitio mediante el nameserver http://proyecto.dev y comenzamos la instalación de nuestro Drupal 8.