Modules Apache nus et minimaux nécessaires pour un site Web statique et sans authN

12

Je viens d'installer le paquet httpd dans RHEL 6.1 (qui fournit Apache 2.2.15). Le fichier httpd.conf par défaut ne contient pas moins de 50 instances de la directive LoadModule.

Cependant, tout ce que je veux faire est de servir du contenu statique, une carte Google ou deux et du CSS.

Essai-et-erreur, avec apachectl configtest, me laisse penser que je ne peux m'en sortir qu'avec les modules suivants activés (en l'absence de toute autre modification du fichier de configuration par défaut):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

Y a-t-il des modules qui devraient être inclus dans cette liste pour un fonctionnement meilleur / plus sûr du serveur? le documents officiels semblent indiquer que rien de plus que mod_dir et mod_mime sont absolument nécessaires pour un site barebones.

Remarque: je ne demande pas de conseil sur le serveur HTTP à utiliser pour la tâche indiquée. Je suis au courant de l'existence de serveurs "plus légers". Cette question concerne les modules Apache.

chb
la source

Réponses:

9

La réponse est mentionnée dans la documentation officielle 2.2, dans la section l'optimisation des performances .

Bien entendu, une question connexe se pose: de quels modules avez-vous besoin et de quels modules avez-vous besoin?   ne pas La réponse ici variera bien sûr d’un site Web à l’autre. Cependant, la liste minimale & gt; des modules avec lesquels vous pouvez vous débrouiller ont tendance à inclure mod_mime, mod_dir et mod_log_config.   Bien entendu, mod_log_config est facultatif, car vous pouvez exécuter un site Web sans fichiers journaux. C'est,   Cependant, pas recommandé.

chb
la source
6

Je viens de remarquer cette question alors que je configurais un nouveau PC avec Apache 2.2. Voici le minimum absolu httpd.conf que j'ai réussi à trouver:

    ServerName 127.0.0.1
    Listen 8080
    LoadModule dir_module modules/mod_dir.so
    LoadModule mime_module modules/mod_mime.so
    DirectoryIndex index.html 
    DocumentRoot "C:/http_root"
    ErrorLog "logs/error.log"
    LogLevel warn                

Vous n'avez pas besoin du ErrorLog Bien sûr, mais j’essayais de manière évidente d’avoir besoin d’un retour d’informations si mon fichier httpd.conf posait problème. Vous avez besoin ServerName pour éviter, lors du démarrage, d’avertir que le serveur ne peut pas être déterminé de manière fiable. Je peux certainement confirmer que vous avez besoin dir_module et mime_module afin que vous puissiez livrer un fichier par défaut à partir d'une URL de répertoire et également afficher le fichier au format HTML plutôt que sous forme de texte brut.

Je publie ce message car je trouve le fichier httpd.conf par défaut extrêmement complexe et je me suis rappelé que, lorsque j'apprenais Tomcat, tout est devenu beaucoup plus clair lorsque j'ai découvert le fichier de configuration de serveur minimale absolue.

Si vous voulez utiliser le serveur de pages php, vous avez besoin des deux lignes suivantes (adaptées à votre environnement):

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"
DavidHyogo
la source
il serait utile de voir cela pour Linux, Red Hat dans mon cas. J'essaie ci-dessus mais cela demande pas mal de modifications et je ne redirige toujours pas le fichier HTML qui m'intéresse.
alimack
1

Cela a pris une matinée à travailler par essais et erreurs mais sur Red Hat 6 (ish) cela fonctionne, notez que j'ai dû remplacer un fichier .htaccess existant que je ne peux pas modifier. Cela pointera vers offline.html dans votre répertoire racine.

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  

<Directory />
AllowOverride None
</Directory>

Si vous n'avez pas besoin de remplacer le fichier htaccess, vous pouvez probablement vous en tirer (en supposant que vous souhaitiez enregistrer les erreurs):

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  
alimack
la source