Apache

Adobe Commerce prend en charge Apache 2.4.x.

Instructions requises pour Apache

  1. Définissez AllowEncodedSlashes dans la configuration du serveur (globalement) ou dans les configurations de l’hôte virtuel afin d’éviter le décodage des barres obliques codées susceptibles de poser des problèmes pour les URL. Par exemple, lors de la récupération de produits avec une barre oblique dans le SKU via l’API, vous ne souhaitez pas qu’ils soient convertis. Le bloc d’exemple n’est pas terminé et d’autres directives sont requises.

    code language-conf
    <VirtualHost *:443>
      # Allow encoded slashes
      AllowEncodedSlashes NoDecode
    </VirtualHost>
    

Apache réécrit et htaccess

Cette rubrique explique comment activer les réécritures Apache 2.4 et spécifier un paramètre pour le fichier de configuration distribué, .htaccess.

Adobe Commerce utilise les réécritures de serveur et .htaccess pour fournir des instructions au niveau du répertoire pour Apache. Les instructions suivantes sont également incluses dans toutes les autres sections de cette rubrique.

Utilisez cette section pour activer les réécritures Apache 2.4 et spécifier un paramètre pour le fichier de configuration distribué, .htaccess

Adobe Commerce utilise les réécritures de serveur et .htaccess pour fournir des instructions au niveau du répertoire pour Apache.

NOTE
Si ces paramètres ne sont pas activés, aucun style ne s’affiche sur votre storefront ou votre administrateur.
  1. Activez le module de réécriture Apache :

    code language-bash
    a2enmod rewrite
    
  2. Pour permettre à l’application d’utiliser le fichier de configuration .htaccess distribué, consultez les instructions de la documentation Apache 2.4.

    note tip
    TIP
    Dans Apache 2.4, le fichier de configuration de site par défaut du serveur est /etc/apache2/sites-available/000-default.conf.

    Par exemple, vous pouvez ajouter les éléments suivants à la fin de 000-default.conf :

    code language-terminal
    <Directory "/var/www/html">
        AllowOverride All
    </Directory>
    
    note note
    NOTE
    Il peut arriver que des paramètres supplémentaires soient nécessaires. Pour plus d’informations, voir la documentation Apache 2.4.
  3. Si vous avez modifié les paramètres Apache, redémarrez Apache :

    code language-bash
    service apache2 restart
    
    note note
    NOTE
    • Si vous avez effectué une mise à niveau à partir d’une version antérieure d’Apache, recherchez d’abord <Directory "/var/www/html"> ou <Directory "/var/www"> dans 000-default.conf.
    • Vous devez modifier la valeur de AllowOverride dans la directive pour le répertoire dans lequel vous prévoyez d’installer le logiciel Adobe Commerce. Par exemple, pour installer dans le docroot du serveur web, modifiez la directive dans <Directory /var/www>.
NOTE
Si ces paramètres ne sont pas activés, les styles ne s’affichent généralement pas sur le storefront ni sur l’administrateur.

Modules Apache requis

Adobe Commerce requiert l’installation des modules Apache suivants :

Vérification de la version d’Apache

Pour vérifier la version d’Apache en cours d’exécution, saisissez :

apache2 -v

Le résultat s’affiche comme suit :

Server version: Apache/2.4.04 (Ubuntu)
Server built: Jul 22 2020 14:35:32

Installation ou mise à niveau d’Apache sur Ubuntu

Les sections suivantes expliquent comment installer ou mettre à niveau Apache :

  • Installer Apache
  • Effectuez une mise à niveau vers Apache 2.4 sous Ubuntu pour utiliser PHP 7.4.

Installation d’Apache sur Ubuntu

Pour installer la version par défaut d’Apache :

  1. Installer Apache

    code language-bash
    apt-get -y install apache2
    
  2. Vérifiez l’installation.

    code language-bash
    apache2 -v
    

    Le résultat s’affiche comme suit :

    code language-terminal
    Server version: Apache/2.4.18 (Ubuntu)
    Server built: 2020-04-15T18:00:57
    
  3. Activez réécritures et .htaccess.

Mise à niveau d’Apache sur Ubuntu

Pour effectuer la mise à niveau vers Apache 2.4 :

  1. Ajoutez le référentiel ppa:ondrej, qui possède 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. Installez Apache 2.4 :

    code language-bash
    apt-get install -y apache2
    
    note note
    NOTE
    Si la commande "apt-get install" échoue en raison de dépendances non satisfaites, consultez une ressource telle que https://askubuntu.com/.
  3. Vérifiez l’installation.

    code language-bash
    apache2 -v
    

    Les messages similaires aux suivants doivent s’afficher :

    code language-terminal
    Server version: Apache/2.4.10 (Ubuntu)
    Server built: Jul 22 2020 22:46:25
    
  4. Activez réécritures et .htaccess.

Installation d’Apache sur CentOS

Adobe Commerce nécessite des réécritures du serveur Apache. Vous devez également spécifier le type de directives qui peut être utilisé dans .htaccess, que l’application utilise pour spécifier les règles de réécriture.

L'installation et la configuration d'Apache sont essentiellement un processus en trois étapes : installation du logiciel, activation des réécritures et spécification des directives .htaccess.

Installation d’Apache

  1. Installez Apache 2.4 si vous ne l’avez pas déjà fait.

    code language-bash
    yum -y install httpd
    
  2. Vérifiez l’installation :

    code language-bash
    httpd -v
    

    Messages similaires à l’affichage suivant pour confirmer la réussite de l’installation :

    code language-terminal
    Server version: Apache/2.4.40 (Unix)
    Server built: Oct 16 2020 14:48:21
    
  3. Passez à la section suivante.

    note note
    NOTE
    Même si Apache 2.4 est fourni par défaut avec CentOS, consultez la section suivante pour le configurer.

Activation des réécritures et des accès .html pour CentOS

  1. Ouvrez le fichier /etc/httpd/conf/httpd.conf pour le modifier :

    code language-bash
    vim /etc/httpd/conf/httpd.conf`
    
  2. Localisez le bloc qui commence par :

    code language-conf
    <Directory "/var/www/html">
    
  3. Remplacez la valeur de AllowOverride par All.

    Par exemple,

    code language-conf
    <Directory "/var/www/">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
    
    note note
    NOTE
    Les valeurs précédentes pour Order peuvent ne pas fonctionner dans tous les cas. Pour plus d’informations, voir la documentation Apache (2.4).
  4. Enregistrez le fichier et quittez l’éditeur de texte.

  5. Pour appliquer les paramètres Apache, redémarrez Apache.

    code language-bash
    service apache2 restart
    
NOTE
Si ces paramètres ne sont pas activés, aucun style ne s’affiche sur votre storefront ou votre administrateur.

Activer les réécritures et .htaccess pour Ubuntu

  1. Ouvrez le fichier /etc/apache2/sites-available/default pour le modifier :

    code language-bash
    vim /etc/apache2/sites-available/default
    
  2. Localisez le bloc qui commence par :

    <Directory "/var/www/html">

  3. Remplacez la valeur de AllowOverride par All.

    Par exemple :

    code language-conf
    <Directory "/var/www/html">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
    
  4. Enregistrez le fichier et quittez l’éditeur de texte.

  5. Configurez Apache pour utiliser le module mod_rewrite :

    code language-bash
    cd /etc/apache2/mods-enabled
    
    code language-bash
    ln -s ../mods-available/rewrite.load
    
  6. Redémarrez Apache pour appliquer les modifications :

    code language-bash
    service apache2 restart
    

Résolution des erreurs 403 (Interdit)

Si vous rencontrez des erreurs 403 interdites lors de la tentative d’accès au site, vous pouvez mettre à jour votre configuration Apache ou votre configuration d’hôte virtuel pour permettre aux visiteurs de se rendre sur le site :

Résolution des erreurs 403 interdites pour Apache 2.4

Pour permettre aux visiteurs de votre site web d’accéder à votre site, utilisez l’une des directives requises.

Par exemple :

<Directory "/var/www/">
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Require all granted
</Directory>
NOTE
Les valeurs précédentes pour Order peuvent ne pas fonctionner dans tous les cas. Pour plus d’informations, voir la documentation Apache.
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995