Migrer un site NGINX vers le serveur Caddy de ServBay
ServBay est un environnement de développement Web local puissant qui intègre plusieurs serveurs web populaires, dont Caddy, NGINX et Apache. ServBay propose une préconfiguration complète des règles de réécriture d’URL pour ces serveurs, en particulier pour Caddy et NGINX, ce qui simplifie grandement la tâche de configuration des développeurs.
Ce guide détaillé vous explique comment migrer sans effort votre site NGINX existant vers le serveur Caddy intégré à ServBay. À travers des exemples concrets avec le framework PHP populaire Laravel et le système de gestion de contenu WordPress, vous découvrirez toutes les étapes du processus.
Prise en charge complète des serveurs web par ServBay
ServBay offre un support natif pour Caddy, NGINX et Apache. Vous pouvez à tout moment basculer le serveur web par défaut selon les besoins de votre projet. Consultez la documentation Comment changer le serveur Web par défaut pour en savoir plus.
Vue d’ensemble
La migration d’un site d’un serveur web vers un autre implique le transfert des fichiers de configuration ainsi que des fichiers du site. Dans ServBay, le processus de migration vers Caddy est conçu pour être extrêmement simple. Pour la grande majorité des frameworks PHP et des CMS (tels que Laravel, WordPress, Symfony, CodeIgniter, Drupal, Joomla, etc.), aucune modification manuelle du fichier de configuration Caddy n’est nécessaire. ServBay fournit un support prêt à l’emploi et génère automatiquement le fichier Caddyfile en se basant sur les paramètres configurés via l’interface graphique (GUI).
Préparation à la migration
Avant d’effectuer toute opération de migration, veillez à effectuer les actions suivantes :
- Sauvegarder les fichiers du site : Faites une sauvegarde complète de tous les fichiers et dossiers de la racine de votre site.
- Sauvegarder la base de données : Sauvegardez la base de données utilisée par votre site (ex : MySQL, PostgreSQL, MongoDB, etc.). ServBay propose un outil intégré de gestion des bases de données et prend aussi en charge les sauvegardes manuelles.
- Installer ServBay : Vérifiez que ServBay est bien installé et opérationnel sur votre macOS.
- Vérifier l’emplacement des fichiers : Placez les fichiers de votre site dans le dossier racine par défaut de ServBay
/Applications/ServBay/www
ou dans l’un de ses sous-dossiers. Par exemple, pour un projet nommémyproject
:/Applications/ServBay/www/myproject
.
Fonctionnement de Caddy dans ServBay
Bien comprendre la gestion de la configuration Caddy par ServBay est essentiel. Contrairement à une gestion manuelle du Caddyfile, ServBay vous permet d’ajouter et de configurer des sites directement depuis son interface graphique. Lorsque vous ajoutez un site et sélectionnez Caddy comme serveur web, ServBay génère et gère automatiquement des fragments de Caddyfile selon le nom de domaine, le répertoire racine, la version PHP, etc. renseignés. Ces fragments sont inclus dans le Caddyfile principal de ServBay pour que le site fonctionne correctement.
En résumé, ajouter votre site via la GUI de ServBay correspond à toute la configuration Caddy nécessaire — inutile d’éditer à la main un fichier .caddyfile
ou des fichiers similaires.
Étapes de migration
Migrer un site NGINX vers le serveur Caddy de ServBay est très simple :
- Lancer ServBay : Vérifiez que l’application ServBay est bien ouverte.
- Copier les fichiers du site : Déplacez ou copiez tous les fichiers de votre site NGINX (code source, images, CSS, JS, etc.) vers un nouveau dossier dans le répertoire racine de ServBay, par exemple
/Applications/ServBay/www/your-site-name
. - Ajouter le site via la GUI ServBay :
- Lancez l’application ServBay.
- Accédez à la section “Sites Web” (Websites).
- Cliquez sur le bouton “Ajouter un site”.
- Renseignez les informations du site :
- Domaine (Domain) : Entrez le nom de domaine que vous souhaitez utiliser localement, ex :
your-site-name.servbay.demo
. - Racine du site (Website Root) : Sélectionnez le dossier contenant les fichiers du site ajouté à l’étape 2, ex :
/Applications/ServBay/www/your-site-name
. - Serveur Web (Web Server) : Sélectionnez
Caddy
. - Version PHP (PHP Version) : Choisissez la version PHP requise pour votre projet.
- Domaine (Domain) : Entrez le nom de domaine que vous souhaitez utiliser localement, ex :
- Cliquez sur “Enregistrer” ou “Créer”.
- Vérifier le site : ServBay ajoute automatiquement le nouveau domaine à votre fichier hosts local et configure Caddy. Accédez ensuite à l’URL locale (ex :
http://your-site-name.servbay.demo
) dans votre navigateur pour vérifier le bon fonctionnement du site. - Configuration base de données : Si le site utilise une base de données, assurez-vous que le service correspondant (MySQL, PostgreSQL…) tourne dans ServBay et mettez à jour les informations de connexion dans les fichiers de configuration de votre site (adresse de la base de données souvent
127.0.0.1
oulocalhost
, nom d’utilisateur et mot de passe).
Exemple : Migration d’un site Laravel
Exemple typique de configuration NGINX (à titre indicatif)
Voici un exemple type de fichier de configuration NGINX pour un site Laravel. Ce fichier définit le répertoire racine, le point d’entrée (index.php
) et la gestion FastCGI de PHP :
server {
listen 80;
server_name laravel.servbay.demo; # Exemple de domaine de marque ServBay
root /Applications/ServBay/www/laravel/public; # Pointant vers le dossier public de Laravel
index index.php index.html index.htm;
location / {
# Essaye d’accéder au fichier ou dossier, sinon réécrit vers index.php
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# Gestion PHP FastCGI
include fastcgi_params;
# Chemin par défaut du socket PHP-CGI de ServBay
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Bloque l’accès aux fichiers cachés
deny all;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Configuration Caddy équivalente dans ServBay (générée automatiquement, aucune intervention requise)
Aucune configuration manuelle du Caddyfile nécessaire
Avec ServBay, vous n’avez pas besoin de créer ni de modifier manuellement un fichier Caddyfile pour obtenir ce résultat. L’interface ServBay génère d’elle-même la configuration nécessaire en fonction des réglages du site. Le fragment Caddy ci-dessous est fourni à titre d’illustration pour comprendre le parallèle avec la configuration NGINX.
Ci-dessous, un exemple théorique simplifié du fragment de configuration Caddy que ServBay générerait automatiquement pour un site Laravel :
# Cette configuration est gérée automatiquement par ServBay
laravel.servbay.demo {
# Définir le répertoire racine du site
root * /Applications/ServBay/www/laravel/public
# Gestion PHP FastCGI pointant vers le socket PHP-CGI de ServBay
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activer le service de fichiers statiques
file_server
# Créer un matcher pour les fichiers non statiques
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Réécriture des requêtes non statiques vers index.php
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Étapes concrètes pour migrer un site Laravel :
- Copiez les fichiers de votre projet Laravel dans
/Applications/ServBay/www/laravel
. - Vérifiez que le dossier
laravel/public
est bien l’entrée de votre site. - Ajoutez un nouveau site dans la GUI ServBay : domaine
laravel.servbay.demo
, racine/Applications/ServBay/www/laravel/public
, serveur web :Caddy
. - Renseignez la configuration de la base de données dans le fichier
.env
de Laravel. - Accédez à
http://laravel.servbay.demo
pour validation.
Exemple : Migration d’un site WordPress
Exemple typique de configuration NGINX (à titre indicatif)
Exemple de fichier de configuration NGINX pour un site WordPress :
server {
listen 80;
server_name wordpress.servbay.demo; # Exemple de domaine de marque ServBay
root /Applications/ServBay/www/wordpress; # Dossier d’installation WordPress
index index.php index.html index.htm;
location / {
# Règles de permaliens WordPress
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# Gestion PHP FastCGI
include fastcgi_params;
# Chemin par défaut du socket PHP-CGI de ServBay
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Bloque l’accès aux fichiers cachés
deny all;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Configuration Caddy équivalente dans ServBay (générée automatiquement, aucune intervention requise)
Aucune configuration manuelle du Caddyfile nécessaire
De même, pour WordPress, ServBay prend automatiquement en charge la configuration Caddy. L’exemple ci-dessous illustre le fonctionnement interne de la gestion des permaliens WordPress.
Exemple de fragment Caddy que ServBay générerait automatiquement pour WordPress :
# Cette configuration est gérée automatiquement par ServBay
wordpress.servbay.demo {
# Définir le répertoire racine du site
root * /Applications/ServBay/www/wordpress
# Gestion PHP FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activer le service de fichiers statiques
file_server
# Créer un matcher pour les fichiers non statiques
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Réécriture des requêtes non statiques vers index.php (permalien)
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Étapes concrètes pour migrer un site WordPress :
- Copiez les fichiers de votre site WordPress dans
/Applications/ServBay/www/wordpress
. - Ajoutez un nouveau site dans la GUI ServBay : domaine
wordpress.servbay.demo
, racine/Applications/ServBay/www/wordpress
, serveur web :Caddy
. - Configurez correctement les informations de connexion à la base de données dans le fichier
wp-config.php
de WordPress. - Accédez à
http://wordpress.servbay.demo
pour validation. En cas de problème avec les permaliens, ServBay gère déjà les règles de réécriture nécessaires, il n’y a rien à configurer de plus. Vérifiez dans l’interface d’administration WordPress, section “Réglages” > “Permaliens”.
Points d’attention
- Connexion à la base de données : Après migration, mettez à jour les informations de connexion à la base de données dans votre code pour pointer vers le service de base de données ServBay.
- Variables d’environnement : Si votre application dépend de variables d’environnement spécifiques, assurez-vous qu’elles sont bien définies dans l’environnement ServBay (via le fichier
.env
de PHP par exemple, ou via la configuration de ServBay). - Configurations NGINX complexes : Les exemples ci-dessus concernent des configurations Laravel et WordPress courantes. Si vous avez des règles avancées, des modules spécifiques ou des personnalisations dans NGINX, la configuration automatique de ServBay pourrait ne pas suffire. Consultez alors la documentation officielle de Caddy ou exploitez les points d’extension offerts par ServBay (si disponibles), ou adaptez la configuration générée. Pour la plupart des usages standards, la configuration ServBay suffit.
- HTTPS/SSL : ServBay prend en charge la configuration HTTPS pour les sites locaux. Vous pouvez utiliser l’Autorité de Certification ServBay (ServBay User CA ou ServBay Public CA) afin de générer et de faire confiance à des certificats SSL locaux, sans éditer manuellement les directives TLS du Caddyfile.
Conclusion
La migration d’un site NGINX vers le serveur Caddy de ServBay est simplifiée grâce à la gestion automatique de la configuration Caddy. Pour les applications populaires comme Laravel et WordPress, il suffit de placer vos fichiers au bon endroit et d’ajouter le site via l’interface ServBay. Toute la configuration complexe (réécriture d’URL, gestion PHP FastCGI, etc.) est prise en charge automatiquement, afin que vous puissiez exécuter rapidement votre site en local avec Caddy.