LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

En esta guía se explica cómo se puede crear simples hosts virtuales a través de mod_mysql_vhost en un servidor web lighttpd en Debian Squeeze. Con mod_mysql_vhost, lighttpd puede leer la configuración del host virtual a partir de una base de datos MySQL. En la actualidad, se puede almacenar el dominio y la raíz del documento en la base de datos MySQL que se traduce en máquinas virtuales muy simples. Si necesita más directivas para sus vhosts, tendrá que configurar en la sección global del lighttpd.conf, lo que significa que sería válido para todos los vhosts. Por lo tanto, mod_mysql_vhost es ideal si sus vhosts difieren sólo en el dominio y el documento raíz.

1 Instalación de MySQL 5.0

Primero instalamos MySQL 5 como esto:

apt-get install mysql-server mysql-client

Se le pedirá que proporcione una contraseña para el usuario root de MySQL -esta contraseña es válida para el usuario root@localhost así como Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo., así que es necesario que especifique una contraseña de root de MySQL manualmente:

Nueva contraseña para MySQL el usuario "root": <- yourrootsqlpassword
Repita la contraseña de MySQL "root": <- yourrootsqlpassword

2 Instalación de Lighttpd Y mod_mysql_vhost

Puede instalar lighttpd (si no está ya instalado) y mod_mysql_vhost como sigue:

  apt-get install lighttpd lighttpd-mod-mysql-vhost 

Para habilitar mod_mysql_vhost, abrimos el archivo /etc/lighttpd/lighttpd.conf y añadir / activa "mod_mysql_vhost", en la estrofa server.modules:

  vi /etc/lighttpd/lighttpd.conf 
server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
        "mod_mysql_vhost",
#       "mod_rewrite",
)
[...]

Después, reinicie lighttpd:

/etc/init.d/lighttpd restart

3 Configuración mod_mysql_vhost

Ahora inicia sesión en MySQL ...

 mysql -u root -p 

... y crear la base de datos lighttpd:

CREATE DATABASE lighttpd;

A continuación crear un usuario de base de datos con privilegios de SELECT para la base de datos lighttpd:

GRANT SELECT ON lighttpd.* TO lighttpd@localhost IDENTIFIED BY 'secret';
GRANT SELECT ON lighttpd.* TO Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.n IDENTIFIED BY 'secret';
FLUSH PRIVILEGES;

(Reemplace 'secret' por una contraseña de su elección.)

Luego creamos la tabla de dominios en la base de datos MySQL y dejar lighttpd:

 USE lighttpd; 
 CREATE TABLE domains (
  domain varchar(64) not null primary key,
  docroot varchar(128) not null
);

quit;

Ahora abrimos el archivo /etc/lighttpd/lighttpd.conf y añadir la configuración mod_mysql_vhost siguiente al final del archivo:

vi /etc/lighttpd/lighttpd.conf

[...]
mysql-vhost.db             = "lighttpd"
mysql-vhost.user           = "lighttpd"
mysql-vhost.pass           = "secret"
mysql-vhost.sql            = "SELECT docroot FROM domains WHERE domain='?';"
mysql-vhost.hostname       = "localhost"
mysql-vhost.port           = 3306

(Reemplace secreto con la contraseña que previamente se ha establecido para el usuario lighttpd MySQL.)

Reinicie lighttpd:

/etc/init.d/lighttpd restart

Ahora es el momento para configurar las máquinas virtuales ...

4 Configuración de máquinas virtuales

Ahora vamos a configurar dos máquinas virtuales, uno para www.example.com (con la raíz del documento /var/www/www.example.com/web) y otro para www.example.org (con la raíz del documento /var/www/www.example.org/web).

En primer lugar, creamos las raíces de documentos de los dos sitios web (si no existe):

mkdir-p /var/www/www.example.com/web
mkdir-p /var/www/www.example.org/web

Entonces inicia sesión en MySQL ...

 mysql -u root -p 
 USE lighttpd; 

... y crear los vhosts como sigue:

INSERT INTO domains VALUES ('www.example.com','/var/www/www.example.com/web/');
INSERT INTO domains VALUES ('www.example.org','/var/www/www.example.org/web/');

Ahora podemos salir de la consola de MySQL:

 quit; 

Eso es todo, los vhosts están configurados y en funcionamiento, y no es obligatorio reiniciar lighttpd.

Para comprobar si los vhosts funcionan como se espera, se crea un archivo index.html en cada directorio raíz de documentos, uno con la cadena "www.example.com" en él, y el otro con la cadena "www.example.org". ..

echo "www.example.com" > /var/www/www.example.com/web/index.html
echo "www.example.org" > /var/www/www.example.org/web/index.html

Y la llamada  http://www.example.com  y  http://www.example.org  desde un navegador debe mostrar www.example.com, y http://www.example.org respectivamente.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política