1 de septiembre de 2009

Hosts Virtuales en Apache2 - Ubuntu

Esta Receta es creado con el fin de compartir mi experiencia al crear Hosts Virtuales en un servidor local HTTP para el desarrollo de aplicaciones web escritas en PHP5.

En mi caso utilizo una partición exclusiva para el home, y en él una carpeta para guardar y editar mis proyectos, esto con la intención de no tener que borrarla al momento de actualizar mi distribución, el nombre que utilizo regularmente para dicha carpeta es “public_html”. Vamos a enforcarnos en crear un Host Virtual para esta carpeta, empecemos por crearla:

mkdir /home/usuario/public_html

Los archivos de configuración de Apache2 se encuentra en la carpeta “/etc/apache2”. Para crear un host virtual debemos crear un archivo dentro de la carpeta “/etc/apache2/sites-avaliable/” con el nombre del host(preferiblemente) por ejemplo:

sudo touch /etc/apache2/sites-avaliable/myhost.com

Lo abrimos en el editor:

sudo gedit /etc/apache2/sites-avaliable/myhost.com

Agregamos dentro de este la siguiente configuración:

NameVirtualHost *
<Virtualhost>
#Dirección de correo del administrador del servicio.
ServerAdmin administrador@myhost.com
#Nombre del host
ServerName myhost.com
#Ubicación del directorio
DocumentRoot /home/usuario/public_html/
#Opciones de visualización del Host
Options Indexes FollowSymLinks MultiViews
#Archivo donde se Guarda el Log de los errores
ErrorLog /var/log/apache2/myhost.com/error.log
#Configuración del Host para el Directorio
<Directory /home/usuario/public_html/>
Options ExecCGI Indexes FollowSymLinks MultiViews
#Configuración de la codificación de caracteres
AddDefaultCharset ISO-8859-1
AddHandler cgi-script .cgi
AllowOverride all
Allow from all
Order allow,deny
</Directory>
</Virtualhost>

Guardamos y activamos el Host con el comando apache:

sudo a2ensite myhost.com

Creamos el directorio para almacenar los logs del host:

sudo mkdir /var/log/apache2/myhost.com

Abrimos el archivo /etc/hosts:

sudo gedit /etc/hosts

Agregamos en la primera línea el nombre del Host de la siguiente manera:

127.0.0.1 myhost.com

Guardamos el archivo, lo cerramos y reiniciamos el servidor apache:

sudo /etc/init.d/apache restart

Y listo, ya funciona... Solo tenemos que ingresar en el navegador de la máquina la dirección:

http://myhost.com

Ahora si queremos accesar desde otro computador solo tenemos que crear el siguiente link simbolico:

sudo ln -s /home/usuario/public_html/ /var/www/myhost.com

Y podremos hacerlo ingresando nuestra dirección ip desde otro pc seguido de myhost.com, por ejemplo:

http://192.168.0.1/myhost.com
 
Copyright © 2015 Evers Rivero