Vous êtes sur la page 1sur 4

Configuracin de Acceso y Redireccin en Apache

http://www.osmosislatina.com/apache/acceso.htm

Visite Tec 16 - La nueva forma de aprender temas de software Mapa Sitio Osmosis Latina

Guia de Apache : Configuracin de Acceso y Redireccin

[Cerrar Ventana]

Entrenamiento Java Web (JSP's/Servlets)

Acceso Privilegiado por Directorios Instalacin Inicial Configuracin y Ejecucin Mdulos Virtual Hosting Cooperando con Java(Tomcat) Configuracin de Acceso y Redireccionamiento Ms recursos...

Lleve su conocimiento hacia aplicaciones Por lo general el acceso privilegiado a ciertas secciones Web de un ! sitio en Internet no estn en amplio uso, y una de las principales razones de esta situacin es Uso de JSP's y JSTL. que la mayora de los sistemas de acceso estn diseados alrededor de una Diseo de Servlets. base de datos que mantenga nombres de usuarios y contraseas , adems de Conexiones hacia Bases de Datos desde Java. esto es necesario disear el sitio con aplicaciones de servidor que sean Y muchos temas ms... capaces de utilizar esta informacin de acceso, generalmente JSP (Java Server Pages),Servlets, ADP (Aol Dynamic Pages) o ASP (Active Server Pages) de Microsoft.

Si bien es costoso mantener una base de datos ya sea por administrarla o bien por requerir de un proveedor de servicios con bases de datos, el desarrollar un sitio alrededor de tecnologas orientadas a programacin (JSP,Servlets,ADP's u [Cerrar Ventana] otra tecnologa ) a diferencia de HTML con fotografas GIF/JPEG eleva su tiempo de desarrollo posiblemente hasta 5 veces ms, por lo tanto si solo requiere permitir el acceso privilegiado de ciertos documentos HTML a sus 15 o 30 clientes, el utilizar este tipo de tecnologas de acceso seria no solo excesiva sino muy costosa , Apache ofrece una alternativa con su mdulo mod_auth . Si ejecuta el comando httpd -l como usuario raz debe observar el mdulo mod_auth en la lista, si no se encuentra tendr que recompilar Apache para utilizar este mdulo (Vea Mdulos en Apache ). .htpasswd En las instalaciones que utilizan el mdulo mod_auth debe existir un archivo que contenga los nombres y contraseas de los usuarios que utilizarn el servicio de acceso privilegiado, por lo general este archivo es llamado .htpasswd , aunque si as lo desea puede llamarlo de cualquier otra forma como observar a continuacin. Este archivo esta compuesto de una forma muy sencilla que se muestra a continuacin :

exportacion:grfw345Lsd9zM importacion:efv2dg05234bl clientes:3fvswe5TCdvAz


Consiste del nombre del usuario y la contrasea que ser utilizada para el acceso, para generar este archivo (.htpasswd) se utiliza el comando htpasswd ofrecido por Apache. El comando se utilizara de la siguiente manera: htpasswd -c /webroot/osmosis/www/.htpasswd daniel , la ejecucin de este comando genera el archivo .htpasswd bajo el directorio /webroot/osmosis/www/ del sistema y agrega el usuario
daniel .

Una vez ejecutado este comando se solicitar la contrasea que utilizar el usuario; el uso del parmetro

1 of 4

12/02/2013 07:07 a.m.

Configuracin de Acceso y Redireccin en Apache

http://www.osmosislatina.com/apache/acceso.htm

-c indica que debe generarse el archivo, si despus agrega usuarios a este archivo omita el parmetro

-c ya que sobre-escribir el archivo existente si no lo hace.

El archivo .htaccess Una vez existiendo el archivo con usuarios y contraseas en el sistema, solo es cuestin de definir el acceso por directorio, para esto se utiliza un archivo llamado .htaccess que residir bajo el directorio que se intenta proteger con contrasea, esto es , cada vez que Apache reciba una solicitud revisara si existe un archivo con nombre .htaccess ; cabe sealar que en ocasiones no es utilizado el nombre .htaccess para este archivo, muchos administradores de sistemas cambian este nombre debido al uso extenso de .htaccess ,pero esto solo es medida de seguridad. El parmetro AccessFileName dentro del archivo de configuracin Apache (httpd.conf), indica el nombre del archivo que debe ser buscado para controlar el acceso a un directorio, que como se mencion toma un valor "default" de .htaccess Suponiendo que desea restringir el acceso a un Directorio-Web,proyectos (www.osmosislatina.com/proyectos), debe colocar un archivo llamado .htaccess bajo este subdirectorio, esto no solo restringir el acceso al directorio proyectos sino tambin a todo aquel bajo proyectos , ntese que .htaccess debe iniciar con ". (punto)" para que no sea visible en el directorio, un archivo
.htaccess puede ser el siguiente:

AuthName "Zona de Proyectos de Osmosis Latina" AuthType Basic AuthUserFile /webroot/osmosis/www/.htpasswd require user importacion
El parmetro AuthName indica un mensaje que debe ser desplegado en la ventana que solicita la autorizacin, AuthType siempre toma un valor Basic (tipo nico), mientras que AuthUserFile indica la ubicacin del archivo que contiene los nombres y contraseas del sistema (definido anteriormente) y la ultima linea require user importacion especifica el usuario que tendr acceso a este directorio; inclusive este ultimo rengln puede incluir varios usuarios: require user importacion clientes,sin embargo, si se van agregar varios usuarios es ms conveniente agruparlos de la siguiente manera. El archivo .htgroup Este archivo similar a .htaccess define grupos de usuarios que estn definidos dentro de .htaccess , su forma es la siguiente:

mexico: exportacion importacion clientes us: clientes tramites brasil: importacion manufactura finanzas
Una vez definido el archivo .htgroup es posible utilizarlo dentro de cualquier archivo .htaccess , un ejemplo a continuacin.

AuthName "Zona de Proyectos de Osmosis Latina" AuthType Basic AuthUserFile /webroot/osmosis/www/.htpasswd AuthGroupFile /webroot/osmosis/www/.htgroup require group mexico
A diferencia del .htaccess anterior, se incluye un linea nueva que indica la ubicacin del archivo
.htgroup , adems se modifica la ltima linea con el parmetro group ; este archivo permitir el acceso a

2 of 4

12/02/2013 07:07 a.m.

Configuracin de Acceso y Redireccin en Apache

http://www.osmosislatina.com/apache/acceso.htm

los usuarios pertenecientes al grupo mexico(exportacion importacion clientes). Redireccionar requisiciones al nivel de Servidor Es casi un hecho que conforme crece un sitio en Internet, la estructura del mismo cambiara drsticamente, estos cambios presentan un serio problema administrativo que en una gran cantidad de ocasiones es desatendido o bien tratado de una manera muy deficiente. El mayor problema que presenta el cambio de estructura para un sitio es el surgimiento de links muertos: los afamados 404 Document Not Found , estos errores con el cambio de estructura son casi inevitables por dos razones: Un sitio con una gran cantidad de link's eventualmente contendr algn link interno que lleve a un documento que ya no existe o ha cambiado de nombre. Inclusive, aunque el problema anterior sea resuelto, considerando como operan los motores de bsqueda (Search-Engines) (pueden tardar hasta 5-6 meses en revisitar una pgina) , estos seguramente contendrn varios links antiguos que algn usuario puede seguir y recibir un error. La forma ms comn de solucionar este problema hoy en da es substituyendo la pgina antigua por otra pgina que re-direccione al usuario a la nueva locacin, sin embargo, esto no solo es ineficiente con mensajes como: En unos segundos ms ser enviado a otro lugar , sino eventualmente puede ser un carga administrativa substancial, aunque claro, es preferible esto a recibir un error. Es posible agregar al servidor un mapa de direcciones, para que este realice el redireccionamineto internamente, esto no solo eficientiza el procesar la requisicin sino tambin aisla al usuario final ya que no percibe tal cambio. A su vez es posible mantener este mapa sobre cualquier cambio en un archivo central, limitando la carga administrativa, para este funcionamiento es utilizado el mdulo mod_rewrite de Apache.

Mdulo mod_rewrite Al igual que el mdulo mod_auth debe verificar que mod_rewrite este disponible , si ejecuta el comando
httpd -l como usuario raz debe observar el mdulo mod_rewrite en la lista, si no se encuentra tendr ;

que recompilar Apache para utilizar este mdulo (Vea Mdulos en Apache ). La configuracin bsica de mod_rewrite es relativamente directa, suponga que la pgina principal del sitio ha cambiado de index.htm a home.htm, a travs de mod_rewrite se realiza esta redireccin agregando las siguientes lineas al archivo principal de Apache (httpd.conf):

RewriteEngine on RewriteLogLevel 0 RewriteRule ^http://www\.redireccion\.com/index\.htm$

home.htm

[R]

La primer linea indica que el mdulo mod_rewrite sea activado, el segundo parmetro es utilizado para indicarle a Apache que no debe ser generado ningn tipo de registro ("log") para las redirecciones realizadas; la tercer linea representa la regla para realizar la redireccin y es descrita continuacin. El parmetro RewriteRule indica el inicio de una regla de redireccin, la primer definicin representa el URL ("Universal Resource Locator") que ser; redireccionado donde la descripcin de ste URL es definido a travs de Regular Expression. El signo ^ indica el inicio del URL mientras $ indica el final, el uso del "backslash" (\) representa un escape para indicar un punto (.) literalmente; el uso de los signos anteriores es parte de regular expressions y no de Apache. Una vez definido el regular expression se define el archivo de redireccin, en este caso home.htm. Las definiciones anteriores son suficientes para

3 of 4

12/02/2013 07:07 a.m.

Configuracin de Acceso y Redireccin en Apache

http://www.osmosislatina.com/apache/acceso.htm

realizar la redireccin, sin embargo, el uso del parmetro [R] permite que el URL regresado al navegador ("Netscape" o "Explorer") despliegue el URL nuevo, esto es, si se omite [R] el usuario final seguir observando el URL http://www.redireccion.com/index.htm (con el contenido de home.htm por supuesto) y al agregarse [R] el usuario observar http://www.redireccion.com/home.htm, las implicaciones de utilizar [R] generalmente son sobre algn "bookmark" que pudo haber definido el usuario final en su navegador ("Explorer" o "Netscape"). En dado caso que todos los archivos principales de directorio en un sitio hubieran cambiado de nombre, se definira el rengln RewriteRule de la siguiente manera:

RewriteRule

index\.htm$

home.htm

[R]

La definicin anterior redirecciona todo archivo terminado en index.htm a otro llamado home.htm, lo anterior demuestra la gran flexibilidad de mod_rewrite. El uso de mod_rewrite no slo puede ser llevado acabo al nivel global de Apache, esto es, en el archivo httpd.conf, sino que sus parmetros tambin pueden ser colocados dentro de las definiciones de Virtual Hosts , en los .htaccess utilizados en mod_auth , por directorios, etc; lo anterior permite que el redireccionamiento sea llevado acabo de una forma ms selectiva. Como se mencin al inicio, lo anterior son solo las configuraciones bsicas para mod_rewrite ya que tambin es posible realizar redireccionamientos en base de la hora del da, balanceo de Carga (Round-Robin DNS) y otras facilidades ms. Actualizado : 2005/09/07 22:47

Terminos Legales de Contenido 2000-2011 Osmosis Latina Diseado bajo estndares : XHTML CSS webmaster@osmosislatina.com

4 of 4

12/02/2013 07:07 a.m.

Vous aimerez peut-être aussi