Cómo instalar Magento con LAMP (Apache MySQL PHP) en Ubuntu 18.04 LTS

27 feb 2021 5 min di lettura
Cómo instalar Magento con LAMP (Apache MySQL PHP) en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

LAMP es un grupo de software de código abierto que normalmente se instala junto para permitir que un servidor aloje sitios web y aplicaciones web dinámicos. LAMP incluye Apache, MySQL, PHP.

En este tutorial instalaremos LAMP con Magento en Ubuntu 18.04 LTS.

Si su intención es instalar Magento en un servidor remoto, siga leyendo; de lo contrario, si desea instalar Magento en su computadora local, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará la contraseña para la autenticación.

Para conectarse al servidor como root, escriba este comando:

ssh root@IP_DEL_SERVER

A continuación, se le pedirá que ingrese la contraseña del usuario root.

Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie el primer parámetro:

ssh VOSTRO_UTENTE@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

Ahora está conectado a su servidor, está listo para comenzar a instalar Magento en Ubuntu 18.04 LTS.

Instalación de Apache

Los repositorios de paquetes oficiales de Ubuntu incluyen una versión actualizada de Apache, luego podemos instalar los paquetes necesarios usando apt.

Actualice la lista de paquetes de Ubuntu para tener la última versión de las listas de repositorios, desde la terminal:

sudo apt update

Para instalar Apache2, abra la terminal y emita estos comandos:

sudo apt install apache2

Después de instalar Apache2, ejecute este comando para deshabilitar la indexación de directorios.

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Si el firewall de Ubuntu está activo, debe habilitar el tráfico para Apache:

sudo ufw allow in "Apache Full"

En este punto, el servidor está listo con las configuraciones predeterminadas. Simplemente conéctese a su dirección IP pública o localhost:


http://localhost

Para reiniciar Apache:

sudo service apache2 restart

Para detener Apache:

sudo service apache2 stop

Para iniciar Apache:

sudo service apache2 start

Configurar un host virtual

Cuando se utiliza el servidor web Apache, los hosts virtuales se pueden utilizar para alojar varios dominios y luego varios sitios web en un solo servidor. Configuraremos un dominio llamado example.com, pero debería utilizar un dominio existente.

Apache en Ubuntu 18.04 LTS tiene un bloque de servidor habilitado de forma predeterminada que está configurado para servir documentos desde el directorio /var /www /html que funciona correctamente para un solo sitio. Si aloja varios sitios, en lugar de modificar /var /www /html, cree una estructura de directorio dentro de /var /www dejando /var /www /html como el directorio predeterminado para servir si la solicitud de un cliente no coincide con ningún otro sitio configurado como anfitrión virtual.

Cree el directorio para example.com, usando la marca -p para crear todos los directorios necesarios:

sudo mkdir -p /var/www/magento/

Asigne al usuario actual como propietario del nuevo directorio:

sudo chown -R $USER:$USER /var/www/magento

Asegúrese de que los permisos sean correctos:

sudo chmod -R 755 /var/www/magento

Cree un nuevo archivo de configuración para el host virtual example.com, sin cambiar el predeterminado:

sudo nano /etc/apache2/sites-available/magento.conf

Pegue las siguientes líneas de código, asegurándose de cambiar los valores de su dominio, en este caso example.com:


<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot /var/www/magento/ServerName esempio.com
 ServerAlias www.esempio.com

 <Directory /var/www/magento/>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>


Guarde y cierre el archivo.

Habilite el nuevo sitio:

sudo a2ensite magento.conf

Verifique si los datos ingresados en los archivos son correctos:

sudo apache2ctl configtest

Debería ver una respuesta similar a esta:


Syntax OK

Reinicie Apache:

sudo systemctl restart apache2

Ahora puede conectarse al host virtual que acaba de crear conectándose a su dominio:


http://esempio.com

Instalar MySQL

Puede instalar MySQL usando el repositorio oficial de Ubuntu con apt. Instale MySQL:

sudo apt install mysql-server

Asegurar MySQL

Inicie un script MySQL para cambiar algunas configuraciones:

sudo mysql_secure_installation

Se le pedirá que ingrese una contraseña para el usuario root, que utilizará para iniciar sesión en el servidor MySQL.

Ingrese "y" para "sí" o cualquier otra letra para "no".

Se le preguntará si desea probar la seguridad de la contraseña.

Entonces se recomienda presionar "y" y luego "sí".

  • Eliminar usuarios anónimos
  • Deshabilitar el inicio de sesión de root de forma remota
  • Eliminar la base de datos de prueba
  • Actualizar las nuevas reglas

Cambiar el método de autenticación

A partir de la versión 5.7 de MySQL, el usuario root de MySQL está configurado para autenticarse a través del complemento auth_socket de forma predeterminada en lugar de una contraseña.

Para usar una contraseña para conectarse a MySQL como usuario root, debe cambiar el método de autenticación, de auth_socket a mysql_native_password.

Como aún no se ha establecido una contraseña, puede conectarse al servidor MySQL simplemente usando el comando mysql o sudo mysql si ha iniciado sesión como usuario normal. A continuación, deberá usar el comando mysql -u root -p como root, de lo contrario sudo mysql -u root -p como usuario normal.

Entonces, si ha iniciado sesión como root, escriba en la terminal:

mysql

De lo contrario, si ha iniciado sesión como un usuario normal con privilegios de sudo:

sudo mysql

Para verificar el método de autenticación asociado con las cuentas mysql:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Debería recibir un mensaje similar a este:


+------------------+-------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+-------------------------------------------+-----------------------+-----------+
 | root | | auth_socket | localhost |
 | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
 +------------------+-------------------------------------------+-----------------------+-----------+
 4 rows in set (0.00 sec)

Como puede ver, el método de autenticación auth_socket está configurado por defecto para el usuario root.

Para utilizar la autenticación de contraseña para la cuenta raíz, realice los siguientes cambios:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Atención:Your password does not satisfy the current policy requirements.este tutorial

Ahora puede verificar el nuevo método de autenticación asociado con el usuario raíz:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Debería recibir un mensaje similar a este:


+------------------+-------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+-------------------------------------------+-----------------------+-----------+
 | root | *E6A3377941E640ADEDCC8907E390B06B0C863862 | mysql_native_password | localhost |
 | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
 +------------------+-------------------------------------------+-----------------------+-----------+
 4 rows in set (0.00 sec)

Salga del indicador de MySQL:

exit;

Para iniciar sesión nuevamente en el servidor MySQL ahora, deberá ingresar una contraseña, luego desde la terminal:

Si ha iniciado sesión como root, escriba en la terminal:

mysql -u root -p

De lo contrario, si ha iniciado sesión como un usuario normal con privilegios de sudo:

sudo mysql -u root -p

Cree una base de datos para Magento:

CREATE DATABASE magento DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Asocie un nuevo usuario a la base de datos de magento con contraseña y privilegios:

GRANT ALL ON magento.* TO 'magentosuser'@'localhost' IDENTIFIED BY 'tua_password';
Atención:Your password does not satisfy the current policy requirements.este tutorial

Actualizar privilegios:

FLUSH PRIVILEGES;

Salir de mysql:

exit;

Instalación de PHP

Para instalar PHP y extensiones útiles para Magento, desde la terminal:

sudo apt install php php-cli libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-bcmath

Reinicie Apache:

sudo service apache2 restart

Instalar Magento

Instale Zip y Unzip para administrar archivos.zip:

sudo apt-get install zip unzip

Ingrese a la carpeta Magento:

cd /var/www/magento

Descarga Magento, actualmente la última versión es 2.3.1. Conéctese al sitio oficial de Magento y regístrese gratis. Debe registrarse antes de poder descargar la última versión de Magento Community Edition (código abierto).

Después de descargar Magento, cárguelo en su servidor en la carpeta /var /www /magento y extraiga el archivo:

sudo unzip Magento-CE-2.3.1-2019-03-18-06-24-49.zip

Habilitar mod_rewrite:

sudo a2enmod rewrite

Reinicie Apache:

sudo service apache2 restart

Cambiar permisos:

sudo chown -R www-data:www-data /var/www/

Conéctese a su nombre de dominio:


http://esempio.com

Debería ver la primera pantalla de instalación de Magento.

El servidor está listo para instalar Magento con LAMP, Virtual Host, PHP, MySQL en Ubuntu 18.04 LTS.

Después de la instalación, en el panel de administración de Magento, si ve la siguiente advertencia: Uno o más indexadores no son válidos. Asegúrese de que su trabajo cron de Magento se esté ejecutando, vaya a la carpeta principal de magento:

cd /var/www/magento

Da el siguiente comando:

php bin/magento indexer:reindex

La configuración está terminada.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.