You are on page 1of 12

26.4.

Instalacin, activacin y configuracin de


mdulos
El software de Apache est creado con un diseo modular: todas las funciones,
excepto algunas tareas principales, estn gestionadas por mdulos. Este concepto
se ha extendido hasta tal punto que incluso el protocolo HTTP se procesa
mediante un mdulo (http_core).
Los mdulos de Apache pueden compilarse en el binario de Apache durante la
generacin, o cargarse de forma dinmica durante la ejecucin. Consulte
la Seccin 26.4.2, Activacin y desactivacin para obtener informacin
detallada acerca de cmo cargar los mdulos de forma dinmica.
Los mdulos de Apache se pueden dividir en cuatro categoras diferentes:
Mdulos base
Los mdulos base estn compilados en Apache por defecto. Apache en
SUSE Linux cuenta slo con mod_so (necesario para cargar otros
mdulos) y http_core compilados. Todos los dems estn disponibles
como objetos compartidos: en lugar de estar incluidos en el binario del
servidor en s, se pueden incluir durante la ejecucin.
Mdulos de extensin
Por regla general, los mdulos etiquetados como "extensiones" se incluyen
en el paquete de software de Apache, aunque normalmente no se compilan
en el servidor de manera esttica. En SUSE Linux, se encuentran
disponibles como objetos compartidos que pueden cargarse en Apache en
tiempo de ejecucin.
Mdulos externos
Los mdulos etiquetados como externos no se incluyen en la distribucin
oficial de Apache. Sin embargo, SUSE Linux ofrece algunos de ellos listos
y disponibles para su uso.
Mdulos de multiprocesamiento

Los MPM son los responsables de aceptar y gestionar peticiones al


servidor Web, por lo que representan el ncleo del software del servidor
Web.
26.4.1. Instalacin de mdulos
Si ha seguido el mtodo predeterminado durante la instalacin de Apache
(descrito en laSeccin 26.1.2, Instalacin), estar instalado con todos los
mdulos base y de extensin, con el mdulo de multiprocesamiento MPM
Prefork y el mdulo externo PHP5.
Puede instalar otros mdulos externos iniciando YaST y
eligiendo Software+Instalar/desinstalar software. A continuacin,
elija Filtro+Buscar y busque apache. Entre otros paquetes, la lista de resultados
incluir todos los mdulos externos de Apache disponibles.
26.4.2. Activacin y desactivacin
YaST permite activar o desactivar los mdulos de lenguajes de guiones (PHP5,
Perl, Python y Ruby) con la configuracin de mdulos que se describe
en Seccin 26.2.2.1, Asistente de servidor HTTP. Los dems mdulos se
pueden activar o desactivar como se describe enSeccin 26.2.2.2.2, Mdulos del
servidor.
Si prefiere activar o desactivar los mdulos manualmente, utilice los
comandos a2enmodmod_foo o a2dismod mod_foo, respectivamente. a2enmod
-l genera una lista de todos los mdulos activos en cada momento.
Inclusin de archivos de configuracin para mdulos
externos
Si ha activado mdulos externos manualmente, asegrese de cargar los archivos de
configuracin correspondientes en todas las configuraciones de hosts virtuales. Los
archivos de configuracin de los mdulos externos se ubican
en /etc/apache2/conf.d/ y no se cargan por defecto. Si necesita los mismos mdulos en
todos los hosts virtuales, puede incluir *.conf desde este directorio. Si no, deber incluir
los archivos individuales. Consulte/etc/apache2/vhosts.d/vhost.template para ver
ejemplos.

26.4.3. Mdulos base y de extensin

Todos los mdulos base y de extensin se describen en profundidad en la


documentacin de Apache. Aqu se incluye nicamente una breve descripcin de
los mdulos ms importantes.
Consulte http://httpd.apache.org/docs/2.2/mod/ para conocer ms detalles acerca
de cada mdulo.
mod_alias
Proporciona las directivas Alias y Redirect (Redirigir) con las que puede
asignar un URl a un directorio especfico ( Alias) o bien redirigir un URL
solicitado a otra ubicacin. Este mdulo est habilitado por defecto.
mod_auth*
Los mdulos de autenticacin proporcionan distintos mtodos de
autenticacin: autenticacin bsica con mod_auth_basic o autenticacin
resumida con mod_auth_digest. Esta ltima se encuentra todava en fase
de experimentacin en Apache 2.2.
mod_auth_basic y mod_auth_digest se deben combinar con un mdulo
proveedor de autenticacin, mod_authn_* (por ejemplo, mod_authn_file
para la autenticacin basada en archivo de texto) y con un mdulo de
autorizacin, mod_authz_* (por ejemplo, mod_authz_user para la
autorizacin de usuarios).
Puede encontrar ms informacin acerca de este tema en el tutorial sobre
autenticacin en la
direccin http://httpd.apache.org/docs/2.2/howto/auth.html.
mod_autoindex
Con autoindex se generan listas de directorios cuando no se cuenta con
ningn archivo de ndice (por ejemplo, index.html). El aspecto de los
ndices se puede configurar. Este mdulo est habilitado por defecto. Sin
embargo, las listas de directorios estn deshabilitadas por defecto mediante
la directiva Options (Opciones). Sobrescriba este ajuste en la
configuracin de host virtual. El archivo de configuracin por defecto para
este mdulo se encuentra en /etc/apache2/mod_autoindex-defaults.conf.
mod_cgi

mod_cgi es necesario para ejecutar guiones CGI. Este mdulo est


habilitado por defecto.
mod_deflate
Con este mdulo, se puede configurar Apache para que comprima
determinados tipos de archivos directamente antes de entregarlos.
mod_dir
mod_dir proporciona la directiva DirectoryIndex (ndice de directorios)
con la que se puede configurar qu archivos se deben entregar
automticamente cuando se realiza una peticin a un directorio
(index.html por defecto). Tambin proporciona una redireccin automtica
al URI correcto cuando una peticin de directorio no incluye una barra
inclinada de cierre. Este mdulo est habilitado por defecto.
mod_expires
Con mod_expires, puede controlar la frecuencia con la que las memorias
cach del alterno (proxy) y del navegador actualizan los documentos
enviando un encabezado Expires(Caducidad). Este mdulo est habilitado
por defecto.
mod_include
mod_include permite utilizar inclusiones de servidor (SSI, Server Side
Includes), las cuales proporcionan la funcionalidad bsica para generar
pginas HTML de forma dinmica. Este mdulo est habilitado por
defecto.
mod_info
Proporciona una descripcin completa de la configuracin del servidor en
http://localhost/server-info/. Por razones de seguridad, debe limitar
siempre el acceso a esta URL. Por defecto, slo se puede acceder a esta
URL desde localhost. mod_info se configura
en /etc/apache2/mod_info.conf.
mod_log_config
Con este mdulo puede configurar el aspecto de los archivos de registro de
Apache. Este mdulo est habilitado por defecto.

mod_mime
El mdulo mime se encarga de que los archivos se entreguen con el
encabezado MIME correcto basndose en la extensin del nombre de
archivo (por ejemplo, text/html en el caso de documentos HTML). Este
mdulo est habilitado por defecto.
mod_negotiation
Necesario para la negociacin de contenido.
Consultehttp://httpd.apache.org/docs/2.2/content-negotiation.html para
obtener ms informacin. Este mdulo est habilitado por defecto.
mod_rewrite
Proporciona la funcionalidad de mod_alias, pero ofrece ms funciones y
mayor flexibilidad. Con mod_rewrite, puede redirigir URL a partir de
distintas reglas, encabezados de peticin, etc.
mod_speling
mod_speling intenta corregir automticamente errores tipogrficos en las
URL, como errores en el uso de maysculas.
mod_ssl
Habilita las conexiones cifradas entre el servidor Web y los clientes. Para
obtener ms informacin, consulte la Seccin 26.6, Configuracin de un
servidor Web seguro con SSL. Este mdulo est habilitado por defecto.
mod_status
Proporciona informacin sobre la actividad y el rendimiento del servidor
en http://localhost/server-status/. Por razones de seguridad, debe limitar
siempre el acceso a esta URL. Por defecto, slo se puede acceder a esta
URL desde localhost. mod_status se configura
en /etc/apache2/mod_status.conf
mod_suexec
mod_suexec permite ejecutar guiones CGI con un usuario y un grupo
distintos. Este mdulo est habilitado por defecto.

mod_userdir
Habilita directorios especficos de usuario disponibles en ~usuario/. La
directiva UserDir(Directorio de usuario) se debe especificar en la
configuracin. Este mdulo est habilitado por defecto.
26.4.4. Mdulos de multiprocesamiento
SUSE Linux ofrece dos mdulos de multiprocesamiento (MPM) distintos para su
uso con Apache.
26.4.4.1. Mdulo MPM prefork
El mdulo MPM prefork implementa un servidor Web sin hilos y previo a la
bifurcacin. Hace que el servidor Web se comporte de manera similar a la versin
1.x de Apache en el sentido en que asla cada peticin y la gestiona bifurcando un
proceso hijo independiente. Por lo tanto, las peticiones problemticas no pueden
afectar a otras, lo que evita el bloqueo del servidor Web.
A pesar de que ofrece ms estabilidad gracias a este enfoque basado en procesos,
el mdulo MPM prefork consume ms recursos de sistema que su homlogo, el
mdulo MPM worker. El mdulo MPM prefork est considerado el MPM por
defecto para los sistemas operativos basados en Unix.
MPM en este documento
En este documento se presupone que se utiliza Apache con el mdulo MPM prefork.

26.4.4.2. Mdulo MPM worker


El mdulo MPM worker ofrece un servidor Web de mltiples hilos. Un hilo es
una forma ms ligera de un proceso. La ventaja de un hilo sobre un proceso es
el bajo consumo de recursos. En lugar de bifurcar slo procesos hijo, el mdulo
MPM worker responde a las peticiones mediante hilos con los procesos del
servidor. Los procesos hijos previos a la bifurcacin son de mltiples hilos. Este
enfoque mejora el rendimiento de Apache al consumir menos recursos de sistema
que el mdulo MPM prefork.
Un gran inconveniente es la estabilidad del mdulo MPM worker: si un hilo se
daa, todos los hilos de un proceso pueden verse afectados. En el peor de los
casos, puede llevar a que el servidor se bloquee. Sobre todo cuando se usa CGI

(Common Gateway Interface, interfaz de gateway comn) con Apache y hay una
carga intensa, se pueden producir errores internos de servidor debidos a hilos que
no pueden comunicarse con los recursos del sistema. Otro argumento en contra
del uso de MPM worker con Apache es que no todos los mdulos de Apache
disponibles son hilos de proceso seguro y, por lo tanto, no pueden usarse con
MPM worker.
Utilizacin de mdulos PHP con MPM
No todos los mdulos PHP disponibles son hilos de proceso seguro. Se desaconseja
encarecidamente el uso de MPM worker con mod_php.

26.4.5. Mdulos externos


Aqu se recoge una lista de todos los mdulos externos que se incluyen con
SUSE Linux. La documentacin de cada mdulo se encuentra en el directorio
sealado.
FastCGI
FastCGI es una extensin independiente de lenguaje, ampliable y abierta
para CGI que proporciona un alto rendimiento sin las limitaciones de las
API especficas de servidores. Las aplicaciones FastCGI ofrecen una gran
velocidad porque son permanentes: no se inician por peticin ni se da
sobrecarga en el inicio.
Nombre del paquete: apache2-mod_fastcgi
Archivo de configuracin: /etc/apache2/conf.d/mod_fastcgi.conf
Ms informacin: /usr/share/doc/packages/apache2-mod_fastcgi

mod_perl
mod_perl permite ejecutar guiones Perl en un intrprete integrado. El
intrprete permanente integrado en el servidor evita la sobrecarga debido
al inicio de un intrprete externo y la ralentizacin debida al tiempo de
inicio de Perl.
Nombre del paquete: apache2-mod_perl
Archivo de configuracin: /etc/apache2/conf.d/mod_perl.conf
Ms informacin: /usr/share/doc/packages/apache2-mod_perl

mod_php5

PHP es un lenguaje de guiones de servidor HTML multiplataforma


integrado.
Nombre del paquete: apache2-mod_php5
Archivo de configuracin: /etc/apache2/conf.d/php5.conf
Ms informacin: /usr/share/doc/packages/apache2-mod_php5

mod_python
mod_python permite la incrustacin de Python en el servidor HTTP
Apache para obtener un rendimiento mucho mayor y flexibilidad adicional
para el diseo de aplicaciones basadas en Web.
Nombre del paquete: apache2-mod_python
Ms informacin: /usr/share/doc/packages/apache2-mod_python

mod_ruby
mod_ruby incrusta el intrprete Ruby en el servidor Web Apache, lo que
permite que los guiones CGI de Ruby se ejecuten de forma interna. Los
guiones se inician mucho ms rpido que sin mod_ruby.
Nombre del paquete: apache2-mod_ruby
Ms informacin: /usr/share/doc/packages/apache2-mod_ruby

mod_jk-ap20
Este mdulo proporciona conectores entre Apache y un contenedor servlet
Tomcat.
Nombre del paquete: mod_jk-ap20
Ms informacin: /usr/share/doc/packages/mod_jk-ap20

26.4.6. Compilacin
Los usuarios avanzados pueden ampliar Apache creando mdulos
personalizados. Para desarrollar mdulos de Apache o compilar mdulos de otros
fabricantes, es necesario disponer del paquete apache2-devel, junto con las
correspondientes herramientas de desarrollo. apache2-devel contiene tambin las
herramientas apxs2, necesarias para compilar mdulos adicionales para Apache.
apxs2 habilita la compilacin e instalacin de mdulos a partir del cdigo fuente
(incluidos los cambios necesarios en los archivos de configuracin), tras lo cual
se crean objetos compartidos dinmicos (DSO) que se pueden cargar en Apache
en tiempo de ejecucin.

Los binarios apxs2 se encuentran en /usr/sbin:

/usr/sbin/apxs2:

/usr/sbin/apxs2-prefork:

/usr/sbin/apxs2-worker:

adecuado para crear un mdulo de extensin que


funcione con cualquier MPM. La ubicacin de instalacin
es /usr/lib/apache2.
adecuado para mdulos MPM de prefork. La
ubicacin de instalacin es /usr/lib/apache2-prefork.
adecuado para mdulos MPM de worker.

apxs2 instala mdulos que todos los MPM puedan utilizar. Los otros dos
programas instalan mdulos que slo pueden utilizar los MPM
respectivos. apxs2 instala mdulos en/usr/lib/apache2, y apxs2prefork y apxs2-worker instalan mdulos en /usr/lib/apache2prefork o /usr/lib/apache2-worker.
Puede instalar y activar un mdulo a partir de cdigo fuente con los comandos cd
/path/to/module/source; apxs2 -cia mod_foo.c (-c compila el mdulo, -i lo
instala y -a lo activa). Las otras opciones de apxs2 se describen en la pgina
Man apxs2(1).

_____________Una opcin sera realizar un link simblico de los archivos .load y .conf (si
existe) de la carpeta /etc/apache2/mods-available/ a /etc/apache2/mods-enabled/.
Esto puede realizarlo con los comandos del siguiente ejemplo:

ln -s /etc/apache2/mods-available/deflate.load /etc/apache2/modsenabled/deflate.load
ln -s /etc/apache2/mods-available/deflate.conf /etc/apache2/modsenabled/deflate.conf
O bien la otra opcin sera, ejecutar el comando a2enmod:

a2enmod deflate
El resultado por pantalla debera ser el siguiente:

Enabling module deflate.


Run '/etc/init.d/apache2 restart' to activate new configuration.
Del mismo modo es posible desactivar un mdulo de la siguiente manera

a2dismod deflate
En ambos casos se debe reiniciar Apache tal y como se indica en el mensaje que
nos ha aparecido al activar el mdulo. Esto lo puede hacer con el comando:

/etc/init.d/apache2 restart
Archivos adjuntos

Habilitar un Mdulo en Apache


Para habilitar un mdulo apache debemos realizar los siguientes pasos:

Copiar los ficheros .load y .conf en el directorio /mods-enabled

Modificar el fichero de configuracin httpd.conf para habilitar el mdulo.

Por ejemplo, Apache por defecto no nos permite el uso de directorios de usuario (por razones
de seguridad), para resolver esto copiamos el mdulo apropiado (UserDir ) en el directorio
especfico para ello (/mods-enabled).

Abrimos el archivo httpd.conf que se encuentra en el directorio /etc/apache2/ y copiamos lo


siguiente
1 Userdir public_html
2 Options +Indexes
3 Options All
4 ServerName localhost
5
6 <Directory "/home/<tu nombre de usuario aqui>/public_html/">
7 Order allow,deny
8 Allow from all
9 AllowOverride All
10 </Directory>

Con esta mdulo cada usuario podr crear un directorio llamado public_html y aqui publicar
su contenido web.
Si queremos que adicionalmente nos indexe el contenido del directorio en el caso de no
especificar el archivo web que queremos, debemos crear el archivo .htaccess y copiar lo
siguiente
1 Options +Indexes

Por ltimo, reiniciamos el servidor y los cambios tendrn efecto.


sudo /etc/init.d/ apache 2 restart

Mucho ms facil
Existen una manera ms fcil de habilitar y deshabilitar los mdulos, y es con los scripts
a2enmod y a2dismod
Si queremos habilitar un mdulo basta con escirbir en nuestra ventana de comandos
a2enmod <nombre del mdulo>

y para deshabilitarlo
a2dismod <nombre del mdulo>

[box title=Recuerda type=warning width=600px ] Reiniciar el servidor para que los


cambios tengan efecto despus de ejecutar cualquiera de los 2 scripts anteriores[/box]
Con esto ya tenemos habilitado el mdulo de Directorios de Usuario, si deseas instalar ms
mdulos de los que dispones por defecto, puedes ver un listado de todos los disponibles para
nuestro servidor Apache.
(Visited 25 times, 1 visits today)

ctivar mod_rewrite de Apache2 en Ubuntu


Posted on abril 18, 2008 by keogh

El mod_rewrite es un mdulo de Apache que permite modificar lo que aparece en la barra de direccin,
supongamos que tenemos lo siguiente: index.php?mod=index&taskid=9, podra quedar: /task/9. La verdad
nunca lo he usado a pie, pero se necesita tener activado este mdulo para poder utilizar diversas aplicaciones
y frameworks (como CakePHP). Veamos como activarlo en Ubuntu 7.10.
Como siempre en Ubuntu todo es ms fcil, esta distribucin se la recomiendo a todos aquellos que quieran
empezar a familiarizarse con GNU/Linux. Entonces tecleamos lo siguiente en la lnea de comandos:

$ sudo a2enmod rewrite


El comando a2enmod (podra ser una abreviatura de Apache2 Enable Module) sirve para activar mdulos que
se encuentren en el directorio /etc/apache2/mods-availabley los pasa al directorio /etc/apache2/mods-enabled.
Ahora lo que sigue es modificar nuestro host donde queremos que aplique el rewrite, en mi caso sera para
todo lo que este dentro de mi localhost, entonces me voy al directorio /etc/apache2/sites-enabled/ y aqu debe
de haber un archivo llamado 000-default, lo abrimos con vim o nano.

$ sudo vim /etc/apache2/sites-enabled/000-default


Aqu buscamos en las lneas que digan AllowOverride None y las cambiamos porAllowOverride All. Incluso
podemos definir que directorios queremos que aplique es rewrite y cuales no.
Por ltimo tenemos que reiniciar Apache2:

$ sudo /etc/init.d/apache2 force-reload


Y eso es todo!!!

You might also like