Sie sind auf Seite 1von 8

Configuracin bsica de Apache.

Autor: Joel Barrios Dueas Correo electrnico: jbarrios arroba linuxparatodos punto net Sitio de Red: http://www.linuxparatodos.net/
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

1999-2006 Linux Para Todos. Algunos Derechos Reservados 2007 Factor Evolucin SA de CV. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La informacin contenida en este documento y los derivados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad alguna si el usuario o lector hace mal uso de stos.

Introduccin.
Acerca del protocolo HTTP.
HTTP (Hypertext Transfer Protocol, o Protocolo de Trasferencia de Hipertext), es el mtodo utilizado para transferir o transportar informacin en la Red Mundial (WWW, World Wide Web). Su propsito original fue el proveer una forma depublicar y recupertar documentos HTML. El desarrollo del protocolo fue coordinado por World Wide Web Consortium y la IETF (Internet Engineering Task Force, o Fuerza de Trabajo en Ingeniera de Internet), culminando con la publicacin de variso RFC (Request For Comments), de entre los que destaca el RFC 2616, mismo que define la versin 1.1 del protocolo, que es el utilizado hoy en da. HTTP es un protocolo de solicitud y respuesta a travs de TCP, entre agentes de usuario (Navegadores, motores de ndice y otras herramientas) y servidores, regularmente utilizando el puerto 80. Entre la comunicacin entre stos puede intervenir como servidores Intermediarios (Proxies), puertas de enlace y tneles. URL: http://tools.ietf.org/html/rfc2616

Acerca de Apache.
Apache es un servidor HTTP, de cdigo abierto y licenciamiento libre, que funciona en Linux, sistemas operativos derivados de Unix, Windows, Novell Netware y otras plataformas. Ha desempeado un papel muy importante en el crecimiento de la red mundial, y continua siendo el servidor HTTP ms utilizado, siendo adems el servidor de facto contra el cual se realizan las pruebas comparativas y de desempeo para otros

productos competidores. Apache es desarrollado y mantenido por una comunidad de desarrolladores auspiciada por Apache Software Foundation. URL: http://www.apache.org/

Sustento lgico necesario.


Instalacin a travs de yum.
Si se utiliza de CentOS 4 o White Box Enterprise Linux 4, solo basta utilizar lo siguiente:
yum -y install httpd

Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL/TLS, solo bastar ejecutar:
yum -y install php php-mysql mod_perl mod_python mod_ssl

Instalacin a travs de Up2date


Si se utiliza de Red Hat Enterprise Linux 4, solo basta utilizar lo siguiente:
up2date -i httpd

Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL, solo bastar utilizar:
up2date -i php php-mysql mod_perl mod_python mod_ssl

Iniciar servicio y aadir el servicio al arranque del sistema.


Apache es un servicio que por fortuna solo es necesario instalar e iniciar. No requiere modificaciones adicionales para su funcionamiento bsico. Para aadir el servicio a los servicios que inician junto con el sistema, solo basta ejecuta:
chkconfig httpd on

Para iniciar el servicio por primera vez, solo basta utilizar:


service httpd start

Para reiniciar el servicio, considerando que se interrumpirn todas las conexiones establecidas en ese momento, solo basta utilizar:

service httpd restart

Si el servicio ya est trabajando, tambin puede utilizar reload a fin de que Apache vuelva a leer y cargar la configuracin sin interrumpir el servicio, y, por ende, las conexiones establecidas.
service httpd reload

Para detener el servicio, solo basta utilizar:


service httpd stop

Procedimientos.
SELinux y Apache.
Si utiliza alguna distribucin con ncleo 2.6 basada sobre Red Hat Enterprise Linux 4.0, como seran CentOS 4.0 o White Box Enterprise Linux 4.0 en adelante, stas incluyen SELinux que aade seguridad adicional a Apache, sin embargo algunas opciones impedirn utilizar ciertas funciones en Apache, como directorios virtuales. Ejecute system-config-securitylevel desde el modo grfico y active la casilla que dice Disable SELinux Protection for httpd daemon y haga clic en el botn de Aceptar. Si no tiene planeado utilizar directorios virtuales, puede dejar desactivada la casilla y aprovechar toda la seguridad adicional que brinda SELinux.

system-config-securitylevel.

UTF-8 y codificacin de documentos.


UTF-8 UTF-8 es un mtodo de codificacin de ASCII para Unicode (ISO10646), el Conjunto de Caracteres Universal o UCS. ste codifica la mayora de los sistemas de escritura del mundo en un solo conjunto de caracteres, permitiendo la mezcla de lenguajes y guiones en un mismo documento sin la necesidad de ajustes para realizar los cambios de conjuntos de caracteres. Cualquier sitio de red que haga uso de bases de datos y documentos HTML suele toparse con problemas cuando se trata de lidiar con el tipo de codificacin (UTF-8, ISO8859-1, etc.), puesto que en algunos casos, por citar un ejemplo, los caracteres latinos se muestran incorrectamente por el cambio de codificacin. Debido a su conveniencia actualmente se est adoptando UTF-8 como codificacin para todo, sin embargo an hay mucho material codificado en, por ejemplo, ISO-8859-1. Lo correcto es codificar los documentos codificados en ISO8859-1 y otras tablas de caracteres hacia en UTF-8, utilizando mtodos como el siguiente:
cd /var/www/html/ for f in *.html do

vi -c ":wq! ++enc=utf8" $f done

Si desea continuar viviendo en el pasado y no aceptar el nuevo estndar, tambin puede desactivar la funcin en Apache que establece UTF-8 como codificacin predefinida. Edite el fichero /etc/httpd/conf/httpd.conf y localice lo siguiente:
AddDefaultCharset UTF-8

Cambie lo anterior por esto otro:


AddDefaultCharset Off

Ficheros de configuracin.
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 configuracin, utilizando cualquier fichero con extensin *.conf dentro del directorio /etc/httpd/conf.d/.

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

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 <Directory "/var/ftp/pub"> Options Indexes Includes FollowSymLinks AllowOverride all </Directory>

El parmetro Indexes indica que se deber mostrar el contenido del directorio. El parmetro FollowSymLinks posibilita poder colocar enlaces simblicos dentro del directorio los cuales se seguirn. El parmetro Includes especifica que se permite la utilizacin de los SSI (Server Side Includes) que posibilitan utilizar funciones como autenticacin. El parmetro AllowOverrride 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.

Redireccin de directorios.
Cuando sea necesario, es posible configurar un directorio en particular para Apache redirija de modo transparente ste y su contenido hacia cualquier otra direccin.
Redirect 301 /webmail http://mail.su-dominio.net/

En el ejemplo anterior, se indica que si se trata de acceder hacia el subdirectorio /webmail en el servidor, Apache deber redirigir hacia http://mail.su-dominio.net/. El nmero 301 corresponde al mensaje del protocolo HTTP para indicar que la redireccin es permanente. Si por ejemplo hubiese un objeto en /webmail, como por ejemplo /webmail/estadisticas/estadisticas.php, Apache realizar el re-direccionamiento transparente hacia http://mail.su-dominio.net/estadisticas/estadisticas.php.

Tipos de MIME.
Si por ejemplo se quisiera aadir algn tipo de extensin y tipo MIME, como por ejemplo Ogg, se podra generar un fichero que denominaremos arbitrariamente como el fichero /etc/httpd/conf.d/extensiones.conf con el siguiente contenido:
AddType application/ogg .ogg AddDescription "Ogg Vorbis Audio" .ogg AddIcon /icons/sound2.png .ogg

Soporte para CGI con extensin *.cgi


Si se quisiera aadir que se reconociera la extensin *.cgi como un guin CGI (Common Gateway Interface), solo bastar aadir un fichero que denominaremos, arbitrariamente, /etc/httpd/conf.d/cgi.conf con el siguiente contenido:
AddHandler cgi-script .cgi

Probando la configuracin. Utilice el editor de texto de su preferencia para crear el fichero /var/www/cgibin/tiempo.cgi. Este deber llevar lo siguiente como contenido:
#!/usr/bin/perl print "content-type: text/html\n\n"; print scalar localtime; print "\n";

Deberemos de cambiar el permiso del archivo anterior con la siguiente lnea de mandato:
chmod 755 /var/www/cgi-bin/tiempo.cgi

Utilice el navegador de red que prefiera y apunte ste hacia http://127.0.0.1/cgibin/tiempo.cgi. Si el navegador nos da una salida similar a la siguiente, se habr configurado exitosamente Apache para ejecutar guiones CGI:
Tue Jul 05 22:10:41 2005

Problemas posteriores Antes escribirle al autor de este documento, de recurrir a las listas de soporte o grupos y foros de discusin solicitando ayuda para hacer trabajar un guin CGI en particular, lea cuidadosamente la documentacin que acompaa a este y verifique que se han establecido apropiadamente los permisos de lectura, escritura y ejecucin, que se han realizado las modificaciones necesarias en los parmetros para el uso del guin en su servidor y que el guin CGI no contenga errores. Recurra al autor de guin CGI o binario si necesita ayuda. Error ms comn nmero 1.
Forbidden You don't have permission to access /algun/directorio/guion.cgi on this server

Significa que el archivo no cuenta con los permisos apropiados de lectura, escritura y ejecucin. La mayora guiones CGI que encontrar en Internet necesitarn al menos permiso 755 para poder ser utilizados. Error ms comn nmero 2.
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.

Significa que hay problemas con el guin CGI en si y no con Apache. En la mayora de los casos se trata de ficheros que fueron elaborados desde un editor de texto en Windows, cuyo retorno de carro es distinto al de los sistemas operativos basados sobre UNIX, por lo cual se deber utilizar el mandato dos2unix sobre dichos ficheros. En otros casos, algo menos frecuente, se requerir que el administrador revise lnea por lnea para localizar un posible error o parmetro incorrecto. Cuando aplique, verifique que la primera lnea del guin que apunta hacia donde se encuentra el mandato perl sea correcta. Verifique tambin si el directorio que albergue el guin CGI requiere algn permiso en particular, como sera 777 en el caso de algunos guiones CGI.

Robo de imgenes.
Suele ocurrir que los administradores de algunos sitios encuentran fcil utilizar imgenes, y otros tipos de contenido, vinculando desde sus documentos hacia los objetos en el servidor. Esto consume ancho de banda adiconal y es una prctica poco tica. En el siguiente ejemplo, considerando que se tiene un directorio /var/www/html/imagenes, y se desea proteger ste para que solo se permita utilizar su contenido si es referido desde el mismo servidor, se utilizara lo siguiente:

# Se permite al propio servidor SetEnvIf Referer "^http://www.midominio.org/" local_referal # se permite aceder directamente a la imagen o bien si # no se especifica en el navegador la informacin de referente. SetEnvIf Referer "^$" local_referal <Directory "/var/www/html/imagenes/"> Order Deny,Allow Deny from all Allow from env=local_referal </Directory>

La configuracin anterior puede aadirse en cualqueir fichero *.conf dentro del directorio /etc/httpd/conf.d/.

Modificaciones necesarias en el muro cortafuegos.


Si se utiliza un cortafuegos con polticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 80 por TCP (HTTP). Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondera a algo similar a lo siguiente:
#ACTION SOURCE DEST PROTO # ACCEPT net fw tcp #LAST LINE -- ADD YOUR ENTRIES REMOVE DEST SOURCE PORT PORT(S)1 80 BEFORE THIS ONE -- DO NOT

Das könnte Ihnen auch gefallen