Aggiunta di un sito tramite configurazione personalizzata
ServBay offre un metodo flessibile per aggiungere siti web. Oltre al metodo standard con gestione automatica da parte di ServBay, è disponibile anche la modalità “Configurazione personalizzata”. Questa modalità consente agli sviluppatori di scrivere e gestire direttamente i file di configurazione del Web server (Nginx, Caddy, Apache) per siti specifici, offrendo la massima flessibilità e controllo: è particolarmente indicata per esigenze avanzate, impostazioni non standard o funzionalità speciali.
Significato della configurazione personalizzata
Scegliere la configurazione personalizzata implica:
- Controllo totale: Puoi modificare direttamente lo snippet di configurazione per il server (ad esempio il blocco
server
per Nginx, il bloccoVirtualHost
per Apache o la definizione del sito per Caddy). - Funzionalità avanzate: Permette di configurare funzionalità difficili o impossibili da gestire in modalità standard, come regole di riscrittura complesse, impostazioni proxy specifiche, log personalizzati, intestazioni di sicurezza particolari, ecc.
- Scenari specifici: Perfetto per simulare configurazioni di produzione particolari, integrare moduli speciali o per attività di debug approfondite.
Tuttavia, ciò comporta anche la totale responsabilità riguardo correttezza e sicurezza della configurazione, compresa la gestione dei certificati SSL.
Procedura per aggiungere un sito con configurazione personalizzata
- Vai ai siti: Nel menu a sinistra di ServBay clicca su
Websites
. - Aggiungi un nuovo sito: Premi il pulsante
+
(più) nella parte superiore dell’elenco dei siti. - Inserisci le informazioni di base:
- Name: Assegna un nome facilmente riconoscibile al sito (ad esempio:
My Custom Project
). - Domain: Inserisci il dominio che desideri utilizzare per l’accesso locale (ad esempio:
myproject.servbay.demo
).
- Name: Assegna un nome facilmente riconoscibile al sito (ad esempio:
- Scegli il Web server: Dal menu a discesa
Web Server
seleziona il server Web desiderato (Nginx, Caddy o Apache). Questa scelta è molto importante, poiché determina il tipo di template di configurazione fornito e quale software servirà effettivamente il sito. - Abilita la configurazione personalizzata: Spunta la casella
Custom Configuration
. - Visualizza e modifica il template: Dopo aver attivato la casella, l’area di testo si riempirà automaticamente con un template di configurazione base, relativo al Web server scelto. Questo rappresenta solo un punto di partenza che puoi (e spesso dovrai) modificare secondo necessità.
Comprendere e modificare i template di configurazione
ServBay fornisce template diversi in base al Web server scelto (Nginx, Caddy, Apache). Devi adattare questi template alle esigenze reali del tuo progetto.
1. Configurazione personalizzata Nginx
Se scegli Nginx, ServBay ti proporrà un template base per il blocco server
.
Struttura del template e direttive principali:
# Porta e protocollo di ascolto
listen 443 ssl; # HTTPS
# Dominio associato
server_name myproject.servbay.demo;
# Directory root del sito (assicurarsi che esista)
root /Applications/ServBay/www/myproject.servbay.demo;
# File di indice predefiniti
index index.php index.html index.htm;
# Protocolli e cipher SSL/TLS (esempio)
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;
# Percorso dei certificati SSL (se HTTPS abilitato, va specificato manualmente)
# 【Importante】Assicurarsi che i file del certificato esistano e il percorso sia corretto
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;
# Gestione richieste PHP (esempio PHP 8.3, adattare alla configurazione effettiva)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Altre configurazioni, come blocchi location, regole di rewrite ecc.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Percorsi dei log di accesso ed errore (opzionali)
# 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
Cosa modificare:
- Assicurati che
server_name
corrisponda al dominio scelto. - Imposta la directory
root
correttamente, puntando ai file del tuo progetto. - Se desideri HTTPS, decommenta o aggiungi
listen 443 ssl;
e fornisci sempre i percorsi corretti perssl_certificate
essl_certificate_key
. - Aggiungi altri blocchi location, regole di rewrite, impostazioni proxy, ecc. secondo necessità.
2. Configurazione personalizzata Caddy
Per Caddy viene fornito un template in formato Caddyfile.
Struttura del template e direttive principali:
encode zstd gzip
import set-log myproject.servbay.demo # nome file di log
import canonical-path
# Directory root del sito (assicurarsi che esista)
root * /Applications/ServBay/www/myproject.servbay.demo
# Gestione delle richieste PHP
route {
import php-rewrite-default 8.3 # Versione PHP 8.3
}
# Impostazioni TLS/SSL
# Specificare i percorsi dei certificati
# 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
# Abilitazione file server
file_server
# Altre direttive (reverse_proxy, rewrite, header, ecc.)
# ...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Cosa modificare:
- Verifica che il dominio principale
myproject.servbay.demo
sia corretto. - Imposta la direttiva
root
al percorso del tuo progetto. - SSL/TLS: di default Caddy tenterà di ottenere e gestire automaticamente i certificati HTTPS. Tuttavia, per domini locali tipo
.servbay.demo
, solitamente questo non è possibile. Se vuoi HTTPS, è fortemente consigliato utilizzare la direttivatls
specificando manualmente i percorsi di certificato e chiave. Assicurati che i file esistano e il percorso sia corretto. - Aggiungi altre direttive Caddy a seconda delle esigenze.
3. Configurazione personalizzata Apache
Per Apache viene mostrato un template con blocco <VirtualHost>
.
Struttura del template e direttive principali:
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Abilitazione engine SSL
SSLEngine on
# Percorso dei certificati SSL
# 【Importante】Assicurarsi che i file del certificato esistano e il percorso sia corretto
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"
# Permessi directory
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Configurazione 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>
# Log errori e accessi (opzionale)
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
Cosa modificare:
- Verifica che
ServerName
sia identico al dominio scelto. - Imposta correttamente la
DocumentRoot
per puntare ai file del tuo progetto. - Configura i permessi e le opzioni della sezione
<Directory>
. - Aggiungi altre direttive Apache a seconda delle esigenze, come
RewriteEngine
,ProxyPass
, ecc.
Gestione dei certificati SSL【Importante】
Quando utilizzi la configurazione personalizzata, ServBay non genera automaticamente i certificati SSL per te (ad esempio, la creazione automatica del certificato CA ServBay o richiesta di certificati Let's Encrypt tramite ACME).
- Sarai tu a doverti occupare dell’ottenimento o della generazione dei certificati SSL, collocandoli in una posizione accessibile dal server.
- È possibile generare manualmente certificati autofirmati con OpenSSL oppure utilizzare la CA messa a disposizione da ServBay (ServBay User CA o ServBay Public CA) per certificati di sviluppo locale.
- Nelle configurazioni personalizzate di Nginx, Caddy o Apache, devi sempre specificare correttamente le direttive
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy), oSSLCertificateFile
/SSLCertificateKeyFile
(Apache), facendo riferimento ai file di certificato e chiave esistenti. - Se nel file di configurazione indichi direttive SSL ma i relativi file non esistono o il percorso è sbagliato, il Web server non potrà avviarsi o caricare la configurazione del sito. Il sito sarà quindi inaccessibile e potrebbero comparire messaggi di errore nell’interfaccia ServBay o nei log del server.
Consulta la documentazione di ServBay su Gestione certificati SSL per ulteriori dettagli su come generare e gestire i certificati di sviluppo locale.
Binding del Web server
DANGER
Un punto cruciale: dopo aver scelto un Web server specifico (es.: Nginx) e salvato la configurazione personalizzata, il sito rimarrà vincolato a quel Web server.
- Questo significa che il sito sarà raggiungibile solo quando il pacchetto software del Web server selezionato (ad esempio Nginx) è quello attivo in ServBay.
- Se in
Servizi
-Web server predefinito
si passa ad Apache o Caddy, il sito con configurazione personalizzata per Nginx non sarà accessibile, perché la relativa configurazione Nginx non sarà caricata. - Vale anche l’opposto: siti configurati personalizzati per Caddy o Apache saranno disponibili solo se il pacchetto software corrispondente è attivo.
Salvataggio e applicazione delle modifiche
Dopo aver apportato tutte le modifiche alla configurazione, clicca sul pulsante Save
in basso a destra. ServBay salverà la configurazione personalizzata e tenterà di ricaricare il Web server selezionato affinché le modifiche abbiano effetto. In caso di errori di sintassi, il salvataggio potrebbe fallire o il reload del server non riuscire. Verifica le notifiche di ServBay o i log di errore del server (solitamente nella directory /Applications/ServBay/logs/
e relative sottocartelle) per diagnosticare il problema.
Conclusione
Aggiungere siti tramite configurazione personalizzata offre agli utenti ServBay una flessibilità senza precedenti, consentendo agli sviluppatori di controllare in modo minuzioso il comportamento dei server per ogni sito. Tuttavia, questo richiede una conoscenza approfondita della configurazione dei Web server, oltre alla responsabilità sulla correttezza, la sicurezza e la gestione dei certificati SSL. Capire la struttura dei template, le esigenze SSL e la logica di binding dei server è fondamentale per sfruttare al meglio questa funzione.