Ich habe meinem Ordner für Apache-Sites eine Datei mysite.conf mit den richtigen Einstellungen hinzugefügt, sie dann aktiviert und Apache neu geladen, und sie funktioniert nicht. Ich möchte die in 000-default.conf definierte Standard-Site-Konfiguration deaktivieren, um festzustellen, ob das Problem dadurch behoben wird.
Um dies zu erreichen, lief ich:
cd /etc/apache2/sites-available/
sudo a2dissite 000-default.conf
service apache2 reload
und alles schien in Ordnung zu sein, aber wenn ich mysite.com in meinen Browser lade, sehe ich immer noch die Standarddatei index.html in / var / www / html / (wie in 000-default.conf angegeben), obwohl ich habe die Site-Konfigurationsdatei für meine Domain wie folgt aktiviert:
<VirtualHost *:80>
ServerName www.mysite.com
ServerAlias mysite.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mysite.com
ErrorLog ${APACHE_LOG_DIR}/error_mysite.log
CustomLog ${APACHE_LOG_DIR}/error_access_mysite.log combined
</VirtualHost>
Ich habe eine Datei /var/www/mysite.com/index.php, von der ich erwarte, dass sie stattdessen geladen wurde.
apache
linux
virtualhost
configuration
Sehr unregelmäßig
quelle
quelle
Antworten:
Nur zur Erklärung für zukünftige Benutzer.
Ihre 000-default.conf-Datei ist eine Sammel-Site und sollte in Ruhe gelassen werden. Es ist gut für die Sicherheit. Es kann frustrierend sein, wenn eine Site-Konfiguration nicht funktioniert und die Standard-Site bereitgestellt wird. Ich verstehe es. Lass es trotzdem in Ruhe. Vielen Menschen ist nicht bekannt, warum die Standardwebsite vorhanden ist. Hier ist eine kleine Erklärung.
Wenn Apache eine Anfrage empfängt, versucht es, sie einer ihm bekannten Konfiguration zuzuordnen. Daher sucht jede Anfrage nach example.com nach einer example.com.conf mit einer geeigneten Konfiguration. Wenn keine Übereinstimmung vorliegt, wird die Site 000-default.conf verwendet. Wenn eine Anforderung für bogussite.com angezeigt wird und auf dem Server nicht vorhanden ist, wird die Datei 000-default.conf bereitgestellt. Dies ist besonders nützlich für Anfragen nur nach IP-Adressen. Und wir alle hassen die !! Wenn jedoch in example.com.conf ein Fehler auftritt, ist es immer noch möglich, dass die Site 000-default.conf bereitgestellt wird, wobei der genaue Grund, warum und wie die Konfiguration fehlschlägt, etwas verwirrend und sehr frustrierend ist.
Ich habe hier einige Beispielkonfigurationen von einem Live-Server angegeben: Virtualhost-Konfiguration: Routing und Platzhalterverwendung
Push kommt zu schieben, diese sollten immer funktionieren. Sie können sie genau ausschneiden und einfügen, dann die erforderlichen Änderungen vornehmen oder Ihre vorhandenen Dateien ändern. Ihre Option. Es ist leicht, die Augen zu verschränken, seien Sie also vorsichtig. Wir haben es alle getan, damit Sie nicht allein sind.
@HighlyIrregular macht diesen Punkt in seinen Kommentaren, die leben sollten.
Sie können die Konfiguration in einer Shell-Sitzung jederzeit mit ...
... was bei der Behebung von Problemen helfen sollte.
Sie müssen Ihre neuen / zusätzlichen Sites in Ihrem
/etc/apache2/site-available/
Verzeichnis in einem ähnlichen Dateiformat wie erstellenexample.com.conf
. Sie wollen auch sicherstellen , dass/etc/apache2/apache2.conf
hatInclude sites-enabled/
etwas ähnliches wie eine der letzten Zeilen oder.Wenn eine Konfigurationsdatei geändert wird, muss Apache neu gestartet werden. Apache speichert Konfigurationen im Speicher zwischen und Änderungen werden erst nach einem Neustart angezeigt. In seltenen Fällen funktioniert ein Neustart nicht wie erwartet. In diesem Fall sollten Sie Ihren Server neu starten, um dies als Problem auszuschließen. Es ist sehr wahrscheinlich, dass beim Neustart keine gültigen Konfigurationen angezeigt werden. Nicht sicher warum. Bei einem Neustart muss Apache die Konfigurationsdateien jedoch erneut zwischenspeichern. Es ist wie ein größerer Hammer. Manchmal einen Versuch wert.
quelle
apachectl configtest
zum Erkennen von Apache-Konfigurationsfehlern nützlich ist (verwenden Sie ihn, bevor Sie Apache neu laden / neu starten).000-default.conf
wie Sie es empfehlen, sondern es trotzdem so mache, dass ein Browser zur IP des lokalen Servers navigiert wird einer der alternativen virtuellen Hosts (example.conf
) anstelle des Standardhosts angezeigt? Ich glaube, ich suche nach einerDefaultVirtualHost = ...
Richtlinie, bin mir aber nicht sicher, ob sie existiert oder wie ich sonst vorgehen soll, wenn. Im Moment habe ich denexample.conf
Port8080
aktiviert. Wenn ich ihn also auf die IP gehe, komme ich zu der gewünschten Seite. Keine schöne Lösung.Ich stimme dem Benutzer'schranknoc 'zu, der um [2015-Aug-2 00: 24: 36Z] auf den ursprünglichen Beitrag geantwortet hat, in dem stand: "Die
000-default.conf
Site ist ein Sammelbegriff für jede Anfrage, für die der Server keine Konfigurationsdatei hat ".Und ich denke, wir können diese "Sammelstelle" als letzten Ausweg nutzen, um die allgemeine Sicherheit zu schützen und zu verbessern.
Ich habe immer noch versucht, die Site '
000-default.conf
' zu aktivieren, aber ihre Konfiguration ein wenig anders zu gestalten, als ALLE Anfragen ohne Senden einer Antwort ständig zu löschen und dann sofort die Verbindung für alle verbotenen Zugriffe zu schließen, damit nichts geantwortet wird Ich habe es dem versuchenden Antragsteller mitgeteilt.Hier ist meine '
000-default.conf
' Datei als Referenz:Denken Sie daran, das
ModSecurity
Modul ' ' zu installieren, damit die Anweisungen 'SecRuleEngine
' und 'SecRule
' akzeptiert werden können. Wenn Sie zusätzliche Unterstützung und Referenz zum Thema 'ModSecurity
' Modul benötigen , schlagen Sie vor, im Internet zu suchen.Hoffe das obige hilft!
quelle