How to install Magento 2 on Ubuntu 18 04 Complete Guide
Tabla de contenido:
- Prerrequisitos
- Crear una base de datos MySQL
- Crear usuario del sistema
- Instalar y configurar PHP
- Instalando Composer
- Instalando Magento
- Creando el crontab de Magento
- Configurando Nginx
- Verificando la instalación
- Conclusión
Magento es una plataforma líder de comercio electrónico de clase empresarial basada en tecnología de código abierto que combina potentes funciones con flexibilidad e interfaz fácil de usar.
Con características como Participar en experiencias de compra, Arquitectura modular flexible y Escalabilidad y rendimiento de grado empresarial Magento es una plataforma de elección para la mayoría de los comerciantes en línea.
En este tutorial, le mostraremos cómo instalar Magento 2.3 en una máquina Ubuntu 18.04. Usaremos Nginx como servidor web, el último PHP 7.2 y MySQL / MariaDB como servidor de base de datos.
Prerrequisitos
Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:
- Tenga un nombre de dominio que apunte a la IP de su servidor público. Usaremos
example.com.Nginx se instala en su servidor Ubuntu siguiendo estas instrucciones. Se instaló un certificado SSL para su dominio para encriptar la información del usuario. Puede instalar un certificado SSL Let's Encrypt gratuito siguiendo estas instrucciones.
Para poder acceder al repositorio de código de Magento 2, deberá generar claves de autenticación. Si no tiene una cuenta de Magento Marketplace, puede crear una aquí. Una vez que cree la cuenta, consulte estas instrucciones sobre cómo generar un nuevo conjunto de claves de autenticación.
Actualice los paquetes del sistema a las últimas versiones e instale la utilidad de descompresión:
sudo apt update && sudo apt upgrade
sudo apt install unzip
Crear una base de datos MySQL
Si tiene instalado MySQL o MariaDB en su servidor, puede omitir este paso; de lo contrario, puede instalar el paquete del servidor MySQL 5.7 desde los repositorios predeterminados de Ubuntu escribiendo:
sudo apt install mysql-server mysql-client
Para nuevas instalaciones de MySQL, se recomienda ejecutar el comando
mysql_secure_installation
para mejorar la seguridad de su servidor MySQL.
Inicie sesión en el shell de MySQL con el siguiente comando:
sudo mysql
Desde el shell de MySQL, ejecute la siguiente instrucción SQL para crear una nueva base de datos llamada
magento
:
CREATE DATABASE magento;
Luego, cree una cuenta de usuario MySQL llamada
magento
y otorgue los permisos necesarios al usuario ejecutando el siguiente comando:
GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Asegúrese de cambiar
change-with-strong-password
con una contraseña segura.
Una vez hecho esto, salga de la consola MySQL escribiendo:
Crear usuario del sistema
Cree un nuevo usuario y grupo, que será el propietario del sistema de archivos Magento, por simplicidad
magento
al usuario
magento
:
sudo useradd -m -U -r -d /opt/magento magento
Agregue el usuario
www-data
al grupo
magento
y cambie los permisos del directorio
/opt/magento
para que Nginx pueda acceder a la instalación de Magento:
sudo usermod -a -G magento www-data
sudo chmod 750 /opt/magento
Instalar y configurar PHP
PHP 7.2, que es la versión predeterminada de PHP en Ubuntu 18.04, es totalmente compatible y recomendado para Magento 2.3. Como usaremos Nginx como servidor web, también instalaremos el paquete PHP-FPM.
Ejecute el siguiente comando para instalar PHP y todos los módulos PHP necesarios:
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
El servicio PHP-FPM se iniciará automáticamente una vez que se complete el proceso de instalación, puede verificarlo imprimiendo el estado del servicio:
sudo systemctl status php7.2-fpm
La salida debe indicar que el servicio fpm está activo y ejecutándose.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago Docs: man:php-fpm7.2(8) Main PID: 16814 (php-fpm7.2) Status: "Ready to handle connections" Tasks: 3 (limit: 505) CGroup: /system.slice/php7.2-fpm.service
Establezca las opciones PHP requeridas y recomendadas editando el archivo
php.ini
con
sed
::
sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
A continuación, debemos crear un grupo de FPM para el usuario de
magento
.
Abra su editor de texto y cree el siguiente archivo:
sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
/etc/php/7.2/fpm/pool.d/magento.conf
user = magento group = www-data listen.owner = magento listen.group = www-data listen = /var/run/php/php7.2-fpm-magento.sock pm = ondemand pm.max_children = 50 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = /
Reinicie el servicio PHP-FPM para que los cambios surtan efecto:
systemctl restart php7.2-fpm
Verifique si el socket PHP se creó correctamente ejecutando el siguiente comando ls:
ls -al /var/run/php/php7.2-fpm-magento.sock
La salida debería verse así:
srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=
Instalando Composer
Composer es un administrador de dependencias para PHP y lo usaremos para descargar el núcleo de Magento e instalar todos los componentes necesarios de Magento.
Para instalar Composer globalmente, descargue el instalador de Composer con curl y mueva el archivo al directorio
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Verifique la instalación imprimiendo la versión del compositor:
composer --version
La salida debería verse así:
Composer version 1.8.0 2018-12-03 10:31:16
Instalando Magento
Hay varias formas de instalar Magento 2. Evite instalar Magento desde el repositorio de Github porque esa versión está destinada al desarrollo y no a las instalaciones de producción.
Al momento de escribir este artículo, la última versión estable de Magento es la versión
2.3.0
. En este tutorial, instalaremos Magento desde sus repositorios usando Composer.
Cambie al usuario
magento
escribiendo:
sudo su - magento
Inicie la instalación descargando archivos magento al directorio / opt / magento / public_html:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
Se le pedirá que ingrese las claves de acceso, copie las claves de su cuenta de Magento marketplace y almacénelas en el archivo
auth.json
, por lo que más tarde, cuando actualice su instalación, no tendrá que volver a agregar las mismas claves.
Authentication required (repo.magento.com): Username: e758ec1745d190320ca246e4e832e12c Password: Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? Y
El comando anterior buscará todos los paquetes PHP requeridos. El proceso puede demorar unos minutos y, si tiene éxito, el final de la salida debería tener el siguiente aspecto:
Writing lock file Generating autoload files
Una vez creado el proyecto, podemos comenzar la instalación de Magento. Podemos instalar Magento desde la línea de comandos o usando el Asistente de configuración web. En este tutorial, instalaremos Magento usando la línea de comando.
Utilizaremos las siguientes opciones para instalar la tienda Magento:
- Las URL seguras de Base y Base están configuradas en
https://example.com, cámbielas con su dominio. Administrador de Magento:-
JohnDoecomo nombre y apellido.[email protected]como correo electrónico.johncomo nombre de usuario yj0hnP4ssvv0rDcomo contraseña.
magento, nombre de usuariomagento,change-with-strong-passwordcontraseñachange-with-strong-passwordy el servidor de la base de datos está en el mismo host que el servidor web.en_US, inglés de EE. UU. como idioma predeterminado.USDdólares como moneda predeterminada.America/Chicagocomo zona horaria. -
Cambie al directorio Magento
~/public_html
:
cd ~/public_html
Ejecute el siguiente comando para iniciar la instalación:
php bin/magento setup:install --base-url=https://example.com/ \ --base-url-secure=https://example.com/ \ --admin-firstname="John" \ --admin-lastname="Doe" \ --admin-email="[email protected]" \ --admin-user="john" \ --admin-password="j0hnP4ssvv0rD" \ --db-name="magento" \ --db-host="localhost" \ --db-user="magento" \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --db-password="change-with-strong-password"
No olvide cambiar la contraseña (
j0hnP4ssvv0rD
) a algo más seguro.
El proceso puede demorar unos minutos y, una vez completado, se le presentará un mensaje que contiene el URI en el panel de administración de Magento.
: Magento installation complete.: Magento Admin URI: /admin_13nv5k Nothing to import.
Creando el crontab de Magento
Magento usa trabajos cron para programar tareas como reindexación, notificaciones, mapas del sitio, correos electrónicos y más.
Para crear el crontab de Magento, ejecute el siguiente comando como usuario de
magento
:
php ~/public_html/bin/magento cron:install
Crontab has been generated and saved
Verifique que el crontab esté instalado escribiendo:
crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log #~ MAGENTO END adc062915d7b30804a2b340095af072d
Configurando Nginx
Por ahora, ya debería tener Nginx con certificado SSL instalado en su servidor Ubuntu, si no, verifique los requisitos previos para este tutorial.
Vamos a incluir la configuración predeterminada de Nginx incluida con Magento.
Cambie a su usuario de sudo, abra su editor de texto y cree el siguiente archivo:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
upstream fastcgi_backend { server unix:/var/run/php/php7.2-fpm-magento.sock; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; set $MAGE_ROOT /opt/magento/public_html; set $MAGE_MODE developer; # or production access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; include /opt/magento/public_html/nginx.conf.sample; }
No olvide reemplazar example.com con su dominio de Magento y establecer la ruta correcta a los archivos de certificado SSL. Los fragmentos utilizados en esta configuración se crean en esta guía.
Antes de reiniciar el servicio Nginx, realice una prueba para asegurarse de que no haya errores de sintaxis:
sudo nginx -t
Si no hay errores, la salida debería verse así:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Finalmente, reinicie el servicio Nginx escribiendo:
Verificando la instalación
Abra su navegador, escriba su dominio y suponiendo que la instalación sea exitosa, aparecerá una pantalla similar a la siguiente:

Ahora puede ir al URI de administrador de Magento, iniciar sesión como usuario administrador y comenzar a personalizar su nueva instalación de Magento.
Conclusión
Felicitaciones, ha instalado con éxito Magento 2.3 en su servidor Ubuntu 18.04. Ahora puede comenzar a personalizar su tienda.
La documentación para desarrolladores de Magento 2.3 es un buen punto de partida para obtener más información sobre cómo administrar su instalación de Magento.
ubuntu magento mysql mariadb php nginx composer ecommerceCómo instalar el último Firefox 3.6.6 en Ubuntu Linux
Firefox 3.6.6 presenta la prevención del bloqueo del navegador. Así es cómo instalarlo fácilmente en Ubuntu Linux.
Instalar magento 2 en centos 7
Magento es una plataforma de comercio electrónico basada en tecnología de código abierto que combina características potentes con flexibilidad e interfaz fácil de usar. En este tutorial, lo guiaremos a través de los pasos para instalar Magento 2 en su máquina CentOS 7.
Cómo instalar y configurar magento 2 en centos 7
En esta serie, lo guiará a través de los pasos necesarios para instalar Magento 2 en un servidor CentOS con Nginx, MariaDB y PHP 7.1.







