Come Migrare un Sito Apache su Caddy
ServBay offre Caddy, Nginx e Apache come server web, consentendo agli utenti di scegliere in base alle esigenze del progetto. Per la maggior parte dei framework PHP e dei CMS, ServBay ha già preconfigurato le regole di Rewrite URL per Caddy e Nginx in modo predefinito, di solito senza necessità di ulteriori configurazioni da parte dell'utente.
Questa guida ti mostra come migrare un sito precedentemente configurato su Apache per funzionare sull’ambiente locale di ServBay con Caddy come server web. Useremo esempi pratici con progetti comuni come Laravel e WordPress.
Informazioni sul supporto ServBay per Apache
ServBay supporta completamente Apache come server web. Se desideri impostare Apache come server web predefinito su ServBay, oppure vuoi imparare a configurare siti Apache su ServBay, consulta la documentazione: Come impostare Apache come server web predefinito. L'obiettivo di questa guida è migrare siti configurati su Apache all'ambiente Caddy fornito da ServBay.
Panoramica
Migrare un sito da un server web a un altro comporta l'adattamento delle sue configurazioni e dei file. ServBay consente agli utenti di utilizzare Caddy come server web e fornisce supporto “out-of-the-box” per la maggior parte dei framework PHP e CMS. Significa che ServBay si occupa automaticamente della configurazione necessaria, comprese le regole di Rewrite. Per questo motivo, la migrazione di un sito configurato su Apache verso Caddy tramite ServBay è generalmente molto semplice: il passaggio fondamentale è aggiungere correttamente il sito in ServBay.
Preparazione alla Migrazione
Prima di procedere con qualsiasi operazione di migrazione, assicurati di completare queste operazioni preliminari:
- Backup dei file: Esegui il backup completo di tutti i file del tuo sito, compreso il codice, le immagini, i file caricati, ecc. presenti nella directory principale.
- Backup del database: Esporta e salva una copia del database del sito. ServBay supporta database come MySQL, PostgreSQL, MongoDB, ecc.: usa lo strumento appropriato per il backup.
- Verifica l’installazione di ServBay: Assicurati di aver installato correttamente e avviato ServBay su macOS.
- Assicurati che il pacchetto Caddy sia attivo: All’interno di ServBay, verifica che il servizio Caddy sia abilitato.
Migrare un Sito Laravel su Caddy
Poniamo che tu abbia un sito Laravel configurato su Apache come segue:
Esempio di Configurazione Apache Tipica (Ambiente non ServBay)
Questo è un esempio di VirtualHost Apache utilizzato normalmente per un sito Laravel al di fuori di ServBay. Nota che DocumentRoot
punta alla cartella public
e che AllowOverride All
permette di usare le regole di Rewrite presenti nel file .htaccess
.
<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>
# Solitamente si configura anche la gestione di PHP, ad esempio usando FPM o 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
Esecuzione del Sito Laravel su ServBay (con Caddy)
Quando usi ServBay, non è necessario convertire manualmente o scrivere la configurazione di Apache per Caddy. Il principio di ServBay è semplificare la configurazione dell’ambiente di sviluppo locale. Per framework noti come Laravel, ServBay crea automaticamente la configurazione Caddy corretta – inclusi il puntamento alla cartella public
e le regole di Rewrite – quando aggiungi il sito.
I passi pratici:
- Copia tutti i file del progetto Laravel in una sottocartella della directory principale dei siti di ServBay, consigliando
/Applications/ServBay/www/your-laravel-project
. Assicurati che la cartellapublic
sia nella posizione corretta. - Avvia l’applicazione ServBay.
- Naviga nella sezione “Siti web (Websites)” di ServBay.
- Premi il pulsante “Aggiungi sito”.
- Nella finestra di configurazione che si apre:
- Dominio (Domain): Inserisci il dominio che vuoi utilizzare, ad es.
laravel.servbay.demo
. ServBay lo aggiungerà in automatico al file hosts locale. - Directory principale (Document Root): Premi su “Sfoglia” e seleziona la cartella
public
di Laravel, ad esempio/Applications/ServBay/www/your-laravel-project/public
. - Server web (Web Server): Seleziona
Caddy
. - Versione PHP (PHP Version): Scegli la versione PHP richiesta dal progetto.
- Tipo di applicazione (Application Type): Seleziona
Laravel
. Questo è fondamentale per l’auto-configurazione.
- Dominio (Domain): Inserisci il dominio che vuoi utilizzare, ad es.
- Premi sul pulsante “Salva” o “Aggiungi”.
Completata questa procedura, ServBay genererà automaticamente la configurazione Caddy per laravel.servbay.demo
, configurando il puntamento alla cartella public
, le riscritture URL e l’inoltro delle richieste PHP. Ora puoi visitare http://laravel.servbay.demo
dal browser per vedere il tuo sito Laravel in esecuzione.
Esempio Teorico di Configurazione Caddy (Solo per riferimento, generato automaticamente da ServBay)
Per capire cosa fa ServBay dietro le quinte, ecco un esempio teorico di file di configurazione Caddy equivalente per un'installazione Laravel. Non è necessario crearne uno manualmente.
laravel.servbay.demo {
# Imposta il root del sito sulla cartella public
root * /Applications/ServBay/www/your-laravel-project/public
# Configura la gestione di PHP FastCGI
# ServBay imposta automaticamente il percorso del socket PHP in base alla versione scelta
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Abilita la gestione dei file statici
file_server
# Regola principale di Rewrite per Laravel: se la richiesta non è un file o directory reale, inoltra a 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
Migrare un Sito WordPress su Caddy
Poniamo ora che tu abbia un sito WordPress preconfigurato su Apache come segue:
Esempio di Configurazione Apache Tipica (Ambiente non ServBay)
Questo è un esempio di VirtualHost Apache per un sito WordPress. Di solito, la radice del sito punta alla cartella di installazione WordPress e fa affidamento sul file .htaccess
per la gestione dei permalink e altri rewrite.
<VirtualHost *:80>
ServerName wordpress.demo
DocumentRoot /path/to/your/wordpress
<Directory /path/to/your/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Solitamente si configura anche la gestione di 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
Esecuzione del Sito WordPress su ServBay (con Caddy)
Come per Laravel, su ServBay non hai bisogno di scrivere a mano la configurazione Caddy per WordPress. ServBay riconosce automaticamente le esigenze di WordPress e genera la configurazione corretta.
I passi pratici:
- Copia tutti i file e le cartelle del progetto WordPress in una sottocartella di
/Applications/ServBay/www/your-wordpress-site
. Assicurati che file e cartelle comeindex.php
,wp-admin
,wp-includes
, ecc. siano presenti nella directory. - Avvia l’applicazione ServBay.
- Naviga nella sezione “Siti web (Websites)” di ServBay.
- Premi il pulsante “Aggiungi sito”.
- Nella finestra di configurazione:
- Dominio (Domain): Inserisci il dominio desiderato, ad es.
wordpress.servbay.demo
. - Directory principale (Document Root): Sfoglia e seleziona la directory principale di WordPress, ad esempio
/Applications/ServBay/www/your-wordpress-site
. - Server web (Web Server): Scegli
Caddy
. - Versione PHP (PHP Version): Scegli la versione PHP richiesta dal progetto.
- Tipo di applicazione (Application Type): Seleziona
WordPress
.
- Dominio (Domain): Inserisci il dominio desiderato, ad es.
- Premi “Salva” o “Aggiungi”.
ServBay genererà la configurazione Caddy per wordpress.servbay.demo
, impostando root, rewrite URL (supportando i permalink) e gestione delle richieste PHP. Ora puoi visitare http://wordpress.servbay.demo
dal browser: WordPress sarà perfettamente funzionante e i permalink operativi.
Esempio Teorico di Configurazione Caddy (Solo per riferimento, generato automaticamente da ServBay)
Qui sotto trovi un esempio teorico di file di configurazione Caddy per WordPress. Non è necessario crearlo o modificarlo.
wordpress.servbay.demo {
# Imposta il root del sito
root * /Applications/ServBay/www/your-wordpress-site
# Configura la gestione PHP FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Abilita la gestione dei file statici
file_server
# Regola principale di Rewrite per WordPress – supporto permalink
# Se la richiesta non è un file o directory reale, inoltra a 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
Conclusione
Migrare siti Laravel o WordPress originariamente configurati per Apache sull’infrastruttura Caddy di ServBay è davvero semplice. Grazie al supporto integrato di ServBay per le applicazioni più comuni, non è necessario convertire manualmente file come .htaccess
o VirtualHost Apache in Caddyfile. Basta aggiungere correttamente il tuo sito nella sezione “Siti web (Websites)” di ServBay specificando dominio, root del sito, selezionando Caddy come server web e il tipo di applicazione (ad esempio Laravel o WordPress); ServBay genererà tutte le configurazioni Caddy necessarie, comprese le regole di Rewrite complesse.
Questa automazione semplifica radicalmente il processo di migrazione e la configurazione per lo sviluppo locale, permettendoti di concentrarti sul codice invece che sulla configurazione del server.