Red Hat Linux 7.0: The Official Red Hat Linux Reference Guide | ||
---|---|---|
Anterior | Capítulo 12. Configurando el servidor seguro | Siguiente |
Debido a que Apache 1.3 soporta DSOs, puedes facilmente cargar módulos Apache o compilar tus propios módulos para tu Red Hat Linux Apache/SSL Server. DSO significa que los módulos pueden ser cargados en tiempo de ejecución. Debido a que los mó son cargados solo cuando es necesario no usan memoria hasta que la necesitan.
El grupo Apache da información completa en http://www.apache.org/docs/dso.html. Despues de la instalación puedes mirar también http://your_domain/manual/mod/ para la documentación en formato HTML (si has instalado el paquete apache-manual). Es dada una rapida descripción de como cargar los modulos, pero si necesitas más detalles, mira las URLs dadas.
Para tu Red Hat Linux Apache/SSL Server para usar un módulo dinamicamente compartido, este modulo debe tener una linea LoadModule y una linea AddModule en httpd.conf. Por defecto, muchos módulos tienen ya estas dos líneas ya incluidas en httpd.conf, pero unos pocos de los menos comunmente usados están comentados fuera. Los módulos comentados fuera, fueron incluidos durante la compilación, pero no son cargados por defecto.
Si necesitas usar uno de estos módulos no cargados, miran en el fichero httpd.conf para ver todos los módulos posibles. Cada uno de estos módulos tiene una línea LoadModule. Para ver un ejemplo, la sección LoadModule comienza con estas siete lineas:
#LoadModule mmap_static_module modules/mod_mmap_static.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule env_module modules/mod_env.so LoadModule config_log_module modules/mod_log_config.so LoadModule agent_log_module modules/mod_log_agent.so LoadModule referer_log_module modules/mod_log_referer.so #LoadModule mime_magic_module modules/mod_mime_magic.so |
Muchas de estas lineas no estan comentadas, indicando que cada módulo asociado esta compilado dentro y cargado por defecto. La primera linea esta comentada, lo cual significa que el correspondiente modulo (mmap_static_module) fue compilado pero no cargado.
Para hacer tu Red Hat Linux Apache/SSL Server carga un módulo no cargado, primero pon a no-comentada la correspondiente línea LoadModule. Por ejemplo, si tu quieres hacer tu Red Hat Linux Apache/SSL Server carga el mime_magic_module, cambia la linea LoadModule de el original: To make your Red Hat Linux Apache/SSL Server load an unloaded module, first uncomment the
#LoadModule mime_magic_module modules/mod_mime_magic.so |
No-comentes la linea previa para que sea leida:
LoadModule mime_magic_module modules/mod_mime_magic.so |
Después, necesitarás quitar el comentario de la correspondiente línea desde la sección AddModule en el httpd.conf. Para continuar con nuestro ejemplo, quita el comentario de la linea mod_mime_magic. La linea original parecerá la siguiente:
#AddModule mod_mime_magic.c |
La línea descomentada será así:
AddModule mod_mime_magic.c |
Una vez que tu has descomentado las lineas LoadModule y AddModule para el módulo que tu quieres cargar, para y reinicializa tu Web Server, mira en la sección de nombre Iniciando y parando Apache en Capítulo 11. Despues de arrancar, el modulo debe cargarse en tu Red Hat Linux Apache/SSL Server.
Si tienes tu propio módulo, puedes añadirlo al fichero httpd.conf así es compilado y cargado como un DSO. Si quieres hacer esto, necesitas instalar el paquete apache-devel mira en Capítulo 10. Necesitas el paquete apache-devel porque instala el fichero include, los ficheros cabeceras y el soporte de herramientas APache eXtenSion (APXS). APXS usa los ficheros include y los ficheros cabecera para compilar tu módulo así trabajar´ con Apache.
Si has escrito tu propio módulo o has revisado algunos mas, debes ser capaz de usar APXS para compilar tus mós fuentes fuera del árbol fuente Apache, sin necesitar ningun flag de compilador y/o linkador. Si necesitas más información sobre APXS mira la documentación en http://www.apache.org/docs/dso.html.
Una vez compilados tus mós usando APXS, pon tus m;oacute;dulos dentro de /usr/lib/apache. Entonces tu módulo necesita ambas líneas LoadModule, AddModule en el fichero httpd.conf, como se describe para los módulos de Apache. Después en la lista LoadModule en el httpd.conf, añade una línea para el fichero objeto compartido para el módulo como el siguiente:
LoadModule foo_module modules/mod_foo.so |
Nota que necesitarás cambiar el nombre del módulo y el nombre de tu fichero objeto compartido apropiadamente.
Al final de la lista AddModule en httpd.conf, añade una linea al fichero del código fuente para tu módulo como la siguiente:
AddModule mod_foo.c |
Nota que necesitarás cambiar el nombre del fichero del código fuente apropiadamente.
Una vez que has completado los pasos previos, para y reinicializa tu Web Server como ser marca en la sección de nombre Iniciando y parando Apache en Capítulo 11. Si has hecho todo correctamente, y tu módulo esta correctamente codificado, tu Web Server debe encontrar tu módulo y cargarlo.
La porción de seguridad mod_ssl de el Red Hat Linux Apache/SSL Server es dado como un Dynamic Shared Object (DSO). Quiere decir que el servidor Web Apache puede ser recompilado por usuarios si la extensión EAPI corregida desde el módulo de seguridad mod_ssl es aplicada a Apache. Sigue las instrucciones para construir mod_ssl dentro de Apache incluido con la documentacion mod_ssl pero añadiendo el siguiente flag:
--with-eapi-only |
La linea de comandos completa debe parecerse a esto:
./configure [userflags] --with-eapi-only |
Entonces construye e instala Apache.
Nota | |
---|---|
Red Hat no puede soportar versiones recompiladas del servidor Web Apache. La instalacion de las versiones enviadas es soportado, pero si recompilas Apache, estas en tu propiedad. Porfavor, no recompiles Apache a menos que sepas exactamente lo que estas haciendo. |