Apache
Adobe Commerce admite Apache 2.4.x.
Directivas requeridas por Apache
-
Establezca
AllowEncodedSlashes
en la configuración del servidor (de forma global) o en las configuraciones del host virtual para evitar descodificar las barras oblicuas codificadas que puedan causar problemas en las direcciones URL. Por ejemplo, al recuperar productos con una barra oblicua en el SKU mediante la API, no desea que se conviertan. El bloque de muestra no está completo y se requieren otras directivas.code language-conf <VirtualHost *:443> # Allow encoded slashes AllowEncodedSlashes NoDecode </VirtualHost>
Apache reescribe y htaccess
En este tema se explica cómo habilitar las reescrituras de Apache 2.4 y especificar una configuración para el archivo de configuración distribuida, .htaccess
.
Adobe Commerce usa las reescrituras del servidor y .htaccess
para proporcionar instrucciones a nivel de directorio para Apache. Las siguientes instrucciones se incluyen también en todas las demás secciones de este tema.
Utilice esta sección para habilitar las reescrituras de Apache 2.4 y especificar una configuración para el archivo de configuración distribuido, .htaccess
Adobe Commerce usa las reescrituras del servidor y .htaccess
para proporcionar instrucciones a nivel de directorio para Apache.
-
Habilite el módulo de reescritura de Apache:
code language-bash a2enmod rewrite
-
Para permitir que la aplicación use el archivo de configuración distribuido
.htaccess
, consulte las directrices en la documentación de Apache 2.4.note tip TIP En Apache 2.4, el archivo de configuración de sitio predeterminado del servidor es /etc/apache2/sites-available/000-default.conf
.Por ejemplo, puede agregar lo siguiente al final de
000-default.conf
:code language-none <Directory "/var/www/html"> AllowOverride All </Directory>
note note NOTE A veces, pueden ser necesarios parámetros adicionales. Para obtener más información, consulte la documentación de Apache 2.4. -
Si ha cambiado la configuración de Apache, reinicie Apache:
code language-bash service apache2 restart
note note NOTE - Si ha actualizado desde una versión anterior de Apache, busque primero
<Directory "/var/www/html">
o<Directory "/var/www">
en000-default.conf
. - Debe cambiar el valor de
AllowOverride
en la directiva del directorio en el que espera instalar el software de Adobe Commerce. Por ejemplo, para instalar en el servidor web docroot, edite la directiva en<Directory /var/www>
.
- Si ha actualizado desde una versión anterior de Apache, busque primero
Módulos requeridos por Apache
Adobe Commerce requiere que se instalen los siguientes módulos Apache:
Verifique la versión de Apache
Para verificar la versión de Apache que está ejecutando actualmente, introduzca:
apache2 -v
El resultado es similar al siguiente:
Server version: Apache/2.4.04 (Ubuntu)
Server built: Jul 22 2020 14:35:32
-
Si Apache está no instalado, consulte:
Instalación o actualización de Apache en Ubuntu
Las siguientes secciones tratan sobre cómo instalar o actualizar Apache:
- Instalar Apache
- Actualice a Apache 2.4 en Ubuntu para utilizar PHP 7.4.
Instalación de Apache en Ubuntu
Para instalar la versión predeterminada de Apache:
-
Instalar Apache
code language-bash apt-get -y install apache2
-
Compruebe la instalación.
code language-bash apache2 -v
El resultado es similar al siguiente:
code language-none Server version: Apache/2.4.18 (Ubuntu) Server built: 2020-04-15T18:00:57
-
Habilite reescrituras y
.htaccess
.
Actualización de Apache a Ubuntu
Para actualizar a Apache 2.4:
-
Agregue el repositorio
ppa:ondrej
, que tiene Apache 2.4:code language-bash apt-get -y update
code language-bash apt-add-repository ppa:ondrej/apache2
code language-bash apt-get -y update
-
Instale Apache 2.4:
code language-bash apt-get install -y apache2
note note NOTE Si el comando "apt-get install" falla debido a dependencias no satisfechas, consulte un recurso como https://askubuntu.com/. -
Compruebe la instalación.
code language-bash apache2 -v
Se deben mostrar mensajes similares a los siguientes:
code language-none Server version: Apache/2.4.10 (Ubuntu) Server built: Jul 22 2020 22:46:25
-
Habilite reescrituras y
.htaccess
.
Instalación de Apache en CentOS
Adobe Commerce requiere reescrituras del servidor Apache. También debe especificar el tipo de directivas que se pueden usar en .htaccess
, que la aplicación usa para especificar reglas de reescritura.
La instalación y configuración de Apache es básicamente un proceso de tres pasos: instalar el software, habilitar las reescrituras y especificar .htaccess
directivas.
Instalación de Apache
-
Instale Apache 2.4 si aún no lo ha hecho.
code language-bash yum -y install httpd
-
Compruebe la instalación:
code language-bash httpd -v
Se muestran mensajes similares a los siguientes para confirmar que la instalación se ha realizado correctamente:
code language-none Server version: Apache/2.4.40 (Unix) Server built: Oct 16 2020 14:48:21
-
Continúe con la siguiente sección.
note note NOTE Incluso si Apache 2.4 se proporciona de forma predeterminada con CentOS, consulte la siguiente sección para configurarlo.
Habilitar reescrituras y .htaccess para CentOS
-
Abrir
/etc/httpd/conf/httpd.conf
archivo para editar:code language-bash vim /etc/httpd/conf/httpd.conf`
-
Busque el bloque que comienza con:
code language-conf <Directory "/var/www/html">
-
Cambie el valor de
AllowOverride
aAll
.Por ejemplo,
code language-conf <Directory "/var/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
note note NOTE Es posible que los valores anteriores de Order
no funcionen en todos los casos. Para obtener más información, consulte la documentación de Apache (2.4). -
Guarde el archivo y salga del editor de texto.
-
Para aplicar la configuración de Apache, reinicie Apache.
code language-bash service apache2 restart
Habilitar reescrituras y .htaccess para Ubuntu
-
Abrir
/etc/apache2/sites-available/default
archivo para editar:code language-bash vim /etc/apache2/sites-available/default
-
Busque el bloque que comienza con:
<Directory "/var/www/html">
-
Cambie el valor de
AllowOverride
aAll
.Por ejemplo:
code language-conf <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
-
Guarde el archivo y salga del editor de texto.
-
Configure Apache para que use el módulo
mod_rewrite
:code language-bash cd /etc/apache2/mods-enabled
code language-bash ln -s ../mods-available/rewrite.load
-
Reinicie Apache para aplicar los cambios:
code language-bash service apache2 restart
Solución de errores 403 (prohibido)
Si encuentra errores 403 prohibidos al intentar acceder al sitio, puede actualizar la configuración de Apache o la configuración del host virtual para permitir a los visitantes del sitio:
Solución de errores 403 prohibidos para Apache 2.4
Para permitir que los visitantes del sitio web accedan al sitio, use una de las Directivas de requisitos.
Por ejemplo:
<Directory "/var/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Require all granted
</Directory>
Order
no funcionen en todos los casos. Para obtener más información, consulte la documentación de Apache.