Hoe migreer je een Apache-website naar Caddy
ServBay biedt Caddy, Nginx en Apache als webservers, zodat gebruikers eenvoudig de juiste keuze kunnen maken op basis van de behoeften van hun project. Voor de meeste PHP-frameworks en CMS-platforms heeft ServBay standaard URL Rewrite-regels geconfigureerd voor Caddy en Nginx, zodat je doorgaans geen extra instellingen hoeft toe te voegen.
Dit artikel begeleidt je bij het migreren van websites met een bestaande Apache-configuratie naar de Caddy-server die via ServBay lokaal beschikbaar is. We nemen populaire projecten als Laravel en WordPress als voorbeeld.
Over de ondersteuning van Apache door ServBay
ServBay biedt volledige ondersteuning voor Apache als webserver. Wil je de standaard webserver van ServBay wijzigen naar Apache of weten hoe je een Apache-site binnen ServBay configureert? Bekijk dan: Hoe schakel je de standaard webserver over naar Apache. Dit document richt zich op het migreren van bestaande, op Apache gebaseerde websites naar de Caddy-omgeving van ServBay.
Overzicht
Migreren tussen webservers houdt vooral aanpassingen van configuratiebestanden en projectmappen in. ServBay laat gebruikers Caddy als webserver gebruiken en biedt voor de meeste PHP-frameworks en CMS-systemen een “out-of-the-box”-ervaring—ServBay regelt automatisch alle noodzakelijke configuraties, inclusief Rewrite-regels. Daardoor is het overzetten van een met Apache geconfigureerde website naar Caddy in ServBay meestal bijzonder eenvoudig. Het belangrijkste is dat je de website op de juiste manier toevoegt in ServBay.
Voorbereiding vóór migratie
Voordat je begint met migreren, neem je deze voorbereidingen in acht:
- Maak een back-up van je bestanden: Zorg voor een volledige back-up van alle websitebestanden, inclusief je projectcode, afbeeldingen, uploads en overige gegevens in de hoofdmap.
- Back-up van de database: Exporteer en bewaar een back-up van de database die je website gebruikt. ServBay ondersteunt meerdere databases (zoals MySQL, PostgreSQL, MongoDB), maak dus gebruik van het juiste backup-gereedschap.
- Controleer ServBay-installatie: Zorg ervoor dat ServBay op je macOS-systeem succesvol geïnstalleerd en gestart is.
- Controleer of Caddy actief is: Verifieer binnen de ServBay-applicatie dat het Caddy-pakket is ingeschakeld.
Laravel-website migreren naar Caddy
Stel: je hebt een Laravel-site met deze Apache-configuratie:
Typisch Apache-configuratievoorbeeld (buiten ServBay)
Onderstaande VirtualHost-configuratie is gangbaar voor Laravel op Apache buiten ServBay. Merk op dat de DocumentRoot
verwijst naar de public
-map en dat .htaccess
-bestanden met Rewrite-regels via AllowOverride All
zijn toegestaan.
apache
<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>
# Meestal wordt PHP-verwerking ook ingesteld, bijvoorbeeld via FPM of mod_php
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Laravel-site draaien in ServBay (met Caddy)
Binnen ServBay hoef je bovenstaande Apache-configuratie niet handmatig om te zetten naar een Caddy-configuratie. Het uitgangspunt van ServBay is om het instellen van lokale ontwikkelomgevingen eenvoudig te maken. Voor Laravel genereert ServBay automatisch een correcte Caddy-configuratie zodra je de website toevoegt, met juiste verwijzingen naar de public
-map en goed ingestelde Rewrite-regels.
Stappenplan:
- Kopieer alle Laravel-bestanden naar een submap binnen de hoofdmap van ServBay, bijvoorbeeld
/Applications/ServBay/www/your-laravel-project
. Controleer dat zich hierin eenpublic
-map bevindt. - Start de ServBay-applicatie.
- Navigeer naar de “Websites”-beheerinterface van ServBay.
- Klik op de knop “Website toevoegen”.
- In het configuratievenster:
- Domeinnaam (Domain): Voer het domein in waarmee je deze site lokaal wilt bereiken, bijvoorbeeld
laravel.servbay.demo
. ServBay voegt deze automatisch aan je lokale hosts-bestand toe. - Hoofddirectory (Document Root): Browse naar en kies de
public
-map van het Laravel-project, zoals/Applications/ServBay/www/your-laravel-project/public
. - Webserver (Web Server): Kies
Caddy
. - PHP-versie (PHP Version): Selecteer de gewenste PHP-versie voor je project.
- Applicatietype (Application Type): Selecteer
Laravel
; dit is essentieel zodat ServBay alles automatisch kan instellen.
- Domeinnaam (Domain): Voer het domein in waarmee je deze site lokaal wilt bereiken, bijvoorbeeld
- Klik op “Opslaan” of “Toevoegen”.
Na het voltooien van deze stappen genereert ServBay automatisch de juiste Caddy-configuratie voor je domein, waarbij het verwijst naar de public
-map, alle noodzakelijke URL-rewrites instelt en PHP-verzoeken correct afhandelt. Je Laravel-site is nu bereikbaar op http://laravel.servbay.demo
.
Theoretisch voorbeeld van een Caddy-configuratie (voor je inzicht—ServBay doet dit automatisch)
Om inzicht te geven in wat ServBay automatisch regelt, hieronder een voorbeeld van een syntax die voldoet aan de Laravel-behoeften. Je hoeft dit niet zelf te schrijven of wijzigen.
bash
laravel.servbay.demo {
# Stel de root in op de public-map
root * /Applications/ServBay/www/your-laravel-project/public
# Configureer PHP FastCGI-verwerking
# ServBay zet het juiste socketpad in op basis van je PHP-configuratie
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activeer de bestandsserver voor statische assets
file_server
# Belangrijkste Laravel-rewrite: als het verzoek geen bestaand bestand of map is, herschrijf naar index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
WordPress-website migreren naar Caddy
Stel: je hebt een WordPress-site met onderstaand Apache VirtualHost-voorbeeld:
Typisch Apache-configuratievoorbeeld (buiten ServBay)
Dit voorbeeld toont een standaard Apache VirtualHost-configuratie voor WordPress. WordPress gebruikt doorgaans de installatiemap als root en vertrouwt op .htaccess
voor zaken als pretty permalinks.
apache
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Meestal wordt PHP-verwerking ook ingesteld
# FilesMatch \.php$>
# SetHandler "proxy:unix:/path/to/php-fpm.sock|fcgi://localhost"
# </FilesMatch>
</VirtualHost>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
WordPress-site draaien in ServBay (met Caddy)
Net als bij Laravel heb je voor WordPress geen handmatige Caddy-configuratie nodig binnen ServBay. ServBay detecteert WordPress automatisch en stelt de juiste Caddy-configuratie voor je in.
Stappenplan:
- Kopieer je complete WordPress-bestanden naar een submap binnen ServBay’s hoofdmap, bijv.
/Applications/ServBay/www/your-wordpress-site
. Controleer dat hierinindex.php
,wp-admin
,wp-includes
enz. aanwezig zijn. - Start ServBay.
- Open de “Websites”-beheerinterface.
- Klik op “Website toevoegen”.
- In het configuratievenster:
- Domeinnaam (Domain): Kies het lokale domein, bijvoorbeeld
wordpress.servbay.demo
. - Hoofddirectory (Document Root): Selecteer de root-map van je WordPress-site, zoals
/Applications/ServBay/www/your-wordpress-site
. - Webserver (Web Server): Kies
Caddy
. - PHP-versie (PHP Version): Selecteer je benodigde PHP-versie.
- Applicatietype (Application Type): Kies
WordPress
.
- Domeinnaam (Domain): Kies het lokale domein, bijvoorbeeld
- Klik op “Opslaan” of “Toevoegen”.
ServBay genereert voor wordpress.servbay.demo
automatisch de juiste Caddy-configuratie met juiste rootverwijzing, URL-rewrites voor permalinks en de instelling voor PHP-requestafhandeling. Je site is dan bereikbaar via http://wordpress.servbay.demo
met goed werkende permalinks.
Theoretisch voorbeeld van een Caddy-configuratie (voor je inzicht—ServBay doet dit automatisch)
Hier zie je een voorbeeld-Caddyfile aangepast voor WordPress. Zelf aanmaken is niet nodig: ServBay regelt dit.
bash
wordpress.servbay.demo {
# Stel de root in op de WordPress-map
root * /Applications/ServBay/www/your-wordpress-site
# Configureer PHP FastCGI-verwerking
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Activeer de bestandsserver
file_server
# Belangrijkste WordPress-rewrite: permalinks
# Als het verzoek geen bestaand bestand/map is, herschrijf naar index.php
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
rewrite @notStatic /index.php
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Samenvatting
Migratie van een bestaande Laravel- of WordPress-site op Apache naar de Caddy-server van ServBay is uiterst eenvoudig. Dankzij de ingebouwde ondersteuning voor veelvoorkomende applicaties hoef je geen .htaccess
- of VirtualHost-instellingen van Apache te converteren naar Caddyfile-syntax. Voeg jouw site gewoon toe in de “Websites”-beheerinterface van ServBay, geef domeinnaam, rootdirectory en applicatietype (Laravel/WordPress) aan, kies Caddy als webserver—de rest doet ServBay volledig automatisch, inclusief complexe Rewrite-regels.
Deze automatisering vereenvoudigt niet alleen het migratieproces aanzienlijk, maar bespaart ook veel tijd bij de inrichting van lokale ontwikkelomgevingen, zodat jij je kunt richten op coderen in plaats van serverconfiguratie.