Cómo instalar Magento en Ubuntu 18.04 LTS

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.

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:

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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo apt update
~$ sudo apt update
~$ sudo apt update

E instalamos los paquetes relacionados con dichas utilidades:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo apt install -y curl git unzip
~$ sudo apt install -y curl git unzip
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ curl -sS https://getcomposer.org/installer | php
~$ curl -sS https://getcomposer.org/installer | php
~$ curl -sS https://getcomposer.org/installer | php

E instalamos en una ruta adecuada que se encuentre en el path del sistema:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo mv composer.phar /usr/local/bin/composer
~$ sudo mv composer.phar /usr/local/bin/composer
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ 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
~$ 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
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo systemctl reload apache2
$ sudo systemctl reload apache2
$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ mysql -u root -p
~$ mysql -u root -p
~$ mysql -u root -p

Creamos la base de datos:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> create database magento;
> create database magento;
> create database magento;

En MariaDB o MySQL 5 creamos el usuario de la forma usual:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> create user magento@localhost identified by 'XXXXXXXX';
> create user magento@localhost identified by 'XXXXXXXX';
> create user magento@localhost identified by 'XXXXXXXX';

Pero en MySQL 8 conviene especificar el plugin de conexión más compatible:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> create user magento@localhost identified with mysql_native_password by 'XXXXXXXX';
> create user magento@localhost identified with mysql_native_password by 'XXXXXXXX';
> create user magento@localhost identified with mysql_native_password by 'XXXXXXXX';

Concedemos los permisos necesarios al usuario sobre la base:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> grant all privileges on magento.* to magento@localhost;
> grant all privileges on magento.* to magento@localhost;
> grant all privileges on magento.* to magento@localhost;

Y cerramos la sesión:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> exit
> exit
> 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo mkdir /var/www/magento2
~$ sudo mkdir /var/www/magento2
~$ sudo mkdir /var/www/magento2

Cambiamos la propiedad de este directorio temporalmente a nuestro usuario de trabajo:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo chown -R $USER: /var/www/magento2/
~$ sudo chown -R $USER: /var/www/magento2/
~$ sudo chown -R $USER: /var/www/magento2/

Y descargamos Magento con git:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ git clone https://github.com/magento/magento2.git /var/www/magento2
~$ git clone https://github.com/magento/magento2.git /var/www/magento2
~$ git clone https://github.com/magento/magento2.git /var/www/magento2

Ahora cambiamos el directorio de trabajo al directorio de Magento:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ cd /var/www/magento2
~$ cd /var/www/magento2
~$ cd /var/www/magento2

Instalamos las dependencias del proyecto:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ composer install
$ composer install
$ composer install

Y configuramos el nuevo sitio Magento (es un único comando,  una única línea):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ 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
$ 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
$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
...
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_6mxiqm
Nothing to import.
... [SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /admin_6mxiqm Nothing to import.
...
[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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo chown -R www-data: /var/www/magento2/
$ sudo chown -R www-data: /var/www/magento2/
$ sudo chown -R www-data: /var/www/magento2/

Instalamos también la tarea de Cron para Magento:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo -u www-data php bin/magento cron:install
~$ sudo -u www-data php bin/magento cron:install
~$ sudo -u www-data php bin/magento cron:install

Servicio web

Habilitamos el módulo Rewrite, que por defecto no está cargado:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo a2enmod rewrite
~$ sudo a2enmod rewrite
~$ sudo a2enmod rewrite

Y reiniciamos el servicio para que cargue dicho módulo:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo systemctl restart apache2
~$ sudo systemctl restart apache2
~$ sudo systemctl restart apache2

Editamos la configuración del sitio por defecto:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo nano /etc/apache2/sites-available/000-default.conf
~$ sudo nano /etc/apache2/sites-available/000-default.conf
~$ sudo nano /etc/apache2/sites-available/000-default.conf

Localizamos la directiva DocumentRoot:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
...
DocumentRoot /var/www/html
...
... DocumentRoot /var/www/html ...
...
        DocumentRoot /var/www/html
...

Y modificamos su valor:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
...
DocumentRoot /var/www/magento2
...
... DocumentRoot /var/www/magento2 ...
...
        DocumentRoot /var/www/magento2
...

Y añadimos este bloque Directory:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
...
<Directory /var/www/magento2>
AllowOverride all
</Directory>
...
... <Directory /var/www/magento2> AllowOverride all </Directory> ...
...

        <Directory /var/www/magento2>
                AllowOverride all
        </Directory>
...

Guardamos el archivo y reiniciamos el servicio:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo systemctl restart apache2
~$ sudo systemctl restart apache2
~$ 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:

como instalar magento en ubuntu 18.04 lts bionic beaver

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:

instalar magento en ubuntu 18.04 lts

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:

magento en ubuntu 18.04 lts

En cualquier caso, ya podemos empezar a trabajar con la interfaz de administración de Magento sobre nuestro sistema Ubuntu 18.04 LTS.

instalar magento para ubuntu 18.04 lts bionic beaver

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!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario