Módulos mínimos de Apache necesarios para sitios web estáticos y sin autenticación


12

Acabo de instalar el paquete httpd en RHEL 6.1 (que proporciona Apache 2.2.15). El httpd.conf predeterminado contiene no menos de 50 instancias de la directiva LoadModule.

Sin embargo, todo lo que quiero hacer es mostrar contenido estático, un mapa de Google o dos y algo de CSS.

Prueba y error, junto con apachectl configtest, me lleva a creer que solo puedo salir con los siguientes módulos habilitados (sin otros cambios en el archivo de configuración predeterminado):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

¿Hay módulos que deberían incluirse en esta lista para un funcionamiento mejor / más seguro del servidor? Los documentos oficiales parecen indicar que nada más mod_diry mod_mimeson absolutamente necesarios para un sitio básico.

Nota: no solicito asesoramiento sobre qué servidor HTTP utilizar para la tarea indicada. Soy consciente de la existencia de servidores "más ligeros". Esta pregunta es sobre los módulos de Apache.

Respuestas:


9

La respuesta se menciona en los documentos oficiales 2.2, en la sección sobre ajuste de rendimiento .

Una pregunta asociada que surge aquí es, por supuesto, qué módulos necesita y cuáles no. La respuesta aquí, por supuesto, variará de un sitio web a otro. Sin embargo, la lista mínima de módulos con los que puede pasar tiende a incluir mod_mime, mod_dir y mod_log_config. mod_log_config es, por supuesto, opcional, ya que puede ejecutar un sitio web sin archivos de registro. Sin embargo, esto no es recomendable.


6

Acabo de notar esta pregunta cuando estaba configurando una nueva PC con Apache 2.2. Aquí está el mínimo absoluto httpd.conf que logré encontrar:

    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                

Por ErrorLogsupuesto, no necesita , pero estaba experimentando, por lo que obviamente necesitaba algunos comentarios si mi archivo httpd.conf causaba problemas. Debe ServerNameevitar una advertencia durante el inicio sobre no poder determinar de manera confiable la dirección del servidor. Ciertamente puedo confirmar que lo necesita dir_moduley mime_modulepara que pueda entregar un archivo predeterminado desde una URL de directorio y también mostrar el archivo como HTML en lugar de texto sin formato.

Estoy publicando esto porque encuentro que el archivo httpd.conf predeterminado es abrumadoramente complicado y recordé que cuando estaba aprendiendo Tomcat, todo se volvió mucho más claro cuando descubrí el archivo de configuración de servidor mínimo absoluto.

Si desea servidor de páginas php, solo necesita las siguientes 2 líneas (ajustadas para adaptarse a su entorno:

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

Sería útil ver esto para Linux, Red Hat en mi caso. Estoy intentando anteriormente, pero que está tomando un poco de modificación y todavía no se redirigirá al archivo html que me interesa.
alimack

1

Esto tardó una mañana en funcionar por prueba y error, pero en Red hat 6 (ish) esto funciona, tenga en cuenta que tuve que anular un archivo .htaccess existente que no puedo cambiar. Esto apuntará a offline.html en su directorio raíz

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 no necesita anular el archivo htaccess, probablemente podría salirse con la suya (suponiendo que desea un registro de errores):

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  
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.