
Ich habe einen Webserver mit Ubuntu 17.04, den ich gerade einrichten möchte Apache
. Alles lief prima, bis ich mich entschied, zwei Websites auf einer einzigen Maschine über virtualHosts zu hosten. Jetzt apache
weigert er sich, zu starten, obwohl auch nur ein einziger Host aktiviert ist. Bei jedem Startversuch Apache
erhalte ich diese Fehlermeldung:
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot.
Keiner meiner Versuche, dies zu beheben, hat zu etwas geführt, einschließlich:
apt purge apache2 && rm -r /etc/apache2
Zeile 80 der Fehlermeldung sagt mir nur DefaultRuntimeDir ${APACHE_RUN_DIR}
:
Und ich sehe zu keinem Zeitpunkt, wo was APACHE_RUN_DIR
deklariert ist oder was nicht.
Kann mir jemand helfen?
Antwort1
Der Befehl
source /etc/apache2/envvars
hat mein Problem gelöst (nachdem ich ALLE anderen ausprobiert hatte).
Um zu prüfen, ob alles in Ordnung ist, verwenden Sie den Befehl
apache2 -S
Ich fand, dass das schneller war, als meine DNS-Einträge zu verwenden.
Antwort2
Es fehlt ein Update in „man apache2“, zumindest für die Option -V;
Heute sollte man entweder "apachectl" oder "apache2ctl" verwenden statt
"apache2" für zumindest einige Optionen, wie in
Antwort3
Apache2 verwendet /etc/apache2/envvars
Umgebungsvariablen zum Festlegen. Sie können diese Informationen verwenden, um sicherzustellen, dass das Verzeichnis, ${APACHE_RUN_DIR}
auf das verwiesen wird, gültig ist.
Beim Upgrade von 14.04 auf 17.04 trat bei mir dasselbe Problem auf. Das Problem war: ${APACHE_RUN_DIR}
war auf eingestellt /var/run/apache2
, aber der Ordner apache2 fehlte in /var/run
.
Die Lösung für mich war:mkdir /var/run/apache2
Antwort4
in meinem Fall bezog es sich auf die Zeile „Require all denied“ in der Datei apache2.conf, die (wiederum) in meinem Fall nur als „Require denied“ eingegeben wurde.