Cómo instalar Magento con NGINX y SSL en Ubuntu Server 18.04
En el mundo actual, no se puede correr el riesgo de ofrecer sitios web de empresa sin capas adicionales de seguridad. Ya he demostrado cómo instalar la solución de comercio electrónico Magento con Apache en Ubuntu Server 18.04 (Ver: Cómo instalar Magento en Ubuntu 18.04). Esa instalación en particular funciona bien, pero tiene un precio: no hay Capa de sockets seguros (SSL).
Quiero guiarte por otro camino de instalación, uno que incluye HTTPS. En este proceso, optaremos por NGINX (en lugar de Apache) y utilizaremos letsencrypt para SSL.
Lo que necesitas
Las únicas cosas que necesitas para esta instalación son:
- Una instalación de Ubuntu Server 18.04 en funcionamiento.
- Un Nombre de Dominio Completo (FQDN).
- Una cuenta de usuario con privilegios de sudo.
Yo demostraré la configuración utilizando el dominio example.com. Deberás sustituir tu FQDN en cualquier lugar donde veas example.com.
Y con eso, comencemos la instalación.
Actualizar/actualizar
Primero, actualiza y actualiza tu servidor. Ten en cuenta que, si el kernel se actualiza en el proceso, será necesario reiniciar el servidor. Por lo tanto, ejecuta el proceso de actualización/actualización durante un momento en el que sea posible reiniciar.
Los diferentes tipos de buses en los dispositivos electrónicosPara ejecutar el proceso de actualización/actualización, inicia sesión en tu servidor Ubuntu y ejecuta el siguiente comando:
sudo apt-update
sudo apt-get upgrade -y
Si se actualiza tu kernel, reinicia el servidor y prepárate para la instalación.
NGINX
A continuación, necesitamos instalar el servidor web NGINX. En tu ventana de terminal, ejecuta el siguiente comando:
sudo apt-get install nginx -y
Una vez que la instalación se complete, inicia y habilita el servidor web con los siguientes comandos:
Cómo entrar al programa de configuración del BIOS en tu computadorasudo systemctl start nginx
sudo systemctl enable nginx
Componentes de PHP
Hay varios componentes PHP que deben ser instalados. Para hacer esto, primero instala un repositorio de terceros. Hazlo con los siguientes comandos:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update
Instala los componentes PHP con el siguiente comando:
sudo apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath -y
Antes de continuar, PHP debe ser configurado. Hay dos archivos que deben ser modificados:
Entendiendo los permisos de archivos y directorios en UNIX- /etc/php/7.1/fpm/php.ini
- /etc/php/7.1/cli/php.ini
Para cada archivo, realiza las siguientes ediciones de configuración:
memory_limit = 512M
max_execution_time = 180
zlib.output_compression = On
Reinicia y habilita PHP FPM con los siguientes comandos:
sudo systemctl restart php7.1-fpm
sudo systemctl enable php7.1-fpm
Servidor MySQL
Magento depende del servidor MySQL. Instala este paquete con el siguiente comando:
sudo apt install mysql-server mysql-client -y
Inicia y habilita el servicio con los siguientes comandos:
sudo systemctl start mysql
sudo systemctl enable mysql
Protege la instalación de MySQL con el comando:
sudo mysql_secure_installation
Asegúrate de crear una contraseña fuerte/única para el usuario administrador de MySQL y responde "sí" a las preguntas restantes.
Es hora de crear la base de datos necesaria. Inicia la sesión en el prompt de MySQL con el comando:
Cómo funciona y cómo probar una fuente de alimentación para PCsudo mysql -u root -p
Crea la base de datos y un nuevo usuario con los comandos:
CREATE DATABASE magentodb;
CREATE USER 'magentouser'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON magentodb.* TO 'magentouser'@'localhost' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exit
donde PASSWORD es una contraseña fuerte/única.
PHP Composer
PHP Composer también debe ser instalado. Para ello, ejecuta el siguiente comando:
sudo apt install composer -y
Clonar e instalar Magento
Vamos a obtener la última versión de Magento. Para hacer esto, primero instala git (si aún no está instalado) con el comando:
sudo apt-get install git -y
Clona Magento con el comando:
git clone https://github.com/magento/magento2.git
Ingresa al directorio recién creado con el comando cd magento2 e instala Magento con el comando:
sudo composer install -v
SSL
Ahora es el momento de generar nuestros certificados SSL. Antes de hacer esto, primero debemos instalar Letsencrypt. Haz esto con el siguiente comando:
sudo apt install letsencrypt -y
Después de que la instalación se complete, detén NGINX con:
sudo systemctl stop nginx
Genera el certificado SSL con el comando:
sudo certbot certonly --standalone -d example.com
Cuando el comando anterior se complete, los certificados se colocarán en /etc/letsencrypt/live/example.com/ (donde example.com es tu FQDN).
Configurar NGINX
Crea un nuevo archivo de configuración con el comando:
sudo nano /etc/nginx/sites-available/magento
Pega lo siguiente en ese archivo (recuerda reemplazar example.com con tu FQDN):
upstream fastcgi_backend {
server unix:/run/php/php7.1-fpm.sock;
}
server {
listen 80;
listen [::]:80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}
Guarda y cierra ese archivo.
Activa el sitio recién creado con el comando:
10 consejos para solucionar problemas de servidores y recuperarlos rápidamentesudo ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
Reinicia NGINX con los comandos:
sudo systemctl restart php7.1-fpm
sudo systemctl start nginx
Por último, cambia la propiedad del directorio magento2 con el comando:
sudo chown -R www-data:www-data /var/www/magento2/
Ahora puedes apuntar tu navegador a https://FQDN (donde FQDN es tu Nombre de Dominio Completo) y finalizar la configuración de Magento a través de la herramienta basada en web.
Listo para servir
Y eso es todo lo que hay que hacer para configurar la solución de comercio electrónico Magento con NGINX y SSL. Si planeas vender productos para tu negocio, debes hacerlo a través de un HTTP seguro (de lo contrario, corres el riesgo de dañar la integridad de tu seguridad y reputación).
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Centros de Datos, allí encontraras muchos artículos similares a Cómo instalar Magento con NGINX y SSL en Ubuntu Server 18.04 , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados