lunes, 6 de agosto de 2007

Apache HOWTO RHEL 5

Apache Web Server
Autor: Cristhian Nunez

Acerca del protocolo HTTP.
HTTP (Hypertext Transfer Protocol, o Protocolo de Trasferencia de Hipertext), es el método utilizado
para transferir o transportar información en la Red Mundial (WWW, World Wide Web). Su propósito
original fue el proveer una forma depublicar y recupertar documentos HTML.
HTTP es un protocolo de solicitud y respuesta a través de TCP, entre agentes de usuario
(Navegadores, motores de índice y otras herramientas) y servidores, regularmente utilizando el
puerto 80. Entre la comunicación entre éstos puede intervenir como servidores Intermediarios
(Proxies), puertas de enlace y túneles.
Acerca de Apache.

Apache es un servidor HTTP, de código abierto y licenciamiento libre, que funciona en Linux,
sistemas operativos derivados de UnixTM, Windows, Novell Netware y otras plataformas. Ha
desempeñado un papel muy importante en el crecimiento de la red mundial, y continua siendo el
servidor HTTP más utilizado, siendo además el servidor de facto contra el cual se realizan las
pruebas comparativas y de desempeño para otros productos competidores. Apache es desarrollado
y mantenido por una comunidad de desarrolladores auspiciada por Apache Software Foundation.

Configuracion Basica
Instalar los paquetes
yum -y install httpd

Para iniciar, detener,reiniciar el servicio:
/etc/init.d/httpd start - Inicia el servicio Apache
/etc/init.d/httpd stop - Detiene el servicio Apache
/etc/init.d/httpd restart - Reinicia el servicio Apache
/etc/init.d/httpd status - Verifica el status de Apache
Apache viene con la configuracion estandard, solo basta con reiniciar el servicio y dirigirse a su
navegador y digitar http://localhost

El archivo de configuracion de apache por defecto es /etc/httpd/conf/httpd.conf.
Cualquier ajuste que se requiera realizar, ya sea para configurar Sitios de Red virtuales u otra
funcionalidad adicional, se puede realizar sin tocar el fichero principal de configuración, utilizando
cualquier fichero con extensión *.conf dentro del directorio /etc/httpd/conf.d/.
Directorios virtuales.

Si, por ejemplo, se quisiera añadir el alias para un directorio localizado en /var/ftp/pub/ y el cual
queremos visualizar como el directorio /pub/ en Apache, solo bastaría crear un fichero que
denominaremos arbitrariamente como el fichero denominado /etc/httpd/conf.d/aliases.conf con
el siguiente contenido:
Alias /pub /var/ftp/codigolibre

Si trata de acceder hacia este nuevo directorio virtual con el navegador, notará que no está
permitido el acceso. Para poder acceder deberá haber un documento índice en el interior
(index.html, index.php, etc) o bien que dicho directorio sea configurado para mostrar el contenido
del siguiente modo:
Alias /pub /var/ftp/pub

Options Indexes Includes FollowSymLinks
AllowOverride all


El parámetro Indexes indica que se deberá mostrar el contenido del directorio. El parámetro
FollowSymLinks posibilita poder colocar enlaces simbólicos dentro del directorio los cuales se
seguirán. El parámetro Includes especifica que se permite la utilización de los SSI (Server Side
Includes) que posibilitan utilizar funciones como autenticación. El parámetro AllowOverride all
posibilita utilizar ficheros .htaccess.

Reinicie o recargue Apache y acceda hacia http://127.0.0.1/pub/ con cualquier navegador de red y
visualice el resultado.

Dominios virtuales
# Sitio de Red virtual con definición de directorio para CGI

DocumentRoot /var/www/html/codigolibre/test
ServerName test.codigolibre.local
ServerAlias test.codigolibre.local
ServerAdmin webmaster@codigolibre.local
ErrorLog /var/www/html/codigolibre/html/test/logs/error_log
CustomLog /var/www/html/codigolibre/html/test/logs/access_log combined
ScriptAlias /cgi-bin/ "/var/www/html/codigolibre/html/test/cgi-bin/"

AllowOverride None
Options None
Order allow,deny
Allow from all

AddHandler cgi-script .cgi


Restriccion de Acceso a directorios
Apache® 2.x tiene mejores medidas de seguridad que las versiones anteriores, debido a que su
configuración predeterminada viene de tal modo que deshabilita muchas cosas que podrán
considerarse de cierto riesgo. Parte de esa seguridad incluye deshabilitar los SSI (Server Side
Includes o Inclusiones del Lado del Servidor) y el uso de los ficheros .htaccess. Estos últimos sirven
para modificar o agregar funciones a directorios.
Básicamente solo se necesita agregar las siguientes líneas a cualquier definición del directorio que
se desee utilizar:
Options Includes
AllowOverride All

Procedimientos.
Autenticación de directorios.
La autenticación para un directorio, contra un fichero que incluye claves de acceso, se realiza a
través de la siguiente sintaxis en cualquier fichero .htaccess.
AuthName "Acceso solo usuarios autorizados"
AuthType Basic
require valid-user
AuthUserFile /cualquier/ruta/hacia/fichero/de/claves
Ejemplo.
Se procede a crear un directorio que será visto desde cualquier navegador como
http://127.0.0.1/privado/.
Genere el fichero /etc/httpd/conf.d/ejemplo-autenticar.conf con el siguiente contenido:
Alias /privado /var/www/privado

Options Includes
AllowOverride All
Order allow,deny
Allow from all

Genere el directorio /var/www/privado/ realizando lo siguiente:
mkdir -p /var/www/privado
Genere el fichero /var/www/privado/.htaccess realizando lo siguiente:
touch /var/www/privado/.htaccess
Edite el fichero /var/www/privado/.htaccess y agregue el siguiente contenido:
AuthName "Solo usuarios autorizados"
AuthType Basic
require valid-user
AuthUserFile /var/www/claves
Genere el fichero de claves de acceso como /var/www/claves, utilizando el siguiente
procedimiento:
touch /var/www/claves
Con el fin de establecer la seguridad necesaria, cambie los atributos de lectura y escritura solo para
el usuario apache:
chmod 600 /var/www/claves
chown apache:apache /var/www/claves
Agregue algunos usuarios virtuales al fichero de claves, /var/www/claves, utilizando el siguiente
procedimiento con el mandato htpasswd:
htpasswd /var/www/claves fulano
htpasswd /var/www/claves mengano
Reinicie el servicio httpd:
service httpd restart


Bibliografia
www.alcancelibre.org
www.linuxhomenetworking.com

No hay comentarios.: