5 votes

La page par défaut est toujours accessible après a2dissite 000-default.conf

J'ai une toute nouvelle installation d'Ubuntu 16.04 LTS Server (32bit) avec les paquets LAMP activés. Ce qui signifie qu'en l'état, il sert la page par défaut typique d'Ubuntu Apache2 sur le port 80, situé sous le nom de /var/www/html/index.html .

Une des premières choses que j'ai faites a été d'essayer de désactiver cette page, en utilisant la vénérable

sudo a2dissite 000-default.conf

qui m'a demandé de faire

service apache2 reload

que j'ai également appelé avec sudo .

À ma grande surprise, après cela, le site est toujours accessible : Le rechargement et le rechargement en mode shift dans Firefox affichent toujours la page et je peux voir les requêtes dans l'onglet /var/log/apache2/other_vhosts_access.log .

L'exécution du a2dissite La commande montre à nouveau Site 000-default already disabled et le répertoire /etc/apache2/sites-enabled/ est vide.

Qu'est-ce que je fais de mal ?

EDIT :

Quant à la suggestions de Julius Š. J'ai aussi essayé

sudo service apache2 restart

avec le même résultat et j'ai vérifié mon /etc/apache2/apache2.conf qui montre <VirtualHost> seulement dans certains commentaires.

Concernant <Directory> ces entrées ne sont que les valeurs par défaut du fichier :

<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>

Cela pourrait-il être dû à des plugins qui cherchent dans /var/www/ des sous-dossiers pour les fichiers html appropriés ?

EDIT 2 :

J'ai aussi reboot ed la machine, le site est toujours accessible.

Seul l'arrêt du service le rend inaccessible. Comme j'ai l'intention d'y faire tourner d'autres sites, j'aurai éventuellement besoin de le faire fonctionner, alors je suis vraiment curieux de savoir ce qui se passe.

EDIT 3 :

Comme je l'ai trouvé dans cette réponse sur SO les paramètres du serveur virtuel du fichier de configuration peuvent être affichés comme suit :

. /etc/apache2/envvars
apache2 -S

...ce qui, dans mon cas, donne le résultat suivant :

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

J'ai été un peu suspicieux à propos du DocumentRoot pointant vers /var/www/html alors j'ai fait un

find |xargs grep DocumentRoot 2>/dev/null

au sein de la /etc/apache2 ce qui a conduit à ce qui suit :

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

...donc rien dans aucune des *-enabled/ les sous-dossiers contenant cette chaîne. Je me demande vraiment où Apache trouve le DocumentRoot à partir du moment où rien ne semble être activé.

5voto

muru Points 180007

DocumentRoot a une valeur par défaut qui est utilisé s'il n'est pas défini. Cela signifierait qu'Apache servirait à partir d'un répertoire quelconque même si DocumentRoot n'a été défini nulle part dans la configuration.

Pour la source Apache en amont, c'est /usr/local/apache/htdocs mais l'emballage Ubuntu annule cela con --enable-layout=Debian . C'est sans doute la raison pour laquelle il continue à servir avec /var/www/html como DocumentRoot . Si vous voulez simplement qu'il arrête de charger cette page, rendez-la inaccessible à l'utilisateur. www-data en changeant les permissions, ou définissez DocumentRoot vers un autre répertoire.

2voto

ChrisAdmin Points 121

J'ai eu quelques difficultés avec la réponse de muru et j'ai trouvé une solution différente. Contrairement au commentaire de fkraiem, je voulais configurer un VPS pour un proxy sécurisé non-port-80 et j'ai ajouté le fichier de conf du site virtuel pour le faire.

En commentant le Listen 80 ligne de /etc/apache2/ports.conf a supprimé l'accès à la page de succès par défaut d'apache.

#Listen 80

Ce qui est bien, en supposant que vous avez ajouté Listen <secure-port-number> en haut du fichier de configuration de votre site virtuel.

systemctl restart apache2 ou éventuellement systemctl reload apache2 est alors nécessaire, comme d'habitude.

1voto

Hagen von Eitzen Points 167

Puisque j'ai l'intention de faire tourner d'autres sites dessus...

Dès que vous créez un ou plusieurs hôtes virtuels (et que vous laissez l'hôte par défaut désactivé), l'un de ces hôtes virtuels sera pris comme hôte par défaut. Le choix de l'hôte virtuel qui sera utilisé dans ce cas peut sembler un peu aléatoire, mais il ne l'est pas vraiment : les configurations d'hôtes activés sont lues par ordre alphabétique et pour chaque port (c'est-à-dire séparément pour les ports 80 et 443 si vous utilisez les ports standard pour http et https), le premier hôte virtuel ainsi rencontré jouera le rôle d'hôte par défaut.

Donc si vous avez plus tard BBB.conf définir www.foo.example pour le port 80 et CCC.conf définir www.bar.example pour le port 443 et DDD.conf définir www.baz.example pour les deux 80 et 443, alors apache2 -S vous dira que www.foo.example est par défaut pour le port 80 et www.bar.example pour le port 443. À moins que ce dernier ne soit équipé d'un certificat de type wildcard, cela peut ne pas être particulièrement utile, et la préférence de www.foo.example pour le port 80 n'est probablement pas souhaitée (ou si elle est souhaitée, ne soyez pas surpris est d'ajouter plus tard AAA.conf change cela).

Je suggère donc de garder l'hôte par défaut (dont le nom du fichier de configuration est volontairement précoce dans l'alphabet) et modifiez son contenu pour afficher une page par défaut utile ou modifiez les permissions pour afficher une page d'erreur utile. (Ne supprimez pas simplement /var/www/html/index.html parce que par défaut, cela vous laissera avec une liste de répertoire certainement indésirable comme page de démarrage).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X