Symptome und Lösung
In vielen Q & A-Websites oder Foren verwechseln die Menschen Symptome und tatsächliche Ursachen. Ich habe gerade einen Ubuntu-Server von 13.10 auf 14.04.1 aktualisiert und bin auf genau dieselben Symptome gestoßen, die vom OP beschrieben wurden, darunter:
1 - Apache funktioniert anscheinend nicht. 2- Apache-Konfigurationsvariable undefined. 3- der vom OP erwähnte Syntaxfehler.
Das Problem ist, dass nicht alle diese Symptome tatsächlich für das eigentliche Problem relevant sind und nur als Ablenkung für diejenigen dienen, die ihr Bestes geben, um zu helfen.
Verschiedene Root-Probleme können dazu führen, dass Administratoren zu Sites wie dieser mit ungefähr der gleichen Beschreibung kommen: "Ich habe das Betriebssystem aktualisiert und jetzt funktioniert Apache nicht mehr ..."
Eine bestimmte Ursache
Ich hatte genau die gleichen offensichtlichen Symptome wie das OP und fühlte mich von dieser Frage angezogen. Leider war die einzige Antwort, die einen gültigen Hinweis auf die eigentliche Ursache meines Problems enthielt, eine Abwertung (-1), die von user1469291 mit einer Wiederholung von 1 gesendet wurde !! Also suchte ich weiter auf anderen Websites, bis ich eine klare Erklärung des Problems (und damit der Lösung) fand.
Die folgende Lösung könnte das eigentliche Problem des OP nicht lösen, aber ich bin sicher, dass sie anderen helfen wird, die sich aus den gleichen Gründen wie ich für diese Frage interessieren.
/etc/apache2/apache2.conf enthält:
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
Dies bedeutet, dass nur Site-Konfigurationsdateien in / etc / apache2 / sites-enabled / geladen werden, die auf .conf enden. Ältere Symlinks in diesem Verzeichnis werden ignoriert.
Früher war es einfach sites-enabled / *. Aus diesem Grund funktionierten alle meine Konfigurationsdateien für virtuelle Hosts, die ich einfach ww1.example.com, ww2.example.com usw. nannte, nach dem Upgrade plötzlich und zunächst unerklärlicherweise nicht mehr.
Also ändere entweder die obige Direktive und lade Apache neu oder entferne wie ich manuell alle älteren Symlinks in sites-enabled /, benenne alle Dateien in sites-available / um, füge das Suffix .conf hinzu und aktiviere sie dann erneut Website individuell.
Außerdem sind die Standardanweisungen in der apache.conf strenger:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all deny
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Wenn Sie also Ihre virtuellen Sites in / home / user / irgendwo hosten, müssen Sie die Direktive entsprechend überschreiben.