Archivo
miércoles, 30 de octubre de 2013
Virtual Hosts con Apache2
Debido a muchas dudas en cuanto a servidores virtuales (configuraciones) en Apache, escribo este post rapidito, para mostrar la forma "correcta" de hacerlo.
He visto muchas veces (yo tmb lo hacia) que al momento de desarrollar un site, tenemos la costubre de colgar todos los proyectos en un directorio similar a este:
/home/usrprogramador/www/site1
/home/usrprogramador/www/site2
/home/usrprogramador/www/site3
y crear un link simbolico en /var/www, para asi poder llegar, mediante el navegador a los diferentes proyectos con que estemos trabajando de esta manera
http://localhost/www/site1
http://localhost/www/site2
Esto es totalmente funcional pero, lo correcto seria hacerlo utilizando hosts virtuales, o sea, usar diferentes nombres de dominio utilizando una unica direccion IP, y de esta manera navegar por los mismos se haria de la siguiente forma:
http://www.site1.com
http://www.site2.com
http://www.site3.com
Bueno, vamos paso a paso (cuatro para ser exactos =)
Paso 1: /etc/hosts
En este archivo crearemos tantos nombres de dominio como necesitemos utilizando la misma direccion IP, p.e.
127.0.0.1 localhost
127.0.0.1 www.site1.com
127.0.0.1 www.site2.com
Paso 2: /var/www/
Creamos un directorio por cada site
# mkdir -p site1/public_html
# mkdir -p site2/public_html
le asignamos al usuario que corresponda y con los permisos suficientes
# chown -R usrprogramador site1/public_html/
# chmod -R 755 site1/
Paso 3: /etc/apache2/sites-available/
Aqui vamos a escribir nuestro archivo de configuracion para los sites; y para ahorrarnos tiempo copiamos el que se encuentra por defecto:
# cp default site1
editamos el archivo recien copiado y debajo de la linea ServerAdmin, agregamos
ServerName site1
ServerAlias www.site1.com
y modificamos DocumentRoot por la direccion correcta
DocumentRoot /var/www/site1/public_html
Ahora solo resta habilitar nuestro host virtual en apache
# a2ensite site1
Paso 4: Reiniciar Apache
Y aqui, volvemos a lo mismo, conozco gente que tienen la mala costumbre de matar el proceso (killall apache2) y levantarlo manualmente, si bien esto tambien es funcional, lo correcto seria hacerlo de esta manera:
# service apache2 restart
Bueno, espero no haberme liado demasiado, ni haber omitido algun paso, de todas formas si encuentran errores sientanse libre de corregirme, y asi aprendemos todos :)
Para más información:
http://httpd.apache.org/docs/2.2/vhosts/
https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario