Una de las formas recomendadas de Drupal para instalar y actualizar sus componentes es usando Composer. Esto es compatible casi con cualquier sistema operativo incluidos Windows y Ubuntu. Composer se usa principalmente para mantener instaladas y actualizadas dependencias de terceros, pero en este caso inclusive nos permite instalar las extensiones y actualizar el mismo Drupal de versión.
Instalación en entorno de desarrollo (Dev)
Para empezar la instalación sin tener ningún archivo de composer:
composer create-project drupal/recommended-project:8.* mi_proyecto
De esta forma se creará el directorio "mi_proyecto" con todos los archivos necesarios y empezará automáticamente la instalación por medio de la terminal (CLI) que estemos usando en ese momento.
Los archivos estarán listos cuando salga un mensaje de felicitaciones.
Podemos continuar configurando Apache y Nginx, directamente en la interfaz web o con Drush.
Instalación de Drush:
composer require drush/drush
Instalación CLI del Proyecto con Drush (método avanzado):
drush site:install
Actualización y mantenimiento en entorno de desarrollo (Dev)
Para mantener actualizado nuestro proyecto ejecutamos el siguiente comando:
composer update drupal/core-recommended --with-dependencies
Para las dependencias y extensiones o módulos ejecutamos:
composer update drupal/* --with-dependencies
Instalación y optimización en entorno de producción
Como lo ideal es tener un entorno de desarrollo y un entorno de producción separados, pero iguales, sólo tenemos que copiar los archivos "composer.json" y "composer.lock" a producción y proceder con el comando:
composer install --no-dev
Justo después ejecutamos:
composer dump-autoload --optimize --no-dev
Este último comando realiza unas pequeñas mejoras.
Notas generales
Aunque parezca tentador no hay que usar composer update
en producción, en algunas ocasiones llega a usar más de 2 GB de RAM y necesita muchísimo uso de CPU, por el contrario composer install --no-dev
solo instala lo necesario y deja fuera todo lo que no se necesita del entorno de desarrollo. Después de cada actualización necesitamos ejecutar "update.php".
No hay que olvidar que para que todo funcione de maravilla no actualicen ni instalen las extensiones por medio de la interfaz web, hay que usarla solamente para verificar actualizaciones. En la instalación de módulos me refiero al proceso de descargar el módulo y copiarlo en la carpeta "/modules" o subirlo por la interfaz.
Fuentes:
- Update Drupal core via Composer, en inglés.
- Install Drupal and Manage Dependencies with Composer, en inglés.