Apache
Adobe Commerce prend en charge Apache 2.4.x.
Instructions requises pour Apache
-
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.
-
Activez le module de réécriture Apache :
code language-bash a2enmod rewrite
-
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-none <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. -
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">
dans000-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>
.
- Si vous avez effectué une mise à niveau à partir d’une version antérieure d’Apache, recherchez d’abord
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
-
Si Apache n’est pas installé, voir :
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 :
-
Installer Apache
code language-bash apt-get -y install apache2
-
Vérifiez l’installation.
code language-bash apache2 -v
Le résultat s’affiche comme suit :
code language-none Server version: Apache/2.4.18 (Ubuntu) Server built: 2020-04-15T18:00:57
-
Activez réécritures et
.htaccess
.
Mise à niveau d’Apache sur Ubuntu
Pour effectuer la mise à niveau vers Apache 2.4 :
-
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
-
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/. -
Vérifiez l’installation.
code language-bash apache2 -v
Les messages similaires aux suivants doivent s’afficher :
code language-none Server version: Apache/2.4.10 (Ubuntu) Server built: Jul 22 2020 22:46:25
-
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
-
Installez Apache 2.4 si vous ne l’avez pas déjà fait.
code language-bash yum -y install httpd
-
Vérifiez l’installation :
code language-bash httpd -v
Messages similaires à l’affichage suivant pour confirmer la réussite de l’installation :
code language-none Server version: Apache/2.4.40 (Unix) Server built: Oct 16 2020 14:48:21
-
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
-
Ouvrez le fichier
/etc/httpd/conf/httpd.conf
pour le modifier :code language-bash vim /etc/httpd/conf/httpd.conf`
-
Localisez le bloc qui commence par :
code language-conf <Directory "/var/www/html">
-
Remplacez la valeur de
AllowOverride
parAll
.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). -
Enregistrez le fichier et quittez l’éditeur de texte.
-
Pour appliquer les paramètres Apache, redémarrez Apache.
code language-bash service apache2 restart
Activer les réécritures et .htaccess pour Ubuntu
-
Ouvrez le fichier
/etc/apache2/sites-available/default
pour le modifier :code language-bash vim /etc/apache2/sites-available/default
-
Localisez le bloc qui commence par :
<Directory "/var/www/html">
-
Remplacez la valeur de
AllowOverride
parAll
.Par exemple :
code language-conf <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
-
Enregistrez le fichier et quittez l’éditeur de texte.
-
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
-
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>
Order
peuvent ne pas fonctionner dans tous les cas. Pour plus d’informations, voir la documentation Apache.