Website toevoegen met aangepaste configuratie
ServBay biedt flexibele manieren om websites toe te voegen. Naast de standaardmethode, waarbij ServBay automatisch de configuratie beheert, ondersteunt het ook de modus ‘Aangepaste configuratie’. Met deze methode kunnen ontwikkelaars rechtstreeks de configuratiebestanden van de webserver (Nginx, Caddy of Apache) voor een specifieke website maken en beheren. Dit biedt maximale flexibiliteit en controle, vooral voor situaties waarin gedetailleerde aanpassingen, niet-standaardinstellingen of geavanceerde functies nodig zijn.
Het nut van een aangepaste configuratie
Kiezen voor een aangepaste configuratie betekent:
- Volledige controle: Je kunt direct het relevante configuratiefragment bewerken (zoals het
server
-blok van Nginx, hetVirtualHost
-blok van Apache of de site-definitie van Caddy). - Geavanceerde functies: Je kunt mogelijkheden benutten die moeilijk zijn te configureren in de standaardmodus, zoals complexe rewrite-regels, specifieke proxyinstellingen, aangepaste logformaten of speciale security headers.
- Speciale scenario’s: Ideaal voor het simuleren van productieomgevingen, het integreren van modules of voor diepe debugging.
Houd er echter rekening mee dat je zelf verantwoordelijk bent voor de juistheid en veiligheid van de configuratie, inclusief het beheer van SSL-certificaten.
Stappen om een website met aangepaste configuratie toe te voegen
- Navigeer naar Websites: Klik op
Websites
in het linkermenu van ServBay. - Voeg een nieuwe site toe: Klik op de
+
(plus) knop bovenaan de lijst. - Vul de basisinformatie in:
- Naam: Geef je website een herkenbare naam (bijvoorbeeld:
Mijn Custom Project
). - Domein: Voer het gewenste lokale domein in (bijvoorbeeld:
myproject.servbay.demo
).
- Naam: Geef je website een herkenbare naam (bijvoorbeeld:
- Webserver kiezen: Selecteer de gewenste webserver (Nginx, Caddy of Apache) uit het dropdown-menu
Web Server
. Deze keuze is belangrijk, omdat het bepaalt welk type configuratietemplate je krijgt en met welke server de site wordt bediend. - Aangepaste configuratie inschakelen: Vink het vakje
Custom Configuration
aan. - Bekijk en bewerk het template: Na het aanvinken verschijnt er een tekstvak met een basisconfiguratie op basis van de gekozen webserver. Dit dient als startpunt, pas deze indien nodig aan op jouw situatie.
Begrijpen en aanpassen van het configuratietemplate
ServBay levert verschillende configuratietemplates afhankelijk van de gekozen webserver (Nginx, Caddy, Apache). Pas deze templates aan volgens de behoeften van je project.
1. Nginx aangepaste configuratie
Als je voor Nginx kiest, ontvang je een basis server
-blok als template.
Structuur en essentiële instructies:
nginx
# Luisterpoort en protocol
listen 443 ssl; # HTTPS
# Gekoppeld domein
server_name myproject.servbay.demo;
# Website rootmap (zorg dat deze map bestaat)
root /Applications/ServBay/www/myproject.servbay.demo;
# Standaard indexbestand
index index.php index.html index.htm;
# SSL/TLS protocollen en ciphersuites (voorbeeld)
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;
# Pad naar SSL-certificaat (verplicht als HTTPS is ingeschakeld)
# 【Belangrijk】Zorg dat het certificaatbestand bestaat en het pad correct is
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;
# PHP-verwerking (voorbeeld PHP 8.3, pas aan indien nodig)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Overige instellingen, zoals location-blokken, rewrites, enz.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Paden voor access en error logs (optioneel)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
1
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
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
Belangrijke aanpassingen:
- Controleer of
server_name
overeenkomt met het opgegeven domein. - Stel de juiste
root
-map in voor jouw projectbestanden. - Voor HTTPS: haal commentaar weg of voeg
listen 443 ssl;
toe en zorg ervoor datssl_certificate
enssl_certificate_key
correct zijn ingesteld. - Voeg indien nodig extra location-blokken, rewrites of proxyinstellingen toe.
2. Caddy aangepaste configuratie
Bij Caddy ontvang je een Caddyfile-template voor je site.
Structuur en essentiële instructies:
nginx
encode zstd gzip
import set-log myproject.servbay.demo # logbestandsnaam
import canonical-path
# Website rootmap (zorg dat deze map bestaat)
root * /Applications/ServBay/www/myproject.servbay.demo
# PHP-verwerking
route {
import php-rewrite-default 8.3 # PHP versie 8.3
}
# TLS/SSL-instellingen
# Specificeer het pad naar het certificaat
# 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
# Bestandsserver activeren
file_server
# Overige instructies zoals reverse_proxy, rewrite, header enz.
# ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Belangrijke aanpassingen:
- Zorg ervoor dat het hoofddomein
myproject.servbay.demo
klopt. - Stel de juiste
root
-map in. - SSL/TLS: Caddy probeert standaard automatisch een HTTPS-certificaat uit te geven en te beheren. Voor lokale domeinen zoals
.servbay.demo
werkt dit meestal niet. Wil je HTTPS gebruiken, gebruik dan detls
-instructie en geef het pad naar je eigen certificaat en sleutelbestand op. Controleer altijd of deze bestanden daadwerkelijk bestaan. - Voeg andere Caddy-instructies toe indien nodig.
3. Apache aangepaste configuratie
Bij Apache ontvang je een <VirtualHost>
templateblok.
Structuur en essentiële instructies:
apache
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# SSL-engine inschakelen
SSLEngine on
# SSL-certificaatpad
# 【Belangrijk】Zorg dat het certificaatbestand bestaat en het pad correct is
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"
# Directoryrechten
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# PHP-FPM configuratie (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# Fout- en toegangslogs (optioneel)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
1
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
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
Belangrijke aanpassingen:
- Controleer of
ServerName
overeenkomt met het opgegeven domein. - Stel het juiste
DocumentRoot
in voor je projectbestanden. - Stel de mappenrechten correct in binnen het
<Directory>
-blok. - Voeg indien nodig extra Apache-instructies toe, zoals
RewriteEngine
,ProxyPass
, enz.
SSL-certificaatbeheer 【belangrijk】
Wanneer je een aangepaste configuratie gebruikt, genereert ServBay niet automatisch een SSL-certificaat voor jou (bijv. geen automatische ServBay CA of Let's Encrypt aanvraag via ACME).
- Je bent zelf verantwoordelijk voor het verkrijgen of genereren van een SSL-certificaat en het plaatsen van de bestanden op de juiste, voor de webserver toegankelijke plek.
- Je kunt handmatig een self-signed certificaat aanmaken met OpenSSL, of een lokaal ontwikkelcertificaat uitgeven via ServBay's eigen CA (ServBay User CA of ServBay Public CA).
- In je aangepaste configuratie voor Nginx, Caddy of Apache moet je altijd de juiste certificaat- en sleutelpaden opgeven:
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy) ofSSLCertificateFile
/SSLCertificateKeyFile
(Apache). - Als je een SSL-gerelateerde instructie opgeeft zonder dat het certificaatbestand aanwezig is of het pad onjuist is, zal de webserver niet kunnen starten of deze site niet inladen. Hierdoor is de website niet bereikbaar en zie je foutmeldingen in het ServBay-scherm of in de serverlogs.
Zie de documentatie van ServBay over SSL-certificaatbeheer voor instructies over het genereren en beheren van lokale certificaten.
Webserverkoppeling
DANGER
Een belangrijk punt is dat, nadat je een webserver (bijvoorbeeld Nginx) hebt gekozen en met aangepaste configuratie hebt opgeslagen, deze website aan die server is gekoppeld.
- Dit betekent dat de site alleen toegankelijk is als Nginx als actieve webserver is ingesteld in ServBay.
- Schakel je in ServBay onder
Services
-Default Web Server
naar Apache of Caddy, dan is deze op Nginx gebaseerde site niet bereikbaar, omdat de betreffende configuratie niet geladen wordt. - Omgekeerd geldt hetzelfde voor sites met aangepaste configuratie voor Caddy of Apache – deze zijn alleen bereikbaar als de juiste server actief is.
Opslaan en toepassen
Na het aanpassen van de configuratie klik je rechtsonder op de knop Save
. ServBay slaat je aangepaste configuratie op en probeert de desbetreffende webserver te herladen zodat wijzigingen worden toegepast. Als er fouten in de configuratie zitten, kan het opslaan of herladen mislukken. Controleer bij problemen de meldingen van ServBay of de errorlogs van de betreffende server (meestal te vinden in /Applications/ServBay/logs/
in de relevante submap).
Samenvatting
Het toevoegen van een website met aangepaste configuratie biedt ServBay-gebruikers ongekende flexibiliteit en stelt ontwikkelaars in staat de serverinstellingen per site tot in detail te regelen. Dit vereist echter wel voldoende kennis van webserverconfiguratie en de bereidheid verantwoordelijkheid te nemen voor correcte instelling, veiligheid en SSL‑beheer. Volledige kennis van templaten, SSL-vereisten en de workings van serverkoppeling is essentieel om deze functie succesvol te benutten.