1 votes

Si j'ai spécifié un DocumentRoot dans mon VirtualHost, ai-je besoin d'un <Directory> spécifié?

Je suis en train d'utiliser un fichier VirtualHost qui ressemble plutôt à un fichier par défaut que j'ai configuré il y a un certain temps (avant d'avoir beaucoup de connaissances sur le fonctionnement de ce système), et je ne suis pas exactement sûr de ce que je devrais conserver. Je ne veux pas simplement essayer des choses car la mise en place d'une machine virtuelle avec tout cela serait une corvée, et la configuration actuelle se trouve dans un environnement de production donc l'essai-erreur n'est pas vraiment une option. Voici le fichier, avec des noms modifiés pour protéger les innocents :

    ServerAdmin dummy@example.com
    ServerName www.my.hostname
    ServerAlias my.hostname
    DocumentRoot /var/www/mysite

        Options FollowSymLinks
        AllowOverride None

        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Les valeurs possibles sont : debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    LogFormat "%t   %T/%D   \"%r\"   %>s   %b" mysitelog
    CustomLog ${APACHE_LOG_DIR}/mysite.access.log mysitelog

    Alias /doc/ "/usr/share/doc/"

        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128

Mes questions à ce sujet sont :

  1. Devrais-je me débarrasser du bloc ? Il est spécifié dans $APACHE_HOME/conf.d/security avec le commentaire "Cela casse actuellement les configurations fournies avec certains paquets d'applications web Debian." Devrais-je décommenter cette version et supprimer celle de mon vhost ?

  2. Il n'y a que du PHP ici, donc je suppose qu'il n'y a aucune raison de conserver le bloc cgi et l'alias.

  3. Je suppose que je peux aussi me débarrasser du truc doc. Je ne sais même pas vraiment à quoi cela sert, donc points bonus (pas vraiment) si vous pouvez expliquer à quoi cela serait utilisé dans une configuration "normale".

Donc, en supposant que j'ai raison dans tout ce que je pense, mon nouveau fichier vhost pourrait ressembler à ceci :

    ServerAdmin dummy@example.com
    ServerName www.my.hostname
    ServerAlias my.hostname
    DocumentRoot /var/www/mysite

        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Les valeurs possibles sont : debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    LogFormat "%t   %T/%D   \"%r\"   %>s   %b" mysitelog
    CustomLog ${APACHE_LOG_DIR}/mysite.access.log mysitelog

Tout autre conseil est le bienvenu. Merci ! Veuillez me dire si plus d'informations de ma configuration sont nécessaires !

2voto

Shane Madden Points 112034

Devrais-je me débarrasser du bloc ?

Bien sûr! C'est certainement quelque chose que vous pouvez gérer au niveau du serveur plutôt que dans le vhost.

C'est rien d'autre que PHP, donc je suppose qu'il n'y a aucune raison de garder le bloc cgi et l'alias.

Fais sauter.

Je suppose que je peux aussi me débarrasser des trucs de doc aussi.

Fais sauter. C'est là pour vous permettre d'utiliser votre serveur web nouvellement installé pour parcourir la documentation de votre système. C'est un exemple mignon, mais ça ne devrait vraiment pas être dans un fichier de configuration par défaut à mon avis.

Sur votre fichier de configuration proposé : ça a l'air bien! La seule recommandation que je ferais est de changer le AllowOverride All dans votre bloc de répertoire en AllowOverride None si vous n'utilisez pas de fichiers .htaccess - et si vous utilisez des fichiers .htaccess, je recommanderais de les éliminer et d'intégrer leur configuration dans le bloc de répertoire. (voir ici pour plus de détails sur pourquoi je dis ça)

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