SYSADMIN JOURNAL / Linux · Networking · Security · HostingProcedure, appunti e soluzioni tecniche
Apache

Apache sites-available e sites-enabled diversi: riallineare dopo una manutenzione

Pubblicato il 12/11/2026

Guida operativa basata su un caso verificato. Risoluzione di divergenze fra VirtualHost sorgenti e attivi dopo una manutenzione a rotazione dei backend.

Problema reale

I VirtualHost attivi contenevano nuovamente i backend prima isolati, mentre i file omonimi in sites-available conservavano commenti temporanei. Un successivo riavvio o una riattivazione del vhost avrebbe potuto ripristinare membri di bilanciamento incompleti.

Non assumere che siano symlink

Nei sistemi Debian sites-enabled contiene spesso collegamenti simbolici; in questo caso diversi file erano copie autonome. Perciò cambiare un file in una directory non aggiornava automaticamente l'altro.

Ricognizione

ls -l /etc/apache2/sites-enabled
find /etc/apache2/sites-enabled -xtype l -print
for f in /etc/apache2/sites-enabled/*; do
  [ -L "$f" ] && continue
  b=${f##*/}
  [ -f /etc/apache2/sites-available/"$b" ] || continue
  cmp -s "$f" /etc/apache2/sites-available/"$b" || echo "DIFF $b"
done

Verifica delle differenze

Per ogni vhost usare diff -u prima di copiare. Nell'intervento le divergenze erano limitate ai commenti di manutenzione dei nodi e all'indentazione di un membro del bilanciatore; non sono state nascoste o applicate modifiche sconosciute.

Soluzione verificata

Dopo backup è stata copiata la configurazione effettivamente attiva verso sites-available soltanto nei file dove tutte le differenze erano state giustificate. Gli otto file interessati su ciascun proxy sono risultati identici.

Controllo conclusivo

apachectl -t
apachectl -S
find /etc/apache2/sites-enabled -xtype l -print

La sola sincronizzazione di sites-available non richiede reload quando i file attivi restano invariati.

Prevenzione

Preferire i symlink gestiti da a2ensite ove compatibili con l'architettura esistente. Per gli ambienti legacy con copie indipendenti, includere il confronto nel checklist del change management.

Approfondimenti correlati

Comandi e percorsi riportano segnaposto generici; verificare versioni e backup prima di applicarli in produzione.