Comment migrer un site Apache vers Caddy
ServBay propose Caddy, Nginx et Apache comme serveurs web, vous permettant de choisir en fonction des besoins de votre projet. Pour la plupart des frameworks PHP et des CMS, ServBay a déjà configuré par défaut les règles de réécriture d’URL pour Caddy et Nginx, éliminant généralement le besoin de configuration supplémentaire de la part de l’utilisateur.
Cet article a pour but de vous guider dans la migration d’un site Web basé sur une configuration Apache pour l’exécuter sur le serveur Caddy fourni par ServBay dans votre environnement de développement local. Nous prendrons comme exemples les projets courants Laravel et WordPress.
À propos du support Apache dans ServBay
ServBay prend entièrement en charge Apache en tant que serveur web. Si vous souhaitez basculer le serveur web par défaut de ServBay vers Apache, ou en savoir plus sur la configuration des sites Apache dans ServBay, veuillez consulter la documentation : Comment basculer le serveur web par défaut vers Apache. Cet article se concentre sur la migration des sites déjà configurés sous Apache vers l’environnement Caddy de ServBay.
Vue d'ensemble
Migrer un site Web d’un serveur à un autre implique d’adapter sa configuration et ses fichiers. ServBay permet aux utilisateurs d’utiliser Caddy comme serveur web et offre un support "prêt à l’emploi" pour la plupart des frameworks PHP et des CMS. Cela signifie que ServBay gère automatiquement les configurations nécessaires, y compris les règles de réécriture. Ainsi, migrer un site configuré sous Apache vers Caddy dans ServBay est généralement très simple : il vous suffit essentiellement "d’ajouter correctement le site" à ServBay.
Préparatifs avant la migration
Avant de commencer toute opération de migration, assurez-vous d’avoir effectué les étapes suivantes :
- Sauvegarder les fichiers : Réalisez une sauvegarde complète de tous les fichiers de votre site, y compris le code source, les images, les fichiers uploadés, etc.
- Sauvegarder la base de données : Exportez et sauvegardez la base de données utilisée par votre site. ServBay prend en charge différents systèmes de bases de données tels que MySQL, PostgreSQL, MongoDB, etc. Utilisez l’outil adapté pour votre sauvegarde.
- Vérifier l’installation de ServBay : Assurez-vous que ServBay est bien installé et lancé sur votre Mac.
- Vérifier que le package Caddy est activé : Dans l’application ServBay, confirmez que le package Caddy est bien actif.
Migrer un site Laravel vers Caddy
Supposons que vous possédiez un site Laravel avec la configuration Apache suivante :
Exemple typique de configuration Apache (hors environnement ServBay)
Voici un exemple de configuration Apache VirtualHost pour un site Laravel, hors environnement ServBay. Notez que le DocumentRoot
pointe vers le répertoire public
, et que les règles de réécriture du fichier .htaccess
sont activées via AllowOverride All
.
<VirtualHost *:80>
ServerName laravel.demo
DocumentRoot /path/to/your/laravel/public
<Directory /path/to/your/laravel/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Généralement, la gestion de PHP est également configurée ici, via FPM ou mod_php
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Exécuter ce site Laravel sur ServBay (avec Caddy)
Avec ServBay, vous n’avez pas besoin de convertir ou rédiger manuellement la configuration Apache vers une configuration Caddy. ServBay simplifie la configuration de l’environnement de développement local. Pour les frameworks populaires comme Laravel, ServBay génère automatiquement la bonne configuration Caddy lors de l’ajout du site, incluant la redirection vers public
et la gestion des règles de réécriture d’URL.
Étapes à suivre :
- Copiez l’ensemble de votre projet Laravel dans un sous-dossier du répertoire racine des sites de ServBay. Chemin conseillé :
/Applications/ServBay/www/your-laravel-project
. Assurez-vous que le dossierpublic
se trouve à cet emplacement. - Ouvrez l’application ServBay.
- Accédez à la section “Sites web” (Websites).
- Cliquez sur “Ajouter un site”.
- Dans la fenêtre de configuration qui s’affiche :
- Domaine (Domain) : Saisissez le nom de domaine souhaité, par exemple
laravel.servbay.demo
. ServBay l’ajoutera automatiquement à votre fichier hosts local. - Répertoire Racine (Document Root) : Cliquez sur le bouton parcourir et sélectionnez le répertoire
public
de votre projet Laravel, comme/Applications/ServBay/www/your-laravel-project/public
. - Serveur Web (Web Server) : Sélectionnez
Caddy
. - Version de PHP (PHP Version) : Choisissez la version de PHP requise par votre projet.
- Type d’application (Application Type) : Choisissez
Laravel
. Ce choix est essentiel pour la prise en charge automatique par ServBay.
- Domaine (Domain) : Saisissez le nom de domaine souhaité, par exemple
- Cliquez sur “Enregistrer” ou “Ajouter”.
Après ces étapes, ServBay générera automatiquement la configuration Caddy appropriée pour laravel.servbay.demo
, en prenant en charge le chemin vers le dossier public
, la réécriture des URL et la redirection des requêtes PHP. Vous pouvez alors accéder à votre site Laravel via le navigateur à l’adresse http://laravel.servbay.demo
.
Exemple théorique de configuration Caddy (à titre informatif, générée automatiquement par ServBay)
Pour votre compréhension, voici un exemple de configuration Caddy correspondant aux besoins d’un site Laravel. Rappelez-vous que vous n’avez pas à créer ou modifier ce fichier manuellement.
laravel.servbay.demo {
# Définir le répertoire racine du site, pointant vers le dossier public
root * /Applications/ServBay/www/your-laravel-project/public
# Configurer le traitement de PHP via FastCGI
# ServBay définit automatiquement le bon chemin du socket PHP en fonction de la version choisie
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activer le service de fichiers pour la gestion des fichiers statiques
file_server
# Règle principale de réécriture de Laravel : si la requête ne correspond pas à un fichier ou dossier existant, rediriger vers index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Migrer un site WordPress vers Caddy
Supposons que vous disposez d’un site WordPress avec la configuration Apache suivante :
Exemple typique de configuration Apache (hors environnement ServBay)
Ci-dessous, un exemple de configuration Apache VirtualHost pour un site WordPress. WordPress place généralement le site à la racine de l’installation et repose sur les règles de réécriture du fichier .htaccess
pour les permaliens.
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Généralement, la gestion de PHP est également configurée ici
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Exécuter ce site WordPress sur ServBay (avec Caddy)
À l’instar de Laravel, l’exécution de WordPress sur ServBay avec Caddy comme serveur web ne nécessite aucune configuration Caddy manuelle. ServBay détecte automatiquement les besoins spécifiques de WordPress et génère la configuration adaptée.
Étapes à suivre :
- Copiez l’ensemble des fichiers de votre site WordPress dans un sous-dossier du répertoire racine des sites de ServBay. Chemin conseillé :
/Applications/ServBay/www/your-wordpress-site
. Assurez-vous que les fichiers et dossiers commeindex.php
,wp-admin
,wp-includes
y sont présents. - Ouvrez l’application ServBay.
- Rendez-vous dans la section “Sites web” (Websites).
- Cliquez sur “Ajouter un site”.
- Dans la fenêtre qui s’ouvre :
- Domaine (Domain) : Saisissez le nom de domaine souhaité, comme
wordpress.servbay.demo
. - Répertoire Racine (Document Root) : Cliquez sur parcourir et sélectionnez le dossier racine de votre projet WordPress, tel que
/Applications/ServBay/www/your-wordpress-site
. - Serveur Web (Web Server) : Choisissez
Caddy
. - Version de PHP (PHP Version) : Sélectionnez la version de PHP adaptée.
- Type d’application (Application Type) : Choisissez
WordPress
.
- Domaine (Domain) : Saisissez le nom de domaine souhaité, comme
- Cliquez sur “Enregistrer” ou “Ajouter”.
ServBay générera alors automatiquement la configuration Caddy requise pour wordpress.servbay.demo
, incluant la gestion du dossier racine, des règles d’URL permanentes (permalinks) et le routage PHP. Vous pourrez accéder à http://wordpress.servbay.demo
dans votre navigateur, avec un fonctionnement complet des permaliens.
Exemple théorique de configuration Caddy (à titre informatif, générée automatiquement par ServBay)
Ci-dessous, un exemple théorique de configuration Caddy conforme aux besoins de WordPress. Il n’est pas nécessaire de le créer ou modifier soi-même.
wordpress.servbay.demo {
# Définir le répertoire racine du site
root * /Applications/ServBay/www/your-wordpress-site
# Configurer le traitement PHP via FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activer le service de fichiers
file_server
# Principale règle de réécriture de WordPress : prise en charge des permaliens
# Si la requête ne correspond pas à un fichier ou dossier existant, elle est réécrite vers index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Résumé
Migrer un site Laravel ou WordPress, initialement configuré sous Apache, vers le serveur Caddy de ServBay est particulièrement facile. Grâce au support natif de ServBay pour les applications courantes, il n’est pas nécessaire de convertir manuellement les fichiers .htaccess
ou les configurations VirtualHost d’Apache en syntaxe Caddyfile. Il vous suffit d’ajouter correctement le site depuis l’interface “Sites web” de ServBay, de spécifier le nom de domaine, le répertoire racine du site, de choisir Caddy comme serveur web et le type d’application approprié (Laravel ou WordPress). ServBay prend alors en charge toute la configuration nécessaire, y compris les règles de réécriture avancées.
Cette automatisation simplifie grandement la migration et la mise en place d’un environnement local, vous permettant de vous concentrer sur le développement de votre application plutôt que sur la configuration du serveur.