Moduli Apache minimi nudi necessari per il sito Web statico e nessun authN


12

Ho appena installato il pacchetto httpd in RHEL 6.1 (che fornisce Apache 2.2.15). Il httpd.conf predefinito contiene non meno di 50 istanze della direttiva LoadModule.

Tuttavia, tutto ciò che voglio fare è pubblicare contenuti statici, una mappa di Google o due e alcuni CSS.

Trial-and-error, insieme a apachectl configtest, mi porta a credere che posso cavarmela solo con i seguenti moduli abilitati (date altre modifiche al file di configurazione predefinito):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

Ci sono moduli che dovrebbero essere inclusi in questo elenco per un funzionamento migliore / più sicuro del server? I documenti ufficiali sembrano indicare che nient'altro che mod_dire mod_mimesono assolutamente necessari per un sito barebone.

Nota: non sto richiedendo consigli su quale server HTTP utilizzare per l'attività indicata. Sono a conoscenza dell'esistenza di server "più leggeri". Questa domanda riguarda i moduli Apache.

Risposte:


9

La risposta è citata nei documenti ufficiali 2.2, nella sezione sull'ottimizzazione delle prestazioni .

Una domanda associata che sorge qui è, ovviamente, quali moduli sono necessari e quali no. La risposta qui, ovviamente, varierà da un sito Web all'altro. Tuttavia, l'elenco minimo> di moduli che è possibile ottenere tende a includere mod_mime, mod_dir e mod_log_config. mod_log_config è, ovviamente, facoltativo, in quanto è possibile eseguire un sito Web senza file di registro. Questo, tuttavia, non è raccomandato.


6

Ho appena notato questa domanda mentre stavo configurando un nuovo PC con Apache 2.2. Ecco il httpd.conf minimo assoluto che sono riuscito a trovare:

    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                

ErrorLogNaturalmente non ti serve , ma stavo sperimentando, quindi ovviamente avevo bisogno di feedback se il mio file httpd.conf stava causando problemi. È necessario ServerNameevitare un avviso durante l'avvio per non essere in grado di determinare in modo affidabile l'indirizzo del server. Posso sicuramente confermare che ne hai bisogno dir_modulee in mime_modulemodo che tu possa consegnare un file predefinito da un URL di directory e anche visualizzare il file come HTML anziché come testo normale.

Sto pubblicando questo perché trovo il file httpd.conf predefinito estremamente complicato e mi sono ricordato che quando stavo imparando Tomcat, tutto è diventato molto più chiaro quando ho scoperto il file di configurazione del server minimo assoluto.

Se vuoi server pagine php, hai solo bisogno delle seguenti 2 linee (adattate per adattarsi al tuo ambiente:

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"

sarebbe utile vederlo per Linux, Red Hat nel mio caso. Ci sto provando sopra ma sta subendo un po 'di modifiche e non reindirizzerò ancora al file html che mi interessa.
alimack

1

Questa operazione ha richiesto una mattinata per tentativi ed errori, ma su Red hat 6 (ish) funziona, nota che ho dovuto sovrascrivere un file .htaccess esistente che non posso modificare. Questo indicherà offline.html nella directory principale

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>

Se non hai bisogno di sovrascrivere il file htaccess potresti probabilmente cavartelo (supponendo che tu voglia la registrazione degli errori):

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  
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.