Nginx
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
:
-
Instalar
php-fpm
yphp-cli
:code language-bash apt-get -y install php7.2-fpm php7.2-cli
note note 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. -
Abra los
php.ini
archivos en un editor:code language-bash vim /etc/php/7.2/fpm/php.ini
code language-bash vim /etc/php/7.2/cli/php.ini
-
Edite ambos archivos para que coincidan con las siguientes líneas:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note 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. -
Guarde y salga del editor.
-
Reinicie el servicio
php-fpm
:code language-bash 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:
Este ejemplo muestra una instalación basada en Composer mediante la línea de comandos.
-
Como propietario del sistema de archivos, inicie sesión en su servidor de aplicaciones.
-
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
.code language-bash cd /var/www/html
-
Instale Composer globalmente. Se requiere el Compositor para actualizar las dependencias antes de instalar Adobe Commerce:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
Cree un proyecto Composer utilizando el metapaquete de Adobe Commerce.
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
code language-bash 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.
-
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.
code language-bash cd /var/www/html/<magento install directory>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :www-data . # Ubuntu
code language-bash chmod u+x bin/magento
-
Instale desde la línea de comandos. En este ejemplo se supone que el directorio de instalación se llama
magento2ee
, quedb-host
está en el mismo equipo (localhost
) y quedb-name
,db-user
ydb-password
son todosmagento
:code language-bash 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
-
Cambiar a modo de desarrollador:
code language-bash cd /var/www/html/magento2/bin
code language-bash ./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.
-
Cree un nuevo host virtual para el sitio:
code language-bash vim /etc/nginx/sites-available/magento
-
Añada la siguiente configuración:
code language-conf 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 note NOTE La directiva include
debe apuntar al archivo de configuración nginx de ejemplo en el directorio de instalación. -
Reemplace
www.magento-dev.com
con su nombre de dominio. Debe coincidir con la dirección URL base que especificó al instalar Adobe Commerce. -
Guarde y salga del editor.
-
Active el host virtual recién creado creando un enlace simbólico con él en el directorio
/etc/nginx/sites-enabled
:code language-bash ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
-
Compruebe que la sintaxis es correcta:
code language-bash nginx -t
-
Reiniciar nginx:
code language-bash 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.
-
Instalar
php-fpm
:code language-bash yum -y install php70w-fpm
-
Abra el archivo
/etc/php.ini
en un editor. -
Elimine los comentarios de la línea
cgi.fix_pathinfo
y cambie el valor a0
. -
Edite el archivo para que coincida con las siguientes líneas:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note 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. -
Elimine los comentarios del directorio de rutas de sesión y defina la ruta:
code language-conf session.save_path = "/var/lib/php/session"
-
Guarde y salga del editor.
-
Abra
/etc/php-fpm.d/www.conf
en un editor. -
Edite el archivo para que coincida con las siguientes líneas:
code language-conf user = nginx group = nginx listen = /run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660
-
Elimine los comentarios de las líneas de entorno:
code language-conf env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
-
Guarde y salga del editor.
-
Cree un directorio para la ruta de sesión PHP y cambie el propietario al usuario y grupo
apache
:code language-bash mkdir -p /var/lib/php/session/
code language-bash chown -R apache:apache /var/lib/php/
-
Cree un directorio para la ruta de sesión PHP y cambie el propietario al usuario y grupo
apache
:code language-bash mkdir -p /run/php-fpm/
code language-bash chown -R apache:apache /run/php-fpm/
-
Inicie el servicio
php-fpm
y configúrelo para que se inicie al arrancar:code language-bash systemctl start php-fpm
code language-bash systemctl enable php-fpm
-
Compruebe que el servicio
php-fpm
se está ejecutando:code language-bash 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:
Este ejemplo muestra una instalación basada en Composer mediante la línea de comandos.
-
Como propietario del sistema de archivos, inicie sesión en su servidor de aplicaciones.
-
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
.code language-bash cd /var/www/html
-
Instale Composer globalmente. Se requiere el Compositor para actualizar las dependencias antes de instalar Adobe Commerce:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
Cree un proyecto Composer utilizando el metapaquete de Adobe Commerce.
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
code language-bash 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.
-
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.
code language-bash cd /var/www/html/<magento install directory>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :www-data . # Ubuntu
code language-bash chmod u+x bin/magento
-
Instale desde la línea de comandos. En este ejemplo se supone que el directorio de instalación se llama
magento2ee
, quedb-host
está en el mismo equipo (localhost
) y quedb-name
,db-user
ydb-password
son todosmagento
:code language-bash 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
-
Cambiar a modo de desarrollador:
code language-bash cd /var/www/html/magento2/bin
code language-bash ./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.
-
Cree un nuevo host virtual para el sitio:
code language-bash vim /etc/nginx/conf.d/magento.conf
-
Añada la siguiente configuración:
code language-conf 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 note NOTE La directiva include
debe apuntar al archivo de configuración nginx de ejemplo en el directorio de instalación. -
Reemplace
www.magento-dev.com
con su nombre de dominio. -
Guarde y salga del editor.
-
Compruebe que la sintaxis es correcta:
code language-bash nginx -t
-
Reiniciar nginx:
code language-bash 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:
-
Instale las herramientas de administración de SELinux:
code language-bash yum -y install policycoreutils-python
-
Ejecute los siguientes comandos para cambiar el contexto de seguridad del directorio de instalación:
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
code language-bash restorecon -Rv '/usr/share/nginx/html/magento2/'
-
Instale el paquete del cortafuegos:
code language-bash yum -y install firewalld
-
Inicie el servicio de cortafuegos y configúrelo para que se inicie durante el arranque:
code language-bash systemctl start firewalld
code language-bash systemctl enable firewalld
-
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:
code language-bash firewall-cmd --permanent --add-service=http
code language-bash firewall-cmd --permanent --add-service=https
code language-bash 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.