Módulos Apache mínimos não necessários para website estático e nenhum authN

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 nada menos que 50 instâncias da diretiva LoadModule.

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

A tentativa e erro, junto com apachectl configtest , leva-me a acreditar que posso obter apenas os 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 do que mod_dir e mod_mime são absolutamente necessários para um site barebones.

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

    
por chb 04.07.2011 / 13:12

3 respostas

9

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

An associated question that arises here is, of course, what modules you need, and which ones you don't. The answer here will, of course, vary from one web site to another. However, the minimal list > of modules which you can get by with tends to include mod_mime, mod_dir, and mod_log_config. mod_log_config is, of course, optional, as you can run a web site without log files. This is, however, not recommended.

    
por 12.09.2011 / 03:34
6

Apenas notei esta questão enquanto 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 do ErrorLog , é claro, mas eu estava experimentando, então, obviamente, precisava de algum feedback se o meu arquivo httpd.conf estivesse causando problemas. Você precisa de ServerName para evitar um aviso durante a inicialização sobre a impossibilidade de determinar com segurança o endereço do servidor. Eu certamente posso confirmar que você precisa de dir_module e mime_module para que você possa entregar um arquivo padrão a partir de um URL de diretório e também exibir o arquivo como HTML em vez de texto sem formatação.

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

Se você quiser as páginas php do servidor, você só precisa das seguintes 2 linhas (ajustadas para se adequar ao seu ambiente:

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"
    
por 19.10.2013 / 09:33
1

Isso levou uma manhã para resolver por tentativa e erro, mas no Red Hat 6 (ish) isso funciona, note que eu tive que substituir um arquivo existente .htaccess que eu não posso mudar. Isto irá apontar para offline.html no seu 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 precisa sobrescrever o arquivo htaccess, você provavelmente pode se safar disso (supondo que você queira logar 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  
    
por 20.05.2016 / 15:49