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.

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/rutawebentonces 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.


0 comentarios (RSS
) :
Referencias a este artículo:
Página principal