Cómo instalar Magento con Composer
Anuncio:
Hoy vamos a ver cómo instalar Magento con Composer desde consola. Antes de hacer la instalación de Magento, debemos asegurarnos de tener un servidor web y Composer instalados en nuestra máquina. Puedes ver cómo hacerlo en el artículo de instalación de un servidor web y en el artículo de instalación de Composer.
Una vez instalado lo necesario, veamos cómo instalar Magento con Composer. En primer lugar, abrimos una terminal y nos posicionamos dentro del directorio donde deseamos instalar Magento. Una vez ahí, vamos a cambiar el propietario del directorio:
sudo chown www-data:www-data mi_directorio
Esto es para que la instalación de Magento no nos dé problemas con permisos de usuario. Después, comenzamos la instalación ejecutando el siguiente comando
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .
Esto es, a Composer le indicamos que cree un proyecto a partir de un repositorio del que le pasamos la URL. Importante indicar el . (punto) del final. Y no, el espacio en blanco que hay en la url no es un error : )
Importante. Si estás trabajando con Mac, usando MAMP, y te dice que la extensión mcrypt no está instalada, se trata de bug que puedes corregir editando el archivo ~/.bash_profile. Esto lo hacemos con nano ~/.bash_profile y agregamos la siguiente línea export PATH=/Applications/MAMP/bin/php/php7.1.12/bin:$PATH usando la versión que tu tengas instalada con MAMP. Probablemente tengas que cerrar y abrir de nuevo la terminal. Elimina los archivos que se hayan creado en el directorio de instalación y vuelve a lanzar el comando composer create-project…
Nos pedirá las credenciales (access key) que tenemos que crear desde la web de magento.com en la sección de nuestro perfil.
Una vez que termine el proceso, hacemos un:
ls
Si ya hemos hecho instalaciones anteriormente de Magento, y vemos el arbol de directorios de Magento, aquí hemos terminado con la instalación. En cambio, si es la primera vez que instalamos Magento, probablemente veremos que tenemos un archivo composer.json y un directorio update. Con lo que tenemos que hacer el siguiente paso:
composer update
Probablemente nos dará una serie de errores de extensiones de php que faltan por instalar. Solo tenemos que ir leyendo los mensajes de error para ver qué extensión es la que nos va pidiendo. En mi caso, el primer error que muestra es:
...
-magento/product-community-edition 2.2.2 requires ext-curl ...
...
Nos pide la extension de php curl por lo que vamos a instalarla.
sudo apt-get install php-curl
Volvemos a ejecutar composer update y así tantas veces como extensiones nos diga que necesitamos. En mi caso, además de la anterior, me ha pedido instalar las siguientes extensiones:
sudo apt-get install php-intl
sudo apt-get install php-zip
sudo apt-get install php-soap
Una vez instaladas todas las extensiones necesarias, cuando termine «composer update» debemos tener en nuestro directorio, los archivos propios de Magento. Algo así:
Ahora, podemos abrir un navegador y entrar a la página de instalación de Magento, en mi caso:
http://localhost/magento/setup
Y veremos la web de instalación y configuración de Magento.
Importante. Si al terminar la instalación, abrimos nuestra web de magento y vemos que no cargan los estilos, es porque hay que hacer un deploy del contenido estático. Esto se hace de la siguiente manera:
sudo php bin/magento setup:static-content:deploy -f es_ES
Después de hacer esto limpiamos la cache de Magento y debería funcionar.
Una vez hemos instalado Magento, lo primero que deberíamos hacer es configurar el cron. Para configurar cron en Magento hacemos un:
crontab -e
Y tenemos que agregar lo siguente:
#~ MAGENTO START
/usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v Ran jobs by schedule >>/var/www/html/magento2/var/log/magento.cron.log
/usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log
#~ MAGENTO END
Listo! Ya hemos visto cómo instalar Magento con Composer. Espero que te haya sido de utilidad!