Configuración de Apache para Virtual Host

El término Hosting Virtual se refiere a hacer funcionar más de un sitio Web en una sola máquina. En esta sección se explica su configuración; desde que trabaje con php hasta como agregar los dominios virtuales y registrar su dominio en la web.
1.- Apache

Los sitios Web virtuales pueden estar "basados en direcciones IP", lo que significa que cada sitio Web tiene una dirección IP diferente, o "basados en nombres diferentes", lo que significa que con una sola dirección IP están funcionando sitios Web con diferentes nombres (de dominio). El hecho de que estén funcionando en la misma máquina física pasa completamente desapercibido para el usuario que visita esos sitios Web.

La forma en la que esta configurado nuestro servidor, esta basado en nombres de dominio, ya que es mas fácil.
Regularmente el apache viene instalado en el sistema, de no ser así su instalación es muy fácil. La versión ha utilizar es la 1.3.
Desde la consola (como root) se ejecuta el yast,    dns: # yast

En Software >> Instalar/Desinstalar Software se elige el paquete de apache
  • Apache El servidor Web de apache
Una vez instalado es necesario configurar el modulo de php para Apache por lo que también se instala PHP versión 4.3, los programas requeridos son
  • mod_php4-core core files de PHP4
  • mod_php4-devel lenguaje de scripting HTML integrado
  • phplib librería básica para el lenguaje PHP
  • mod_php4 lenguaje de scripting HTML integrado
Para verificar que el modulo fue cargado correctamente se inicia o reinicia el apache según sea el caso
   dns: # rcapache status //verifica el status del apache
   dns: # rcapache start //inicia el servicio
   dns: # rcapache stop //detiene el servicio

Ejemplo

   dns: # rcapache status
   Cheking for httpd running

En caso de que no se cargue el php será necesario agregarlo manualmente. Se edita el archivo httpd.conf, este se encuentra en /etc/httpd/. En la sección de cargar módulos se agrega la siguiente línea:
LoadModule php4_module /usr/lib/apache/libphp4.so Se guarda el archivo y se reinicia el apache.
Para configurar los dominios virtuales, primero es necesario crear las carpetas donde se almacenaran los sitios Web, estos deben ser creados en /srv/www/htdocs/. Para crear los directorios desde la consola se usa el comando mkdir, supongamos que se desee guardar el sitio Web en la carpeta ‘sitio1’
   dns: # mkdir /srv/www/htdocs/sitio1

Ya que se tengan los directorios necesario se crean también los archivos donde se almacenaran los logs del dominio. Se necesitan dos uno para los errores y otro para registrar los accesos. Una manera de crear los archivos es con el editor de textos vi, el archivo que se desea crear es ‘sitio1-error’, este se crea en el directorio /var/log/httpd
   dns: # vi sitio1-error

Aparecerá el archivo recién creado, si es correcto el nombre se guarda (:qw), sino se elimina (:q).
Ya que se tienen los directorios y archivos necesarios, se procede a configurar los VirtualHost; se edita el archivo httpd.conf ubicado en /etc/httpd/, y se le agregan las siguientes líneas al final del archivo en la parte de VirtualHost

NameVirtualHost 14.25.107.12:80 // se indica la dirección IP de la tarjeta de red y el puerto


ServerName www.sitio1.com.mx
DocumentRoot /srv/www/htdocs       Se indica cual es el dominio principal
Directory Index index.htmlrg


Nota: los parámetros que se no se incluyen dentro de las directivas del virtualhost se tomaran del resto del archivo


ServerName www.sitio2.com.mx
DocumentRoot /srv/www/htdocs/sitio2
Directory Index index.php
ServerAdmin micorreo.xxx.com
ErrorLog /var/log/httpd/ sitio2-error
CustomLog /var/log/httpd/ sitio2-access common


ServerName: Nombre de host y número de puerto que el servidor usa para identificarse. La directiva ServerName especifica el nombre de host y el puerto que usa el servidor para identificarse.

DocumentRoot: Directorio principal que contiene la estructura de directorios visible desde la Web Esta directiva especifica el directorio desde el cuál httpd servirá los ficheros.

Directory index: Engloba a un grupo de directivas que se aplicarán solamente al directorio del sistema de ficheros especificado y a sus subdirectorios. Aquí es donde se indica el nombre de la página principal del sitio.

ServerAdmin: Dirección de email que el servidor incluye en los mensajes de error que se envían al cliente

ErrorLog: Ubicación del fichero en el que se almacenan los mensajes de error

CustomLog: Ubicación de donde esta el archivo en el cual se registran los accesos al sitio

También se configuran los parámetros de Listen y BindAddress, estos son utilizados como

Listen: Direcciones IP y puertos específicos para el servidor

   Listen 14.25.107.12:80

BindAddress Directiva usada para especificar la dirección IP que debe escuchar el servidor

   BindAddress 14.25.107.12

Una vez hechas las modificaciones se guarda el archivo y se reinicia el apache.

Para probar el nuevo dominio en intranet es necesario agregar la siguiente línea en le archivo de host

   14.25.107.12 www.sitio1.com.mx

   14.25.107.12 www.sitio2.com.mx

Y en el explorador Web se prueba el dominio.

2. Registro de dominios

No basta con haber configurado los dominios para que puedan salir a Internet; se debe llenar el registro de la NIC de México, esto se puede hacer desde la página http://www.nic.mx/.