Módulos mínimos do Apache necessários para site estático e sem autenticação


12

Acabei de instalar o pacote httpd no RHEL 6.1 (que fornece o Apache 2.2.15). O httpd.conf padrão contém pelo menos 50 instâncias da diretiva LoadModule.

No entanto, tudo o que quero fazer é exibir conteúdo estático, um mapa do Google ou dois e um pouco de CSS.

A tentativa e erro, juntamente com apachectl configtest, leva-me a acreditar que posso me safar apenas dos seguintes módulos ativados (sem outras alterações no arquivo de configuração padrão):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

Existem módulos que devem ser incluídos nesta lista para uma operação melhor / mais segura do servidor? Os documentos oficiais parecem indicar que nada mais é mod_dire mod_mimeé absolutamente necessário para um site de barebones.

Nota: Não estou solicitando conselhos sobre qual servidor HTTP usar para a tarefa indicada. Estou ciente da existência de servidores "mais leves". Esta pergunta é sobre módulos do Apache.

Respostas:


9

A resposta é mencionada nos documentos oficiais 2.2, na seção sobre ajuste de desempenho .

Uma pergunta associada que surge aqui é, obviamente, quais módulos você precisa e quais não. A resposta aqui, é claro, variará de um site para outro. No entanto, a lista mínima> de módulos com os quais você pode conviver tende a incluir mod_mime, mod_dir e mod_log_config. mod_log_config é, obviamente, opcional, pois você pode executar um site sem arquivos de log. Isso, no entanto, não é recomendado.


6

Só notei essa pergunta enquanto eu estava configurando um novo PC com o Apache 2.2. Aqui está o httpd.conf mínimo absoluto que consegui criar:

    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                

Você não precisa ErrorLog, é claro, mas eu estava experimentando, obviamente, precisava de algum feedback se meu arquivo httpd.conf estivesse causando problemas. Você precisa ServerNameevitar um aviso durante a inicialização sobre não poder determinar com segurança o endereço do servidor. Certamente posso confirmar que você precisa dir_modulee mime_moduleentregar um arquivo padrão a partir de uma URL de diretório e também exibi-lo como HTML em vez de texto sem formatação.

Estou postando isso porque acho o arquivo httpd.conf padrão extremamente complicado e lembrei-me de que, quando eu estava aprendendo o Tomcat, tudo ficou muito mais claro quando descobri o arquivo de configuração mínima absoluta do servidor.

Se você deseja servidor de páginas php, você só precisa das 2 linhas a seguir (ajustadas para se adequar ao seu ambiente:

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

seria útil ver isso no Linux, Red Hat no meu caso. Estou tentando acima, mas ele está tomando um pouco de modificação e ainda não vai redirecionar para o arquivo html Eu estou interessado.
alimack

1

Demorou uma manhã para resolver por tentativa e erro, mas no Red hat 6 (ish) isso funciona, observe que tive que substituir um arquivo .htaccess existente que não posso alterar. Isso apontará para offline.html no diretório raiz

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 você não precisar substituir o arquivo htaccess, provavelmente poderá se safar disso (assumindo que deseja o log de erros):

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  
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.