Configurer le serveur Web Apache
ServBay vous permet de gérer et de configurer facilement le paquet du serveur Web Apache intégré. Grâce à l’interface graphique de ServBay, vous pouvez facilement ajuster les paramètres essentiels d’Apache pour répondre aux besoins de différents projets de développement.
Accéder à la configuration d’Apache
- Ouvrez l’application ServBay.
- Dans la barre de navigation à gauche, cliquez sur
Serveur Web
. - Sélectionnez l’onglet
Apache
.
Vous verrez alors l’interface de configuration d’Apache, comme illustré ci-dessous :
Explication des principaux paramètres
Vous trouverez ci-dessous un aperçu détaillé des différentes options disponibles dans l’interface de configuration Apache :
Paramètres de base
- HTTP Port : Port d’écoute d’Apache pour le protocole HTTP, par défaut
80
. - HTTPS Port : Port d’écoute d’Apache pour le protocole HTTPS, par défaut
443
. - Server Name : Nom et port utilisés par le serveur pour s’identifier.
127.0.0.1
est la valeur par défaut pour un accès local. - Server Root : Répertoire racine d’installation du paquet Apache. Remarque : Il ne s’agit pas du dossier où sont stockés vos fichiers de site (le répertoire racine de chaque site est défini individuellement lors de l’ajout d’un site), mais du chemin où se trouvent les fichiers exécutables d’Apache. Par défaut :
/Applications/ServBay/package/apache/current
.
Optimisation de la performance (Performance Tuning)
- Timeout : Nombre maximal de secondes pendant lesquelles le serveur attendra avant d’abandonner une opération d’E/S. Par défaut,
300
secondes. - Max KeepAlive Requests : Nombre maximal de requêtes autorisées sur une connexion persistante.
1000
signifie qu’un grand nombre de requêtes peuvent utiliser la même connexion,0
indique aucune limite. - KeepAlive Timeout : Nombre maximal de secondes qu’Apache attend avant de fermer une connexion persistante si aucune nouvelle requête n’arrive. Par défaut,
60
secondes. - Keep Alive : Permet d’activer ou non les connexions HTTP persistantes (KeepAlive). Il est recommandé de le laisser sur
On
pour de meilleures performances. - MPM StartServers : Nombre de processus enfants créés au démarrage du serveur.
- MPM MaxSpareThreads : Nombre maximal de threads inactifs. Ce paramètre contrôle le nombre de threads de réserve pour faire face aux pics de trafic.
- MPM MaxConnectionsPerChild (anciennement MaxRequestsPerChild) : Nombre maximal de connexions qu’un processus enfant peut gérer pendant sa durée de vie.
0
indique aucune limite. Cela aide à prévenir les fuites de mémoire à long terme. - MPM MaxRequestWorkers (anciennement MaxClients) : Nombre maximal de requêtes simultanées traitées (somme sur tous les processus enfants). Il s’agit d’un paramètre clé pour les performances d’Apache.
- MPM ThreadsPerChild : Nombre fixe de threads créés par chaque processus enfant (pour les modes
worker
ouevent
MPM).
Fonctionnalités et caractéristiques (Features & Characteristics)
- Access File Name : Directive spécifiant le nom du fichier de configuration distribué, typiquement
.htaccess
. Cela permet ou interdit l’utilisation de fichiers.htaccess
pour surcharger la configuration principale du serveur. - Use Canonical Name : Contrôle comment Apache construit les URL auto-référencées.
Off
offre généralement plus de flexibilité. - Server Signature : Ajoute une ligne d’information (version du serveur et nom de l’hôte virtuel) au bas des pages générées par le serveur (ex : pages d’erreur). Pour des raisons de sécurité, il est conseillé de la désactiver (
Off
) en production. - Hostname Lookups : Détermine si le serveur effectue une résolution DNS inverse de l’adresse IP du client pour obtenir son nom d’hôte.
Off
améliore la performance, car les requêtes DNS peuvent être lentes. - Server Tokens : Contrôle la quantité d’informations exposées dans l’en-tête de réponse du serveur (
Server:
).Minor
(exemple : Apache/2.4) est plus sécurisé queFull
(exemple : Apache/2.4.58 (Unix) PHP/8.3.1).Prod
n’affiche queApache
.
Administration et journalisation (Admin & Logging)
- Server Admin : Adresse e-mail de l’administrateur affichée dans les messages d’erreur envoyés au client.
- Log Level : Contrôle le niveau de détail des messages enregistrés dans le journal d’erreurs (
error_log
).warn
est courant pour consigner les avertissements et les erreurs graves. Autres niveaux :debug
,info
,notice
,error
,crit
,alert
,emerg
.
Modules
Cette section liste les modules Apache disponibles. Vous pouvez cocher la case pour activer les modules nécessaires, ou la décocher pour les désactiver. Exemples de modules usuels :
mod_rewrite
: pour la réécriture d’URL.mod_ssl
: active la prise en charge SSL/TLS (HTTPS).mod_deflate
: pour la compression du contenu transféré.mod_expires
: contrôle des en-têtes de cache.mod_proxy
et modules associés : pour la configuration de proxy inverse.mod_auth_basic
,mod_auth_digest
: authentification basique ou par empreinte numérique.
Après avoir activé ou désactivé des modules, il est nécessaire d’enregistrer la configuration et, le cas échéant, de redémarrer le service Apache pour appliquer les changements.
Index de répertoire (Directory Index)
- Directory Index : Lorsqu’une URL cible un répertoire, Apache cherche dans l’ordre les fichiers de cette liste. Il affiche le contenu du premier fichier trouvé. Par défaut :
index.html index.htm index.php
.
Paramètres SSL/TLS
Ces paramètres servent à configurer la prise en charge HTTPS d’Apache.
- SSLCipherSuite / TLSCipherSuite : Définit la suite de chiffrement autorisée par le serveur. Utiliser une suite de chiffrement moderne et robuste est essentiel pour la sécurité. ServBay fournit des valeurs par défaut recommandées.
- SSLProxyCipherSuite : Détermine les suites de chiffrement utilisées par Apache en tant que proxy inverse pour les connexions SSL.
- SSLHonorCipherOrder :
On
signifie que le serveur privilégie l’ordre des suites de chiffrement qu’il préfère, plutôt que celui du client. Il est recommandé de laisserOn
. - SSLStrictSNIVHostCheck :
On
signifie que toute requête adressée à un hôte non configuré via le SNI (Server Name Indication) sera refusée. Cela renforce la sécurité. - ProtocolHonorOrder : Similaire à
SSLHonorCipherOrder
, mais concerne les négociations de versions de protocoles. - SSLProtocol : Définit les versions de protocoles SSL/TLS autorisées. Exemple
all -SSLv2 -SSLv3
= autorise tous les protocoles modernes sauf SSLv2 et SSLv3 qui sont obsolètes et vulnérables. - SSLProxyProtocol : Définit les versions de protocoles SSL disponibles pour Apache en mode proxy inverse.
- Protocols : Définit l’ordre de négociation des protocoles supportés (exemple : activer HTTP/2).
h2 h2c http/1.1
indique qu’Apache essaiera d’abord HTTP/2 (chiffréh2
ou en clairh2c
), puis reviendra à HTTP/1.1.
Enregistrement et réinitialisation
- Reset : Ce bouton permet de restaurer toute la configuration Apache aux paramètres par défaut de ServBay.
- Save : Ce bouton enregistre toutes les modifications apportées à la configuration d’Apache. Après l’enregistrement, ServBay appliquera automatiquement les changements. Si le service Apache est déjà en cours d’exécution, un redémarrage rapide peut s’avérer nécessaire pour que toutes les modifications prennent effet.
Remarques importantes
- Les changements effectués ici concernent la configuration globale d’Apache. Les paramètres spécifiques à un site (hôte virtuel), comme
DocumentRoot
ou certaines directivesRewriteRule
, sont généralement définis au moment de l’ajout ou de la modification d’unSite Web
(Websites). - Si vous voyez en haut de la page de configuration la mention "Service Apache is not enabled", cela signifie que le service Apache n’est pas en cours d’exécution. Vous pouvez toujours modifier et enregistrer la configuration, mais les changements ne seront pris en compte qu’au prochain démarrage du service Apache. Pour démarrer Apache, utilisez le tableau de bord principal de ServBay ou le menu
Packages
(Paquets).
Résumé
ServBay offre une interface intuitive pour gérer la configuration centrale du serveur web Apache. Grâce à la compréhension de ces options, vous pouvez adapter le comportement, la performance et la sécurité d’Apache selon vos besoins de développement, et ainsi exploiter au mieux ServBay comme environnement de développement local.