Apache

Adobe Commerce admite Apache 2.4.x.

Directivas requeridas por Apache

  1. 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.

NOTE
Si no se habilita esta configuración, no se muestran estilos en la tienda o el administrador.
  1. Habilite el módulo de reescritura de Apache:

    code language-bash
    a2enmod rewrite
    
  2. 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.
  3. 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"> en 000-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>.
NOTE
Si no se habilita esta configuración, los estilos no se mostrarán en la tienda ni en el administrador.

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

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:

  1. Instalar Apache

    code language-bash
    apt-get -y install apache2
    
  2. 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
    
  3. Habilite reescrituras y .htaccess.

Actualización de Apache a Ubuntu

Para actualizar a Apache 2.4:

  1. 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
    
  2. 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/.
  3. 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
    
  4. 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

  1. Instale Apache 2.4 si aún no lo ha hecho.

    code language-bash
    yum -y install httpd
    
  2. 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
    
  3. 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

  1. Abrir /etc/httpd/conf/httpd.conf archivo para editar:

    code language-bash
    vim /etc/httpd/conf/httpd.conf`
    
  2. Busque el bloque que comienza con:

    code language-conf
    <Directory "/var/www/html">
    
  3. Cambie el valor de AllowOverride a All.

    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).
  4. Guarde el archivo y salga del editor de texto.

  5. Para aplicar la configuración de Apache, reinicie Apache.

    code language-bash
    service apache2 restart
    
NOTE
Si no se habilita esta configuración, no se muestran estilos en la tienda o el administrador.

Habilitar reescrituras y .htaccess para Ubuntu

  1. Abrir /etc/apache2/sites-available/default archivo para editar:

    code language-bash
    vim /etc/apache2/sites-available/default
    
  2. Busque el bloque que comienza con:

    <Directory "/var/www/html">

  3. Cambie el valor de AllowOverride a All.

    Por ejemplo:

    code language-conf
    <Directory "/var/www/html">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
    
  4. Guarde el archivo y salga del editor de texto.

  5. 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
    
  6. 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>
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.
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995