Ajouter un site web avec une configuration personnalisée
ServBay propose une méthode flexible pour ajouter des sites web. En plus du mode standard, où la configuration est gérée automatiquement par ServBay, un mode « configuration personnalisée » est disponible. Ce mode permet aux développeurs de rédiger et de gérer directement les fichiers de configuration du serveur web spécifique à un site (Nginx, Caddy, Apache), offrant ainsi un maximum de flexibilité et de contrôle. Il est particulièrement adapté aux besoins de réglages fins, de paramètres non standards ou de fonctionnalités avancées.
Pourquoi choisir la configuration personnalisée
Opter pour la configuration personnalisée implique :
- Contrôle total : Vous éditez directement le fragment de configuration du serveur correspondant au site (bloc
server
pour Nginx, blocVirtualHost
pour Apache, ou définition de site pour Caddy). - Fonctionnalités avancées : Possibilité de mettre en place des options difficiles à configurer en mode standard, telles que des règles de réécriture complexes, des proxys spécifiques, des formats de logs personnalisés, des en-têtes de sécurité particuliers, etc.
- Scénarios particuliers : Idéal pour simuler un environnement de production, intégrer des modules spéciaux ou effectuer un débogage poussé.
Cependant, cela signifie que vous êtes responsable de la validité et de la sécurité de votre configuration, y compris de la gestion des certificats SSL.
Étapes pour ajouter un site avec configuration personnalisée
- Accéder à la section Sites : Cliquez sur
Websites
dans le menu latéral gauche de ServBay. - Ajouter un nouveau site : Cliquez sur le bouton
+
(plus) en haut de la liste des sites. - Renseigner les informations de base :
- Nom : Choisissez un nom facilement reconnaissable pour votre site (ex :
Mon Projet Perso
). - Domaine : Indiquez le nom de domaine souhaité pour l'accès local (ex :
myproject.servbay.demo
).
- Nom : Choisissez un nom facilement reconnaissable pour votre site (ex :
- Choisir le serveur web : Sélectionnez le serveur web désiré (Nginx, Caddy ou Apache) dans le menu déroulant
Web Server
. Ce choix est très important car il détermine le type de modèle de configuration proposé et le logiciel serveur utilisé pour ce site. - Activer la configuration personnalisée : Cochez la case
Custom Configuration
. - Afficher et éditer le modèle : Après activation, une zone de texte apparaît avec un modèle de configuration de base adapté à votre choix de serveur web. Utilisez-le comme point de départ et modifiez-le selon vos besoins.
Comprendre et modifier le modèle de configuration
ServBay fournit des modèles différents selon le serveur web choisi (Nginx, Caddy, Apache). Vous devrez adapter ce modèle aux exigences de votre projet.
1. Configuration personnalisée Nginx
Si vous optez pour Nginx, ServBay génère un modèle de bloc server
de base.
Structure du modèle et directives clés :
# Port et protocole d'écoute
listen 443 ssl; # HTTPS
# Nom de domaine associé
server_name myproject.servbay.demo;
# Dossier racine du site (assurez-vous que ce dossier existe)
root /Applications/ServBay/www/myproject.servbay.demo;
# Fichier index par défaut
index index.php index.html index.htm;
# Protocole SSL/TLS et suites cryptographiques (exemple)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:ServBay:10m;
ssl_session_tickets off;
# Chemin du certificat SSL (si HTTPS activé, renseignez manuellement)
# 【Important】Assurez-vous que le fichier de certificat existe et que le chemin est correct
ssl_certificate /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt;
ssl_certificate_key /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key;
# Traitement des requêtes PHP (exemple PHP 8.3, à adapter selon votre configuration)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Autres configurations, blocs location, règles de réécriture, etc.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Chemins des logs d'accès et d'erreur (optionnels)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Points de modification :
- Vérifiez que le
server_name
correspond bien au nom de domaine choisi. - Définissez le chemin correct dans
root
pour pointer vers vos fichiers de projet. - Pour activer HTTPS, décommentez ou ajoutez
listen 443 ssl;
et spécifiez impérativement les chemins corrects pourssl_certificate
etssl_certificate_key
. - Ajoutez si besoin d’autres blocs location, règles de réécriture, paramètres de proxy, etc.
2. Configuration personnalisée Caddy
Si vous sélectionnez Caddy, ServBay propose un modèle de définition de site au format Caddyfile.
Structure du modèle et directives clés :
encode zstd gzip
import set-log myproject.servbay.demo # nom du fichier de log
import canonical-path
# Dossier racine du site (assurez-vous qu’il existe)
root * /Applications/ServBay/www/myproject.servbay.demo
# Traitement des requêtes PHP
route {
import php-rewrite-default 8.3 # version PHP 8.3
}
# Paramètres TLS/SSL
# Spécifiez le chemin du certificat
# tls /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key
# Activation du serveur de fichiers
file_server
# Autres directives : reverse_proxy, rewrite, header, etc.
# ...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Points de modification :
- Assurez-vous que le domaine principal est bien
myproject.servbay.demo
. - Modifiez la directive
root
pour qu’elle pointe sur le dossier de votre projet. - SSL/TLS : Caddy tente par défaut d’obtenir et de gérer automatiquement des certificats HTTPS pour le domaine. Pour des domaines de développement local tels que
.servbay.demo
, cela n’est généralement pas possible. Si vous souhaitez activer HTTPS, il est fortement recommandé d’utiliser la directivetls
en précisant le chemin du certificat et de la clé privée existants. Vérifiez que les fichiers existent et que les chemins sont corrects. - Ajoutez toute autre directive Caddy nécessaire à votre projet.
3. Configuration personnalisée Apache
Si vous choisissez Apache, ServBay propose un modèle de bloc <VirtualHost>
.
Structure du modèle et directives clés :
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Activation du moteur SSL
SSLEngine on
# Chemin du certificat SSL
# 【Important】Assurez-vous que le fichier de certificat existe et que le chemin est correct
SSLCertificateFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt"
SSLCertificateKeyFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key"
# Permissions du répertoire
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Configuration PHP-FPM (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# Logs d’erreur et d’accès (optionnel)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Points de modification :
- Vérifiez que le
ServerName
correspond au domaine choisi. - Modifiez le
DocumentRoot
pour qu’il pointe sur le dossier de votre projet. - Adaptez les permissions et options du bloc
<Directory>
. - Ajoutez des directives Apache supplémentaires selon vos besoins, comme
RewriteEngine
,ProxyPass
, etc.
Gestion des certificats SSL 【Important】
En mode configuration personnalisée, ServBay ne génère pas automatiquement de certificats SSL pour vous (ni par création automatique ServBay CA, ni via Let’s Encrypt/ACME).
- Vous êtes responsable de l’obtention ou de la génération de votre certificat SSL, et de son emplacement accessible par le serveur.
- Vous pouvez générer un certificat autosigné avec OpenSSL ou utiliser l’autorité de certification (CA) proposée par ServBay (ServBay User CA ou ServBay Public CA) pour créer des certificats de développement local.
- Dans votre configuration personnalisée pour Nginx, Caddy ou Apache, vous devez définir correctement les directives
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy), ouSSLCertificateFile
/SSLCertificateKeyFile
(Apache) pour pointer sur les certificats et clés privées. - Si la configuration référence un certificat SSL absent ou avec un chemin incorrect, le serveur web ne pourra pas redémarrer ou charger la configuration, rendant le site inaccessible. Des messages d’erreur apparaîtront alors dans l’interface ServBay ou les logs du serveur.
Pour plus de détails, consultez la documentation ServBay sur la gestion des certificats SSL afin de générer et gérer vos certificats de développement local.
Liaison au serveur web
DANGER
Point clé : après avoir choisi un serveur web particulier (par exemple Nginx) et enregistré la configuration personnalisée d’un site, ce site devient lié à ce serveur web.
- Cela signifie que le site ne sera accessible que lorsque le pack logiciel du serveur web (ex : Nginx) est activé dans ServBay.
- Si vous basculez sur Apache ou Caddy dans
Services
→Serveur Web par défaut
, un site basé sur une configuration personnalisée Nginx ne sera pas chargé, car ServBay n’activera pas ce fragment de configuration. - L’inverse est vrai : une configuration personnalisée créée pour Caddy ou Apache ne sera active que lorsque le serveur web correspondant est en cours d’exécution.
Sauvegarde et application des modifications
Après avoir fini vos modifications, cliquez sur le bouton Save
en bas à droite. ServBay enregistrera la configuration personnalisée, puis tentera de recharger le logiciel serveur correspondant pour appliquer les changements. En cas d’erreur de syntaxe dans votre configuration, la sauvegarde ou le rechargement pourrait échouer. Consultez les notifications ServBay ou les logs d’erreurs du serveur (généralement dans /Applications/ServBay/logs/
sous le dossier approprié) pour diagnostiquer les problèmes.
Conclusion
Ajouter un site en mode configuration personnalisée dans ServBay offre aux développeurs une flexibilité inégalée, leur permettant de maîtriser avec précision le comportement du serveur pour chaque projet. Cela demande cependant des connaissances solides en configuration de serveurs web, ainsi qu’un engagement en matière de sécurité, d’exactitude des réglages et de gestion des certificats SSL. Comprendre la structure des modèles, les contraintes SSL et les mécanismes de liaison au serveur sont les clés pour tirer le meilleur parti de cette fonctionnalité.