DocumentaciónCommerceGuía de instalación

Solo PaaS

Nginx

15 de julio de 2024
  • Temas:

Creado para:

  • Experimentado
  • Administrador
  • Desarrollador

Adobe Commerce admite nginx 1.x (o la última versión de línea principal). También debe instalar la versión más reciente de php-fpm.

Las instrucciones de instalación varían en función del sistema operativo que utilice. Consulte PHP para obtener información.

Ubuntu

En la siguiente sección se describe cómo instalar Adobe Commerce 2.x en Ubuntu utilizando nginx, PHP y MySQL.

Instalar nginx

sudo apt -y install nginx

También puede generar nginx desde el origen

Después de completar las secciones siguientes e instalar la aplicación, usaremos un archivo de configuración de muestra para configurar nginx.

Instalar y configurar php-fpm

Adobe Commerce requiere varias extensiones PHP para funcionar correctamente. Además de estas extensiones, también debe instalar y configurar la extensión php-fpm si utiliza nginx.

Para instalar y configurar php-fpm:

  1. Instalar php-fpm y php-cli:

    apt-get -y install php7.2-fpm php7.2-cli
    
    NOTE
    Este comando instala la última versión disponible de PHP 7.2.X. Consulte requisitos del sistema para ver las versiones de PHP compatibles.
  2. Abra los php.ini archivos en un editor:

    vim /etc/php/7.2/fpm/php.ini
    
    vim /etc/php/7.2/cli/php.ini
    
  3. Edite ambos archivos para que coincidan con las siguientes líneas:

    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    NOTE
    Se recomienda establecer el límite de memoria en 2 G al probar Adobe Commerce. Consulte Configuración de PHP requerida para obtener más información.
  4. Guarde y salga del editor.

  5. Reinicie el servicio php-fpm:

    systemctl restart php7.2-fpm
    

Instalar y configurar MySQL

Consulte MySQL para obtener más información.

Instalación y configuración

Existen varias formas de descargar Adobe Commerce, entre ellas:

  • Obtener el metapaquete del Compositor

  • Clonar el repositorio de Git

Este ejemplo muestra una instalación basada en Composer mediante la línea de comandos.

  1. Como propietario del sistema de archivos, inicie sesión en su servidor de aplicaciones.

  2. Cambie al directorio docroot del servidor web o a un directorio que haya configurado como docroot del host virtual. Para este ejemplo, se usa el valor predeterminado de Ubuntu /var/www/html.

    cd /var/www/html
    
  3. Instale Composer globalmente. Se requiere el Compositor para actualizar las dependencias antes de instalar Adobe Commerce:

    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Cree un proyecto Composer utilizando el metapaquete de Adobe Commerce.

    Magento Open Source

    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Cuando se le solicite, escriba sus claves de autenticación. Su clave pública es su nombre de usuario; su clave privada es su contraseña.

  5. Establezca permisos de lectura y escritura para el grupo de servidores web antes de instalar la aplicación. Esto es necesario para que la línea de comandos pueda escribir archivos en el sistema de archivos.

    cd /var/www/html/<magento install directory>
    
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    chown -R :www-data . # Ubuntu
    
    chmod u+x bin/magento
    
  6. Instale desde la línea de comandos. En este ejemplo se supone que el directorio de instalación se llama magento2ee, que db-host está en el mismo equipo (localhost) y que db-name, db-user y db-password son todos magento:

    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=magento \
    --db-user=magento \
    --db-password=magento \
    --backend-frontname=admin \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@admin.com \
    --admin-user=admin \
    --admin-password=admin123 \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1 \
    --search-engine=elasticsearch7 \
    --elasticsearch-host=es-host.example.com \
    --elasticsearch-port=9200
    
  7. Cambiar a modo de desarrollador:

    cd /var/www/html/magento2/bin
    
    ./magento deploy:mode:set developer
    

Configuración de nginx

Se recomienda configurar nginx mediante el archivo de configuración nginx.conf.sample proporcionado en el directorio de instalación y el host virtual nginx.

Estas instrucciones suponen que está utilizando la ubicación predeterminada de Ubuntu para el host virtual nginx (por ejemplo, /etc/nginx/sites-available) y el docroot predeterminado de Ubuntu (por ejemplo, /var/www/html); sin embargo, puede cambiar estas ubicaciones para adaptarlas a su entorno.

  1. Cree un nuevo host virtual para el sitio:

    vim /etc/nginx/sites-available/magento
    
  2. Añada la siguiente configuración:

    upstream fastcgi_backend {
      server  unix:/run/php/php7.2-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /var/www/html/magento2;
      include /var/www/html/magento2/nginx.conf.sample;
    }
    
    NOTE
    La directiva include debe apuntar al archivo de configuración nginx de ejemplo en el directorio de instalación.
  3. Reemplace www.magento-dev.com con su nombre de dominio. Debe coincidir con la dirección URL base que especificó al instalar Adobe Commerce.

  4. Guarde y salga del editor.

  5. Active el host virtual recién creado creando un enlace simbólico con él en el directorio /etc/nginx/sites-enabled:

    ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
    
  6. Compruebe que la sintaxis es correcta:

    nginx -t
    
  7. Reiniciar nginx:

    systemctl restart nginx
    

Compruebe la instalación

Abra un explorador web y vaya a la dirección URL base del sitio para comprobar la instalación.

CentOS 7

En la siguiente sección se describe cómo instalar Adobe Commerce 2.x en CentOS 7 mediante nginx, PHP y MySQL.

Instalar nginx

yum -y install epel-release
yum -y install nginx

Una vez finalizada la instalación, inicie nginx y configúrelo para que se inicie durante el arranque:

systemctl start nginx
systemctl enable nginx

Después de completar las siguientes secciones e instalar la aplicación, utilizaremos un archivo de configuración de muestra para configurar nginx.

Instalar y configurar php-fpm

Adobe Commerce requiere varias extensiones PHP para funcionar correctamente. Además de estas extensiones, también debe instalar y configurar la extensión php-fpm si utiliza nginx.

  1. Instalar php-fpm:

    yum -y install php70w-fpm
    
  2. Abra el archivo /etc/php.ini en un editor.

  3. Elimine los comentarios de la línea cgi.fix_pathinfo y cambie el valor a 0.

  4. Edite el archivo para que coincida con las siguientes líneas:

    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    NOTE
    Se recomienda establecer el límite de memoria en 2 G al probar Adobe Commerce. Consulte Configuración de PHP requerida para obtener más información.
  5. Elimine los comentarios del directorio de rutas de sesión y defina la ruta:

    session.save_path = "/var/lib/php/session"
    
  6. Guarde y salga del editor.

  7. Abra /etc/php-fpm.d/www.conf en un editor.

  8. Edite el archivo para que coincida con las siguientes líneas:

    user = nginx
    group = nginx
    listen = /run/php-fpm/php-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
  9. Elimine los comentarios de las líneas de entorno:

    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
    
  10. Guarde y salga del editor.

  11. Cree un directorio para la ruta de sesión PHP y cambie el propietario al usuario y grupo apache:

    mkdir -p /var/lib/php/session/
    
    chown -R apache:apache /var/lib/php/
    
  12. Cree un directorio para la ruta de sesión PHP y cambie el propietario al usuario y grupo apache:

    mkdir -p /run/php-fpm/
    
    chown -R apache:apache /run/php-fpm/
    
  13. Inicie el servicio php-fpm y configúrelo para que se inicie al arrancar:

    systemctl start php-fpm
    
    systemctl enable php-fpm
    
  14. Compruebe que el servicio php-fpm se está ejecutando:

    netstat -pl | grep php-fpm.sock
    

Instalar y configurar MySQL

Consulte MySQL para obtener más información.

Instalación y configuración

Existen varias formas de descargar Adobe Commerce, entre ellas:

  • Obtener el metapaquete del Compositor

  • Clonar el repositorio de Git

Este ejemplo muestra una instalación basada en Composer mediante la línea de comandos.

  1. Como propietario del sistema de archivos, inicie sesión en su servidor de aplicaciones.

  2. Cambie al directorio docroot del servidor web o a un directorio que haya configurado como docroot del host virtual. Para este ejemplo, se usa el valor predeterminado de Ubuntu /var/www/html.

    cd /var/www/html
    
  3. Instale Composer globalmente. Se requiere el Compositor para actualizar las dependencias antes de instalar Adobe Commerce:

    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Cree un proyecto Composer utilizando el metapaquete de Adobe Commerce.

    Magento Open Source

    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Cuando se le solicite, escriba sus claves de autenticación. Su clave pública es su nombre de usuario; su clave privada es su contraseña.

  5. Establezca permisos de lectura y escritura para el grupo de servidores web antes de instalar la aplicación. Esto es necesario para que la línea de comandos pueda escribir archivos en el sistema de archivos.

    cd /var/www/html/<magento install directory>
    
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    chown -R :www-data . # Ubuntu
    
    chmod u+x bin/magento
    
  6. Instale desde la línea de comandos. En este ejemplo se supone que el directorio de instalación se llama magento2ee, que db-host está en el mismo equipo (localhost) y que db-name, db-user y db-password son todos magento:

    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=magento \
    --db-user=magento \
    --db-password=magento \
    --backend-frontname=admin \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@admin.com \
    --admin-user=admin \
    --admin-password=admin123 \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1
    
  7. Cambiar a modo de desarrollador:

    cd /var/www/html/magento2/bin
    
    ./magento deploy:mode:set developer
    

Configuración de nginx

Se recomienda configurar nginx mediante el archivo de configuración nginx.conf.sample proporcionado en el directorio de instalación y el host virtual nginx.

Estas instrucciones suponen que está utilizando la ubicación predeterminada de CentOS para el host virtual nginx (por ejemplo, /etc/nginx/conf.d) y docroot predeterminado (por ejemplo, /usr/share/nginx/html); sin embargo, puede cambiar estas ubicaciones para adaptarlas a su entorno.

  1. Cree un nuevo host virtual para el sitio:

    vim /etc/nginx/conf.d/magento.conf
    
  2. Añada la siguiente configuración:

    upstream fastcgi_backend {
      server  unix:/run/php-fpm/php-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /usr/share/nginx/html/magento2;
      include /usr/share/nginx/html/magento2/nginx.conf.sample;
    }
    
    NOTE
    La directiva include debe apuntar al archivo de configuración nginx de ejemplo en el directorio de instalación.
  3. Reemplace www.magento-dev.com con su nombre de dominio.

  4. Guarde y salga del editor.

  5. Compruebe que la sintaxis es correcta:

    nginx -t
    
  6. Reiniciar nginx:

    systemctl restart nginx
    

Configuración de SELinux y Firefox

SELinux está habilitado de forma predeterminada en CentOS 7. Utilice el siguiente comando para ver si se está ejecutando:

sestatus

Para configurar SELinux y el cortafuegos:

  1. Instale las herramientas de administración de SELinux:

    yum -y install policycoreutils-python
    
  2. Ejecute los siguientes comandos para cambiar el contexto de seguridad del directorio de instalación:

    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
    
    restorecon -Rv '/usr/share/nginx/html/magento2/'
    
  3. Instale el paquete del cortafuegos:

    yum -y install firewalld
    
  4. Inicie el servicio de cortafuegos y configúrelo para que se inicie durante el arranque:

    systemctl start firewalld
    
    systemctl enable firewalld
    
  5. Ejecute los siguientes comandos para abrir los puertos para HTTP y HTTPS y poder acceder a la dirección URL base desde un explorador web:

    firewall-cmd --permanent --add-service=http
    
    firewall-cmd --permanent --add-service=https
    
    firewall-cmd --reload
    

Compruebe la instalación

Abra un explorador web y vaya a la dirección URL base del sitio para comprobar la instalación.

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995