Editando el httpd.conf de Apache 2 para agregar un alias

14.12.08. Por ooscarr (ooscarr)

Digamos que en mi servidor Apache (versión 2) quiero que un usuario ya existente (http://acinfo.unap.cl/~ofernandez/) se pueda acceder también desde otra dirección (http://acinfo.unap.cl/ooscarr/). O cómo modificar el archivo de configuración de Apache httpd.conf en UNIX, BSD, Linux, OS X, etc.

Apache

Ubica al archivo httpd.conf

El archivo httpd.conf de Apache, si no lo conocen, es el archivo que contiene las opciones de configuración más importantes del servidor. Las líneas que comienzan por # son ignoradas al momento de ser leídas por el servidor.

En UNIX, Linux y Mac OS X Leopard, el archivo típicamente se encuentra en

/etc/apache2/httpd.conf

pero también podría estar en

/etc/httpd/conf/httpd.conf

o en

/usr/local/apache/conf/httpd.conf

según donde lo hayas instalado.

Modificar el archivo con los permisos de super usuario

El archivo debe estar bloqueado para su modificación por usuarios normales.

Una alternativa es usando el editor vi

El editor por líneas de comandos vi viene generalmente incorporado en todos los sistemas basados en UNIX, parece que es parte de la especificación.

Con él, basta acceder al archivo con permisos de súper usuario con el comando

sudo vi /etc/apache2/httpd.conf

o lo que sea, y poner la contraseña cuando la pida para abrir vi.

Una vez visualizado el archivo, con las teclas

i
se puede insertar texto.
esc
sirve para dejar de insertar y poder escribir comandos como
:w
(dos puntos doble ve) para guardar (escribir) el archivo
:q
(dos puntos qu) para salir de vi.

Los dos últimos comandos también se pueden juntar en uno solo tecleando :wq, por ejemplo.

Creando un alias

Se pueden agregar estas instrucciones en nuevas líneas al final del archivo, pero sería más ordenado buscar la sección encerrada por las etiquetas

<IfModule alias_module>
 #
...
 #
</IfModule>

y agregar el alias ahí dentro.

Se pueden usar expresiones regulares y otros trucos. Pero en mi caso sólo quiero que cuando llegue la dirección con /ooscarr el servidor Apache entregue lo que tiene el usuario /~ofernandez; por lo que mi instrucción sería...

En una configuración típica (llámese Linux)

Alias /ooscarr /home/ofernandez/public_html

En OS X

Alias /ooscarr /Users/ofernandez/Sites

Agregar una sección <Directory>

En los comentarios del archivo httpd.conf también dice:

 # Si incluye un / final en /rutaweb entonces el servidor
 # requerirá que esté presente en el URL.  También seguramente
 # necesitará proveer una sección <Directory> para permitir el acceso a
 # la ruta del sistema de archivos.

Reiniciar Apache

Para que todo esto tenga efecto, o para que se vuelva a leer el archivo httpd.conf con las nuevas modificaciones, habría que reiniciar el servidor.

En UNIX

sudo apache2ctl restart

En OS X

En Mac OS X, sólo hay que ir a las Preferencias, Compartir y apagar y volver prender la opción de Compartir web.

Voilà!

Ahora cuando entro a http://localhost/ooscarr/ puedo ver lo mismo que tengo en http://localhost/~ofernandez/ y todos sus subdirectorios.

Referencias

Etiquetas: ,

0 comentarios (RSS ATOM) :

Página principal

Publicidad