Sintomi e soluzione
In molti siti Web o forum di domande e risposte, le persone confondono i sintomi e le cause reali. Ho appena aggiornato un server Ubuntu dal 13.10 al 14.04.1 e ho riscontrato gli stessi identici sintomi descritti dall'OP, tra cui:
1- Apache apparentemente non funzionante. 2- variabile di configurazione apache non definita. 3- l'errore di sintassi menzionato dall'OP.
Il problema è che non tutti questi sintomi sono in realtà germani al problema reale e servono solo come distrazione per coloro che fanno del loro meglio per aiutare.
Diversi problemi alla radice possono far sì che gli amministratori arrivino a siti come questo con approssimativamente la stessa descrizione: "Ho aggiornato il sistema operativo e ora apache non funziona ..."
Una causa specifica
Avendo esattamente gli stessi sintomi apparenti dell'OP, ero attratto da questa domanda. Sfortunatamente, l'unica risposta che conteneva un valido suggerimento per la vera causa principale del mio problema è stata il downgrade (-1), pubblicato da user1469291 con un rappresentante di 1 !! Quindi ho cercato altri siti Web fino a quando non ho trovato una chiara spiegazione del problema (e quindi della soluzione).
La soluzione che segue potrebbe non risolvere il vero problema del PO, ma sono sicuro che aiuterà gli altri che potrebbero essere attratti da questa domanda per gli stessi motivi di me.
/etc/apache2/apache2.conf contiene:
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
il che significa che verranno caricati solo i file di configurazione del sito in / etc / apache2 / siti abilitati / che terminano con .conf. Il vecchio symlink in quella directory verrà ignorato.
Prima era semplicemente abilitato per i siti / *. Ecco perché tutti i miei file di configurazione dell'host virtuale che ho semplicemente chiamato ww1.example.com, ww2.example.com, ecc., Funzionavano ma all'improvviso e inizialmente hanno inspiegabilmente smesso di funzionare dopo l'aggiornamento.
Quindi, modifica la direttiva sopra e ricarica apache o, come ho fatto io, rimuovi manualmente tutti i vecchi link simbolici nei siti abilitati /, rinomina tutti i file nei siti disponibili / per aggiungere il suffisso .conf e quindi riattiva ciascuno sito individualmente.
Inoltre, la direttiva predefinita in apache.conf è più rigorosa:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all deny
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Quindi, se si ospitano i siti virtuali in / home / user / da qualche parte, assicurarsi di ignorare la direttiva in modo appropriato.