Ich habe cmsplus.dev
unter /etc/apache2/sites-available
mit dem folgenden Code,
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.cmsplus.dev
ServerAlias cmsplus.dev
DocumentRoot /var/www/cmsplus.dev/public
LogLevel warn
ErrorLog /var/www/cmsplus.dev/log/error.log
CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>
Wenn ich jetzt benutze sudo /usr/sbin/a2ensite cmsplus.dev
, erhalte ich den Fehler:
ERROR: Site cmsplus.dev does not exist!
Mein Webserver Apache/2.4.6 (Ubuntu)
Wie kann man dieses Problem lösen?
apache
apache2
virtualhost
devo
quelle
quelle
Sie haben wahrscheinlich Ihre Ubuntu-Installation aktualisiert und eines der Updates beinhaltete das Upgrade von Apache auf Version 2.4.x.
In Apache 2.4.x müssen die vhost-Konfigurationsdateien im Verzeichnis / etc / apache2 / sites-available die Erweiterung .conf haben.
Benennen Sie mit Terminal (Befehl mv) alle vorhandenen Konfigurationsdateien um und fügen Sie allen die Erweiterung .conf hinzu.
Wenn der Fehler "Berechtigung verweigert" angezeigt wird, fügen Sie "sudo" vor Ihren Terminalbefehlen hinzu.
Sie müssen keine weiteren Änderungen an den Konfigurationsdateien vornehmen.
Aktivieren Sie die vhost (s):
Und dann laden Sie Apache neu:
Ihre Websites sollten jetzt betriebsbereit sein.
UPDATE: Wie hier erwähnt , hat eine von Ihnen installierte Linux-Distribution die Konfiguration in Include * .conf geändert. Daher hat es nichts mit Apache 2.2 oder 2.4 zu tun
quelle
Es gibt noch einen anderen guten Weg, bearbeiten Sie einfach die Datei und es
apache2.conf
gibt eine Zeile am EndeEntfernen Sie einfach das
.conf
am Ende, sound starten Sie den Server neu.
(Ich habe dies nur in Ubuntu 13.10 versucht, als ich es aktualisiert habe.)
quelle
.conf
zu den Konfigurationsdateien hat dies jedoch getan.Ich hatte gerade das gleiche Problem. Ich würde sagen, es hat nichts mit der apache.conf zu tun.
a2ensite muss sich geändert haben - Zeile 532 ist die Zeile, die das Suffix .conf erzwingt:
Wenn Sie es ändern zu:
... es wird ohne Suffix funktionieren.
Natürlich möchten Sie das a2ensite-Skript nicht ändern, aber das Suffix der conf-Datei ist der richtige Weg.
Dies ist wahrscheinlich nur eine Möglichkeit, das ".conf" -Suffix durchzusetzen.
quelle
Der schnellste Weg ist also, Site-Konfigurationsnamen umzubenennen, die auf ".conf" enden.
andere Anmerkungen zu früheren Kommentaren:
IncludeOptional wurde erst in Apache 2.36 eingeführt. Wenn Sie die obigen Änderungen vornehmen und anschließend auf 2.2 neu starten, wird Ihr Server heruntergefahren!
Außerdem kann Version 2.2 a2ensite nicht wie beschrieben gehackt werden
Da es sich bei Ihrer Site-verfügbaren Datei tatsächlich um eine Konfigurationsdatei handelt, sollte sie trotzdem so benannt werden.
Starten Sie Dienste im Allgemeinen nicht neu (Webserver sind eine Art von Dienst):
Server können viele Jahre lang ausgeführt werden - Live-Update, Konfiguration neu laden usw.
Die Cloud bedeutet nicht, dass Sie neu starten müssen, um eine Konfigurationsdatei zu laden.
Wenn Sie die Konfiguration eines Dienstes ändern, verwenden Sie "reload" und nicht "restart".
Neustart stoppt den Dienst und startet dann den Dienst. Wenn bei Ihrer Änderung der Konfiguration ein Problem auftritt, wird der Dienst nicht neu gestartet.
Beim erneuten Laden wird ein Fehler ausgegeben, aber der Dienst wird niemals heruntergefahren, sodass Sie den Konfigurationsfehler beheben können, der nur eine schlechte Syntax sein kann.
debian oder ubunto [Dienstname für diesen Thread ist apache2]
andere os als links für den leser übrig.
quelle
Funktioniert, nachdem ich
.conf
zur Konfigurationsdatei hinzugefügt habequelle
Ich habe gerade die Ubuntu Server-Version von 12.04 LTS auf 14.04 LTS aktualisiert.
Wie oben erwähnt, wird die Erweiterung .conf für Apache 2.4.x für die vhost-Dateien der Websites benötigt, die sich im Verzeichnis "sites-available" befinden.
Bevor ich diese Frage gelesen habe, hatte ich keine Ahnung, was mit dem Server los war.
Ziemlich schöne Lösung.
Zusammenfassend habe ich die folgenden Schritte am Terminal ausgeführt:
1) Greifen Sie auf den für Websites aktivierten Ordner zu
2) Da der Befehl a2dissite nicht mit veralteten Dateien (ohne .conf) funktioniert, entfernen Sie die alten Website-Dateien, die veröffentlicht wurden
3) Benennen Sie die Website-vhost-Dateien um und ändern Sie ihre Erweiterung, indem Sie am Ende .conf hinzufügen
4) Veröffentlichen Sie die neue und korrekte vhost-Datei erneut
5) Überprüfen Sie die Website im Browser und haben Sie Spaß! :) :)
quelle
In meinem Fall mit Ubuntu 14.04.3 und Apache 2.4.7 bestand das Problem darin, dass ich site1.conf kopiert habe, um site2.conf verfügbar zu machen, und durch Kopieren etwas passiert ist und ich mit dem im Thread beschriebenen Fehler nicht a2ensite site2.conf konnte .
Die Lösung für mich bestand darin, site2.conf in site2 umzubenennen und dann site2 erneut in site2.conf umzubenennen. Danach konnte ich a2ensite site2.conf.
quelle
Mir ist klar, dass dies hier nicht der Fall ist, aber es könnte jemandem helfen.
Stellen Sie sicher, dass Sie die conf-Datei nicht versehentlich in / etc / apache2 / sites-enabled erstellt haben. Sie erhalten den gleichen Fehler.
quelle
Versuchen Sie es so ..
und fügen Sie einen Eintrag in / etc / hosts hinzu
Apache neu starten ..
quelle
It works
anstelle der Einstellungen..conf
diesen Site-Konfigurationsdateien lediglich eine Erweiterung hinzugefügt wurde .