Configurare il Server Web Apache
ServBay ti permette di gestire e configurare facilmente il pacchetto server web Apache integrato. Tramite l'interfaccia grafica di ServBay, puoi regolare con semplicità le impostazioni principali di Apache in base alle esigenze dei diversi progetti di sviluppo.
Accesso alle impostazioni Apache
- Apri l'applicazione ServBay.
- Nella barra di navigazione a sinistra, clicca su
Server Web
. - Seleziona la scheda
Apache
.
Visualizzerai l'interfaccia di configurazione di Apache, come mostrato qui sotto:
Descrizione delle principali impostazioni
Di seguito sono spiegati in dettaglio i diversi parametri disponibili nell'interfaccia di configurazione di Apache.
Impostazioni di base
- HTTP Port: La porta su cui Apache ascolta le connessioni HTTP, di default
80
. - HTTPS Port: La porta su cui Apache ascolta le connessioni HTTPS, di default
443
. - Server Name: Il nome e la porta con cui il server si identifica. Di default
127.0.0.1
, usata normalmente per l'accesso locale. - Server Root: La directory principale in cui è installato il pacchetto Apache. Attenzione: questa non è la directory in cui si trovano i file del tuo sito web (la root del sito viene impostata separatamente durante l'aggiunta di un nuovo sito), ma il percorso dei file dell'applicativo Apache. Il valore predefinito è solitamente
/Applications/ServBay/package/apache/current
.
Ottimizzazione delle performance (Performance Tuning)
- Timeout: Numero massimo di secondi in cui il server attende prima di abbandonare un'operazione di I/O. Predefinito:
300
secondi. - Max KeepAlive Requests: Numero massimo di richieste permesso su una connessione persistente.
1000
permette il riutilizzo della stessa connessione per molte richieste, mentre0
non pone limiti. - KeepAlive Timeout: Il numero massimo di secondi che il server attende la prossima richiesta prima di chiudere una connessione persistente. Predefinito:
60
secondi. - Keep Alive: Indica se abilitare le connessioni HTTP persistenti (KeepAlive). Raccomandato
On
per migliori performance. - MPM StartServers: Numero di processi figli creati all'avvio del server.
- MPM MaxSpareThreads: Numero massimo di thread inattivi. Regola quanti thread di riserva vengono mantenuti per gestire richieste improvvise.
- MPM MaxConnectionsPerChild (precedentemente MaxRequestsPerChild): Numero massimo di connessioni che ciascun processo figlio può gestire durante il suo ciclo di vita.
0
significa nessun limite. Aiuta a prevenire possibili problemi di perdita di memoria. - MPM MaxRequestWorkers (precedentemente MaxClients): Numero massimo di richieste concorrenti che possono essere gestite contemporaneamente dalla somma di tutti i processi figli. È un parametro chiave per le prestazioni di Apache.
- MPM ThreadsPerChild: Numero fisso di thread creati da ciascun processo figlio (valido per modalità MPM
worker
oevent
).
Funzionalità e Caratteristiche (Features & Characteristics)
- Access File Name: Direttiva che specifica il nome del file di configurazione distribuita, normalmente
.htaccess
. Consente o nega la possibilità di sovrascrivere la configurazione principale tramite file.htaccess
. - Use Canonical Name: Controlla come Apache costruisce URL auto-referenti. Di solito è preferibile
Off
per maggiore flessibilità. - Server Signature: Aggiunge una riga in fondo alle pagine generate dal server (ad esempio pagine di errore) con informazioni sulla versione del server e sul nome dell'host virtuale. Per sicurezza, si consiglia
Off
in ambienti di produzione. - Hostname Lookups: Determina se Apache effettua una ricerca DNS inversa sull'indirizzo IP del client per ottenere il nome host. Abilitare questa opzione (
Off
di default) può rallentare le performance a causa delle query DNS. - Server Tokens: Controlla quante informazioni vengono mostrate nell'intestazione di risposta del server (
Server:
).Minor
(ad es. Apache/2.4) è più sicuro diFull
(ad es. Apache/2.4.58 (Unix) PHP/8.3.1).Prod
mostra soloApache
.
Amministrazione e Log (Admin & Logging)
- Server Admin: Indirizzo email dell'amministratore che viene mostrato nei messaggi di errore inviati al client dal server.
- Log Level: Regola il livello di dettaglio delle informazioni registrate nel log degli errori (
error_log
).warn
è un livello comune che registra avvisi e errori più gravi. Altri livelli includonodebug
,info
,notice
,error
,crit
,alert
,emerg
.
Moduli (Modules)
Questa sezione elenca i moduli Apache disponibili. È possibile abilitare i moduli necessari selezionando le relative caselle, o disabilitarli deselezionandole. I moduli comuni includono:
mod_rewrite
: per la riscrittura degli URL.mod_ssl
: per il supporto SSL/TLS (HTTPS).mod_deflate
: per la compressione dei contenuti trasmessi.mod_expires
: per la gestione degli header di cache.mod_proxy
e moduli correlati: per il reverse proxy.mod_auth_basic
,mod_auth_digest
: per l'autenticazione di base o digest.
Dopo aver attivato o inattivato un modulo, ricordati di salvare la configurazione: potrebbe essere necessario riavviare il servizio Apache perché le modifiche abbiano effetto.
Indice di Directory (Directory Index)
- Directory Index: Quando una URL punta a una directory, Apache cerca in quell'elenco di file in ordine e restituisce il primo che trova esistente. Di default:
index.html index.htm index.php
.
Impostazioni SSL/TLS
Questi parametri servono a configurare la funzionalità HTTPS di Apache.
- SSLCipherSuite / TLSCipherSuite: Definisce le suite crittografiche che il server può utilizzare. L'impiego di suite robuste e moderne è essenziale per la sicurezza. ServBay fornisce impostazioni raccomandate di default.
- SSLProxyCipherSuite: Specifica le suite crittografiche per le connessioni SSL quando Apache funge da reverse proxy.
- SSLHonorCipherOrder: Se impostato su
On
, il server privilegia le proprie preferenze sulle suite crittografiche rispetto a quelle del client. ConsigliatoOn
. - SSLStrictSNIVHostCheck: Se
On
, rifiuta la connessione se il nome host richiesto tramite SNI (Server Name Indication) non corrisponde a nessun virtual host configurato. Migliora la sicurezza. - ProtocolHonorOrder: Simile a
SSLHonorCipherOrder
, ma si applica alla negoziazione delle versioni di protocollo. - SSLProtocol: Definisce quali versioni di protocollo SSL/TLS sono consentite. Ad esempio:
all -SSLv2 -SSLv3
consente tutti i protocolli moderni ma disabilita quelli noti come insicuri (SSLv2 e SSLv3). - SSLProxyProtocol: Specifica i protocolli consentiti per le connessioni SSL su reverse proxy.
- Protocols: Configura l'ordine di negoziazione dei protocolli supportati, come l'abilitazione di HTTP/2. Ad esempio:
h2 h2c http/1.1
significa che verrà dato priorità a HTTP/2 (cifratoh2
o in chiaroh2c
), con fallback su HTTP/1.1.
Salvataggio e Reset
- Reset: Cliccando su questo pulsante tutte le impostazioni di Apache torneranno ai valori predefiniti di ServBay.
- Save: Cliccando su questo pulsante salverai tutte le modifiche apportate alla configurazione di Apache. Dopo il salvataggio, ServBay applicherà automaticamente le modifiche. Se Apache è in esecuzione, potrebbe essere necessario un breve riavvio per rendere effettive tutte le modifiche.
Avvisi importanti
- Le modifiche effettuate qui riguardano la configurazione globale di Apache. Le impostazioni specifiche di un singolo sito (virtual host), come
DocumentRoot
o particolariRewriteRule
, vengono configurate durante l'aggiunta o la modifica di una voce inSiti web
(Websites). - Se visualizzi nella parte superiore dell'interfaccia un messaggio tipo "Service Apache is not enabled", significa che il servizio Apache non è attualmente in esecuzione. Puoi comunque modificare e salvare le impostazioni, ma le modifiche saranno applicate solo dopo il riavvio del servizio Apache. Puoi avviare Apache dal pannello principale di ServBay o dal menu
Pacchetti
(Packages).
Riepilogo
ServBay offre un'interfaccia intuitiva per gestire le impostazioni principali del server web Apache. Comprendendo queste opzioni, puoi adattare il comportamento, la performance e la sicurezza di Apache alle esigenze di sviluppo, sfruttando al meglio ServBay come ambiente locale.