Servidores Web

Este capítulo incluye aplicaciones que responden a peticiones originadas por clientes LAN de la intranet o de Internet. Específicamente cubre las peticiones HTTP y las peticiones FTP.

Apache-2.0.53

Introducción a Apache

El paquete Apache contiene un servidor HTTP de código abierto. Es útil para crear sitios web en la intranet local o sirviendo enormes operaciones web.

Información sobre el paquete

Instalación de Apache

Por cuestiones de seguridad, se recomienda encarecidamente ejecutar el servidor con usuario y grupo sin privilegios. Crea el grupo y usuario ejecutando los siguientes comandos (como root):

groupadd apache &&
useradd -c "Apache Server" -d /dev/null -g apache -s /bin/false apache

El siguiente parche definirá la estructura de los directorios de destino y, entre ellos, el directorio de construcción en /usr/lib/apache/build. Esto permitirá que los módulos añadidos a Apache sean configurados sin errores. Aplica el parche:

patch -Np1 -i ../httpd-2.0.53-config-1.patch

Construye e instala Apache ejecutando los siguientes comandos:

./configure --enable-layout=FHS --enable-mods-shared=all &&
make

Ahora, como usuario root:

make install &&
chown root:root /usr/sbin/{apxs,apachectl,dbmmanage,envvars-std,envvars} \
    /usr/include/apache/* /usr/lib/apache/httpd.exp \
    /usr/share/man/man1/{dbmmanage,htdigest,htpasswd}.1 \
    /usr/share/man/man8/{ab,apachectl,apxs,httpd}.8 \
    /usr/share/man/man8/{logresolve,rotatelogs,suexec}.8 &&
chown -R apache:apache /srv/www

Explicación de los comandos

--with-expat=/usr: Utiliza el expat instalado el el sistema. Si tienes instalado expat y no usas esta opción, la instalación de Apache puede sobreescribir algunos ficheros de tu instalación de expat.

--enable-mods-shared=all: Queremos que los módulos se compilen y usen como Objetos Dinámicos Compartidos (DSOs) para que se puedan incluir y excluir del servidor usando directivas de configuración en tiempo de ejecución.

--enable-ssl: Utiliza esta opción para crear el módulo mod_ssl y activar el soporte SSL.

chown root:root ...: Este comando cambia el propietario de varios ficheros instalados, debido a que el paquete se construye con un usuario diferente a root.

chown -R apache:apache /srv/www: Por defecto el proceso de instalación instala ficheros (documentación, mensajes de error, iconos, etc...) con el usuario de descomprime el paquete como propietario. Si quieres cambiar la propiedad a otro usuario deberías hacerlo en este momento. El único requisito es que los directorios de la documentación deben ser accesibles por el proceso httpd con permisos (r-x) y los ficheros deben ser legibles (r--) por el usuario apache.

Configuración de Apache

Ficheros de configuración

/etc/apache/*

Información sobre la configuración

El fichero principal de configuración se llama httpd.conf. Modifícalo para ejecutar el servidor como un usuario dedicado:

sed -i -e "s%User nobody%User apache%" \
       -e "s%^Group #-1%Group apache%" \
    /etc/apache/httpd.conf

Mira en http://httpd.apache.org/docs-2.0/configuring.html las instrucciones detalladas para personalizar tu servidor HTTP Apache.

Hay un problema con el módulo ISAPI DSO cuando se compila usando GCC-3.4.1. Desactiva el módulo en el fichero de configuración con el siguiente comando:

sed -i -e "s/^LoadModule isapi_module/# &/" \
    /etc/apache/httpd.conf

Si quieres que el servidor Apache se inicie automáticamente durante el arranque del sistema, instala el guión de inicio /etc/rc.d/init.d/apache incluido en el paquete blfs-bootscripts-6.0.

make install-apache

Contenido

Programas instalados: ab, apachectl, apr-config, apu-config, apxs, checkgid, dbmmanage, htdbm, htdigest, htpasswd, httpd, instdso.sh, logresolve y rotatelogs
Librerías instaladas: libapr-0.[so,a], libaprutil-0.[so,a] y /usr/lib/apache/*.so
Directorios instalados: /etc/apache, /srv/www, /usr/include/apache, /usr/lib/apache y /var/log/apache

Descripciones cortas

ab

Herramienta para medir el rendimiento del servidor HTTP Apache.

apachectl

Interfaz para el servidor HTTP Apache diseñada para facilitar al administrador el control sobre el funcionamiento de demonio httpd Apache.

apxs

herramienta para construir e instalar módulos de extensión para el servidor HTTP Apache.

dbmanage

Crea y actualiza los ficheros de formato DBM usados para guardar usuarios y contraseñas para autenticación básica de usuarios HTTP.

htdigest

Crea y actualiza los ficheros planos usados para guardar usuarios, reino y contraseña para la autenticación resumida de usuarios HTTP.

htpasswd

Crea y almacena los ficheros planos usados para guardar los usuarios y contraseñas para la autenticación básica de usuarios HTTP.

httpd

El programa servidor HTTP Apache.

instdso.sh

Guión que instala módulos DSO Apache.

logresolve

Programa para resolver direcciones IP en los ficheros de registro de acceso de Apache.

rotatelogs

Programa simple para usar junto con la característica de fichero de registro por tuberia de Apache.