Apache
Adobe Commerce admite Apache 2.4.x.
Directivas requeridas por Apache
-
Establecer
AllowEncodedSlashes
en la configuración del servidor (globalmente) o en las configuraciones del host virtual para evitar la descodificación de las barras codificadas que pueden 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 archivo de configuración distribuida, .htaccess
.
Adobe Commerce utiliza las reescrituras 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 archivo de configuración distribuida, .htaccess
Adobe Commerce utiliza las reescrituras 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 elemento distribuido
.htaccess
archivo de configuración, consulte las directrices en la Documentación de Apache 2.4.note tip TIP En Apache 2.4, el archivo de configuración del 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-terminal <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">
in000-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 es 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-terminal Server version: Apache/2.4.18 (Ubuntu) Server built: 2020-04-15T18:00:57
-
Activar reescribe y
.htaccess
.
Actualización de Apache a Ubuntu
Para actualizar a Apache 2.4:
-
Añada el
ppa:ondrej
repositorio, 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-terminal Server version: Apache/2.4.10 (Ubuntu) Server built: Jul 22 2020 22:46:25
-
Activar reescribe 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 utilizar en .htaccess
, que la aplicación utiliza 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-terminal 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">
-
Cambiar el valor de
AllowOverride
hastaAll
.Por ejemplo,
code language-conf <Directory "/var/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
note note NOTE Los valores anteriores de Order
podría no funcionar 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">
-
Cambiar el valor de
AllowOverride
hastaAll
.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 utilice
mod_rewrite
módulo: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, utilice uno de los Requerir directivas.
Por ejemplo:
<Directory "/var/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Require all granted
</Directory>
Order
podría no funcionar en todos los casos. Para obtener más información, consulte la Documentación de Apache.