¿Te gustaría aprender cómo hacer una instalación de Magento en Ubuntu Linux? En este tutorial, le mostraremos cómo instalar, configurar y acceder al Magento CMS en una computadora que ejecuta Ubuntu Linux.

• Ubuntu Linux Version 18.04
• Magento Versión 2.3.0

Lista de Hardware:

La siguiente sección presenta la lista de equipos utilizados para crear este tutorial de Magento.

Todas las piezas de hardware mencionadas anteriormente pueden encontrarse en el sitio web de Amazon.

Tutoriales Relacionados con Magento:

En esta página, ofrecemos acceso rápido a una lista de tutoriales relacionados con Magento.

Tutorial - NTP en Ubuntu Linux

Primero, vamos a configurar el sistema para usar la fecha y la hora correctas usando NTP.

En la consola de Linux, use los siguientes comandos para establecer la zona horaria correcta.

# dpkg-reconfigure tzdata

Instale el paquete Ntpdate y establezca la fecha y hora correctas inmediatamente.

# apt-get update
# apt-get install ntpdate
# ntpdate pool.ntp.br

El comando Ntpdate se usó para establecer la fecha y la hora correctas usando el servidor: pool.ntp.br

Instalemos el servicio NTP.

# apt-get install ntp

NTP es el servicio que mantendrá actualizado nuestro servidor.

Use la fecha del comando para verificar la fecha y la hora configuradas en su Ubuntu Linux.

# date

Si el sistema muestra la fecha y la hora correctas, esto significa que siguió todos los pasos correctamente.

Tutorial - Instalación de MySQL en Ubuntu Linux

Ahora, podemos proceder a la instalación del servicio de base de datos.

En la consola de Linux, use los siguientes comandos para instalar los paquetes necesarios.

# apt-get update
# apt-get install mysql-server mysql-client

Después de finalizar la instalación, use el siguiente comando para acceder al servidor de base de datos MySQL.

# mysql -u root -p

Utilice el siguiente comando SQL para crear una base de datos llamada Magento.

CREATE DATABASE magento CHARACTER SET UTF8 COLLATE UTF8_BIN;

Utilice el siguiente comando SQL para crear un usuario de base de datos llamado magento.

CREATE USER 'magento'@'%' IDENTIFIED BY 'kamisama123';

Otorgue al usuario de sql llamado magento permiso sobre la base de datos llamada magento.

GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'%';
quit;

Tutorial - Instalar Apache en Linux

Ahora, necesitamos instalar el servidor web Apache y todo el software requerido.

En la consola de Linux, use los siguientes comandos para instalar los paquetes necesarios.

# apt-get install apache2 php7.2 php7.2-mysql libapache2-mod-php7.2 php7.2-cli
# apt-get install php7.2-mbstring php7.2-xml php7.2-zip php7.2-gd php7.2-xml
# apt-get install php7.2-bcmath  php7.2-curl php7.2-intl php7.2-soap

Habilite el mod_rewrite de Apache y edite el archivo apache2.conf.

# a2enmod rewrite
# vi /etc/apache2/apache2.conf

Aquí está el archivo original, antes de nuestra configuración.

DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^.ht">
Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" vhost_combined
LogFormat "%h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf

Al final del archivo, agregue las siguientes líneas.

<Directory /var/www/html>
AllowOverride All
</Directory>

Aquí está el nuevo archivo con nuestra configuración.

DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^.ht">
Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" vhost_combined
LogFormat "%h %l %u %t "%r" %>s %O "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf
<Directory /var/www/html>
AllowOverride All
</Directory>

Ahora, debe encontrar la ubicación del archivo php.ini en su sistema.

Después de encontrarlo, necesita editar el archivo php.ini.

# updatedb
# locate php.ini
# vi /etc/php/7.2/apache2/php.ini

Tenga en cuenta que su versión de PHP y la ubicación del archivo pueden no ser las mías.

Aquí está el archivo original, antes de nuestra configuración.

file_uploads = On
max_execution_time = 30
memory_limit = 128M
post_max_size = 8M
max_input_time = 60
; max_input_vars = 1000
output_buffering = 4096

Aquí está el nuevo archivo con nuestra configuración.

file_uploads = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
max_input_time = 60
max_input_vars = 4440
output_buffering = off

También debe reiniciar Apache manualmente y verificar el estado del servicio.

# service apache2 stop
# service apache2 start
# service apache2 status

Aquí hay un ejemplo de la salida de estado del servicio APache.

● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Mon 2018-04-23 00:02:09 -03; 1min 4s ago

Tutorial - Instalación de Magento en Ubuntu

Primero, instalemos el software Composer.

Descargue e instale el software del compositor usando los siguientes comandos.

# mkdir /downloads/composer -p
# cd /downloads/composer
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Cree un usuario del sistema llamado Magento y conviértalo en miembro del grupo www-data de Apache.

# useradd magento
# usermod -g www-data magento

Ahora, necesitamos instalar el CMS de Magento en Ubuntu Linux.

En la consola de Linux, use los siguientes comandos para descargar el paquete Magento.

# cd /downloads
# wget -O magento2-2.3.0.tar.gz https://codeload.github.com/magento/magento2/tar.gz/2.3.0
# tar -zxvf magento2-2.3.0.tar.gz

Mueva todos los archivos de Magento al directorio raíz de su instalación de Apache.

Establecer el permiso de archivo correcto en todos los archivos movidos.

# mv /downloads/magento2-2.3.0 /var/www/html/magento
# cd /var/www/html/magento
# composer install
# find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;
# find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \;
# chown magento.www-data /var/www/html/magento -R
# chmod u+x /var/www/html/magento/bin/magento

Abra su navegador e ingrese la dirección IP de su servidor web más / magento.

En nuestro ejemplo, la siguiente URL se ingresó en el navegador:

• http://35.162.85.57/magento

Se debe presentar la interfaz de instalación web de Magento.

Magento Installation

Haga clic en el botón Iniciar comprobación de preparación y verifique si se cumplen todos los requisitos.

Magento Readiness check

En nuestro ejemplo, todos los requisitos se cumplieron con éxito.

Magento PHP Readiness check

Ingrese la información de conexión de MySQL a la base de datos de Magento.

Magento MySQL Database

Ingrese la URL de su sitio web y tome nota de su URL administrativa.

Magento web configuration

Seleccione el idioma deseado, la moneda y la zona horaria.

Magento Store customization

Ingrese la siguiente información de la cuenta administrativa.

• Su nombre de usuario administrador.
• Su cuenta de correo electrónico del administrador.
• Su contraseña de administrador.

Magento Admin Account

Espera a que termine la instalación de Magento.

Magento finished installation

Eche un vistazo a su resumen de instalación de Magento.

Haga clic en el botón Iniciar Magento Admin.

Magento Installation summary

Después de hacer clic en el botón, se le enviará a la pantalla de inicio de sesión de Magento.

Magento login

En la pantalla de inicio de sesión de Magento, ingrese el nombre de usuario y la contraseña del administrador.

Después de un inicio de sesión exitoso, se le enviará a Magento Dashboard.

Magento Dashboard

Felicitaciones, usted instaló con éxito Magento en Ubuntu Linux.

Después de finalizar la instalación, debe crear una tarea programada en el servidor Linux.

En la consola de Linux, use el siguiente comando para crear la tarea de programación requerida.

# cd /var/www/html/magento/bin/
# ./magento cron:install

Crontab has been generated and saved