En este artículo veremos cómo instalar Magento en Ubuntu 18.04 LTS Bionic Beaver, de modo que puedas utilizar este conocido CMS de código abierto para e-commerce sobre tu servidor o VPS Ubuntu.
Contenido
Antes de instalar Magento en Ubuntu 18.04 LTS
Si quieres seguir los pasos de esta guía de instalación de Magento en Ubuntu 18.04 LTS es importante partir de los siguientes requisitos básicos:
- Una máquina Ubuntu 18.04 LTS actualizada.
- El entorno o pila LAMP (servicio web con PHP 7.3/7.4 y bases de datos MariaDB hasta 10.4 ó MySQL 8.0).
- El motor de búsqueda Elasticsearch.
- Acceso a línea de comandos con un usuario con privilegios de sudo.
- Conexión a Internet.
Si no dispones todavía del entorno necesario, te pueden resultar útiles nuestras guía de instalación de la pila LAMP en Ubuntu 18.04 LTS y guía de instalación de Elasticsearch en Ubuntu 18.04 LTS.
Cómo instalar Magento en Ubuntu 18.04 LTS
Para conseguir instalar Magento en Ubuntu 18.04 LTS será necesario realizar una serie de preparativos sobre el sistema, que detallamos a continuación.
Herramientas y utilidades
Empezaremos con la instalación de una serie de utilidades que obtendremos desde los repositorios de Ubuntu 18.04, así que será interesante actualizar las listas de paquetes:
~$ sudo apt update
E instalamos los paquetes relacionados con dichas utilidades:
~$ sudo apt install -y curl git unzip
Composer
También necesitamos Composer, pero la versión existente en los repositorios de Ubuntu 18.04 es demasiado antigua, no nos sirve, así que descargamos la versión actual:
~$ curl -sS https://getcomposer.org/installer | php
E instalamos en una ruta adecuada que se encuentre en el path del sistema:
~$ sudo mv composer.phar /usr/local/bin/composer
PHP
Magento requiere la presencia en Ubuntu 18.04 de ciertas extensiones que podemos instalar desde los repositorios del sitema:
~$ sudo apt install -y php7.4-bcmath php7.4-curl php7.4-gd php7.4-intl php7.4-mbstring php7.4-soap php7.4-xml php7.4-zip
Recargamos la configuración del servicio web para que estas extensiones queden listas para su uso:
$ sudo systemctl reload apache2
Base de datos
Magento se apoya sobre una base de datos MariaDB/MySQL, así que la crearemos conectando con el cliente de consola mysql y el usuario administrador que utilicemos habitualmente:
~$ mysql -u root -p
Creamos la base de datos:
> create database magento;
En MariaDB o MySQL 5 creamos el usuario de la forma usual:
> create user magento@localhost identified by 'XXXXXXXX';
Pero en MySQL 8 conviene especificar el plugin de conexión más compatible:
> create user magento@localhost identified with mysql_native_password by 'XXXXXXXX';
Concedemos los permisos necesarios al usuario sobre la base:
> grant all privileges on magento.* to magento@localhost;
Y cerramos la sesión:
> exit
Repositorio de Magento
Para descargar la versión actual de Magento sobre Ubuntu 18.04 desde el repositorio oficial usaremos la herramienta git. Creamos previamente el directorio para Magento dentro de la estructura de archivos del servicio web:
~$ sudo mkdir /var/www/magento2
Cambiamos la propiedad de este directorio temporalmente a nuestro usuario de trabajo:
~$ sudo chown -R $USER: /var/www/magento2/
Y descargamos Magento con git:
~$ git clone https://github.com/magento/magento2.git /var/www/magento2
Ahora cambiamos el directorio de trabajo al directorio de Magento:
~$ cd /var/www/magento2
Instalamos las dependencias del proyecto:
$ composer install
Y configuramos el nuevo sitio Magento (es un único comando, una única línea):
$ bin/magento setup:install --base-url=http://ubuntu64.local.lan --db-host=localhost --db-name=magento --db-user=magento --db-password=XXXXXXXX --admin-firstname=Chacho --admin-lastname=Cool --admin-email=chacho@ubuntu64.local.lan --admin-user=admin --admin-password=XXXXXXXX --language=es_ES --currency=EUR --timezone=Europe/Madrid --use-rewrites=1
El parámetro –base-url indica la dirección base de nuestra futura nueva aplicación web de Magento, según como pensemos integrarla en el servicio web, en este ejemplo como el sitio web por defecto.
Los parámetros que empiezan por –db- indican los datos de conexión al servicio de bases de datos, tal como los creamos en pasos anteriores.
La contraseña de administrador (–admin-password) debe contener caracteres tanto alfabéticos como numéricos.
Comenzará el proceso de instalación y configuración del nuevo sitio Magento en nuestra máquina Ubuntu 18.04 LTS, proceso que debido al número de tareas a realizar tomará un tiempo. Al terminar se mostrará la URI (aleatoria para cada instalación) con la que acceder a la administración del sitio:
... [SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /admin_6mxiqm Nothing to import.
Por ejemplo, en la máquina Ubuntu 18.04 LTS sobre la que hemos realizado este tutorial, accesible en el subdominio ubuntu64.local.lan, según el mensaje anterior accederíamos al panel de control usando http://ubuntu64.local.lan/admin_1v1t29 como URL.
Cambiamos la propiedad de los archivos de Magento:
$ sudo chown -R www-data: /var/www/magento2/
Instalamos también la tarea de Cron para Magento:
~$ sudo -u www-data php bin/magento cron:install
Servicio web
Habilitamos el módulo Rewrite, que por defecto no está cargado:
~$ sudo a2enmod rewrite
Y reiniciamos el servicio para que cargue dicho módulo:
~$ sudo systemctl restart apache2
Editamos la configuración del sitio por defecto:
~$ sudo nano /etc/apache2/sites-available/000-default.conf
Localizamos la directiva DocumentRoot:
... DocumentRoot /var/www/html ...
Y modificamos su valor:
... DocumentRoot /var/www/magento2 ...
Y añadimos este bloque Directory:
... <Directory /var/www/magento2> AllowOverride all </Directory> ...
Guardamos el archivo y reiniciamos el servicio:
~$ sudo systemctl restart apache2
Cómo acceder a Magento en Ubuntu 18.04 LTS
Para acceder al sitio Magento como visitante, usaremos como URL la dirección (IP, nombre DNS, dominio, etc.) del servidor Ubuntu 18.04 LTS:
Para acceder al panel de administración añadiremos la URI que obtuvimos durante el proceso de instalación, de modo que se abrirá la página de inicio de sesión:
La primera vez que iniciamos sesión se nos preguntará si deseamos o no enviar información de uso de Magento para la mejora de la aplicación:
En cualquier caso, ya podemos empezar a trabajar con la interfaz de administración de Magento sobre nuestro sistema Ubuntu 18.04 LTS.
Conclusión
Ahora que sabes cómo instalar Magento en Ubuntu 18.04 LTS Bionic Beaver ya puedes experimentar y trabajar con este magnífico CMS orientado a comercio electrónico sobre tu servidor o VPS.
¡Apoya comoinstalar.me!
¿Ya tienes listo Magento en tu máquina Ubuntu 18.04 gracias a esta guía? Si es así y quieres agradecérnoslo ayudando mínimamente al mantenimiento de este sitio, puedes hacerlo invitándonos a un café:
O dejando 1 $ de propina con PayPal:
¡Gracias!