it-swarm.com.de

Die Standardseite ist nach a2dissite 000-default.conf noch verfügbar

Ich habe eine brandneue Installation von Ubuntu 16.04 LTS Server (32bit) mit aktivierten LAMP-Paketen. Dies bedeutet, dass standardmäßig die typische Apache2 Ubuntu-Standardseite auf Port 80 unter /var/www/html/index.html bereitgestellt wird.

Eines der ersten Dinge, die ich tat, war zu versuchen, diese Seite mit dem ehrwürdigen zu deaktivieren

Sudo a2dissite 000-default.conf

befehl, der mich dazu aufforderte

service Apache2 reload

das habe ich auch mit Sudo angerufen.

Zu meiner Überraschung ist die Site danach immer noch zugänglich: Beim erneuten Laden und Neuladen in Firefox wird die Seite weiterhin angezeigt, und ich kann die Anforderungen in /var/log/Apache2/other_vhosts_access.log sehen.

Wenn Sie den Befehl a2dissite erneut ausführen, wird Site 000-default already disabled angezeigt, und das Verzeichnis /etc/Apache2/sites-enabled/ ist leer.

Was mache ich falsch?

EDIT:

Was die Vorschläge von Julius Š betrifft, habe ich es auch versucht

Sudo service Apache2 restart

mit dem gleichen Ergebnis und überprüfte meine /etc/Apache2/Apache2.conf -Datei, die <VirtualHost> nur in einigen Kommentaren anzeigt.

Bei <Directory> Einträgen handelt es sich lediglich um die Standardeinstellungen in der Datei:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

#<Directory /srv/>
#       Options Indexes FollowSymLinks
#       AllowOverride None
#       Require all granted
#</Directory>

Könnten es Plugins sein, die in /var/www/ Unterordnern nach geeigneten HTML-Dateien suchen?

EDIT 2:

Ich habe auch rebooted die Maschine, die Website ist immer noch zugänglich.

Erst das Stoppen des Dienstes macht ihn unzugänglich. Da ich vorhabe, andere Websites auf dieser Website zu betreiben, muss diese möglicherweise ausgeführt werden. Daher bin ich sehr gespannt, was los ist.

EDIT 3:

Wie ich in dieser Antwort auf SO gefunden habe, können die virtualhost-Einstellungen aus der Konfigurationsdatei wie folgt angezeigt werden:

. /etc/Apache2/envvars
Apache2 -S

... was in meinem Fall folgendes ausgibt:

AH00558: Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
ServerRoot: "/etc/Apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/Apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/Apache2" mechanism=fcntl 
PidFile: "/var/run/Apache2/Apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used

Ich war etwas misstrauisch in Bezug auf den Eintrag DocumentRoot, der auf /var/www/html zeigt, also habe ich einen

find |xargs grep DocumentRoot 2>/dev/null

im Ordner /etc/Apache2, was zu folgendem führte:

./sites-available/default-ssl.conf:     DocumentRoot /var/www/html
./sites-available/000-default.conf: DocumentRoot /var/www/html

... also nichts in einem der *-enabled/ -Unterordner, die diesen String enthalten. Ich frage mich wirklich, woher Apache das DocumentRoot bezieht, wenn nichts aktiviert zu sein scheint.

3
FriendFX

DocumentRoot hat einen Standardwert wird verwendet, wenn es nicht gesetzt ist. Das würde bedeuten, dass Apache aus einem Verzeichnis heraus bedient wird, selbst wenn DocumentRoot an keiner Stelle in der Konfiguration festgelegt wurde.

Für die Upstream-Apache-Quelle ist das /usr/local/Apache/htdocs, aber die Ubuntu-Verpackung überschreibt dies mit --enable-layout=Debian. Das ist vermutlich der Grund, warum es weiterhin mit /var/www/html als DocumentRoot dient. Wenn Sie nur möchten, dass diese Seite nicht mehr geladen wird, können Sie sie für den Benutzer www-data unzugänglich machen, indem Sie die Berechtigungen ändern, oder DocumentRoot auf ein anderes Verzeichnis festlegen.

2
muru

Ich hatte einige Schwierigkeiten mit der Antwort von muru und fand eine andere Lösung. Im Gegensatz zu fkraiems Kommentar wollte ich einen VPS für einen nicht-port-80-sicheren Proxy einrichten und fügte dazu die conf-Datei der virtuellen Site hinzu.

Durch Auskommentieren der Listen 80 -Zeile von /etc/Apache2/ports.conf wurde der Zugriff auf die standardmäßige Apache-Erfolgsseite entfernt.

#Listen 80

Das ist in Ordnung, vorausgesetzt, Sie haben Listen <secure-port-number> oben in der Konfigurationsdatei Ihrer virtuellen Site hinzugefügt.

systemctl restart Apache2 oder möglicherweise systemctl reload Apache2 wird dann wie gewohnt benötigt.

1
ChrisAdmin

Da ich vorhabe andere Seiten darauf laufen zu lassen ...

Sobald Sie einen oder mehrere virtuelle Hosts erstellen (und den Standardhost deaktiviert lassen), wird einer dieser virtuellen Hosts als Standardhost verwendet. Welcher Ihrer vhosts in diesem Fall verwendet wird, mag etwas zufällig erscheinen, obwohl dies nicht der Fall ist: Aktivierte Host-Konfigurationen werden in alphabetischer Reihenfolge und für jeden Port gelesen (dh separat für Port 80 und Port 443, wenn Sie die Standard-Ports verwenden für http und https) spielt der erste auf diese Weise angetroffene virtuelle Host die Rolle des Standardhosts.

Wenn Sie also später BBB.conf definieren www.foo.example für Port 80 und CCC.conf definieren www.bar.example für Port 443 und DDD.conf definieren www.baz.example für 80 und 443, dann wird Apache2 -S Ihnen mitteilen, dass www.foo.example für Port 80 und www.bar.example für Port 443 voreingestellt sind. Sofern dieser nicht mit einem Wildcard-Zertifikat ausgestattet ist, ist dies möglicherweise nicht besonders nützlich , und die Präferenz von www.foo.example für Port 80 ist wahrscheinlich unerwünscht (oder wenn es gewünscht wird, wundern Sie sich nicht, wenn Sie später AAA.conf hinzufügen, um dies zu ändern).

Daher ist mein Vorschlag, keep den Standard-Host (der einen Konfigurationsdateinamen hat, der sich absichtlich am Anfang des Alphabets befindet) und dessen Inhalt so zu ändern, dass eine nützliche Standardseite angezeigt wird, oder die Berechtigungen dafür so zu ändern, dass eine nützliche angezeigt wird Fehlerseite. (Löschen Sie /var/www/html/index.html nicht einfach, da Sie dadurch standardmäßig eine sicherlich unerwünschte Verzeichnisliste als Startseite erhalten.).

1