GNU/Linux >> Tutoriels Linux >  >> Debian

Création d'hôtes virtuels simples avec mod_mysql_vhost sur Lighttpd (Debian Squeeze)

Ce guide explique comment vous pouvez utiliser mod_mysql_vhost pour créer des hôtes virtuels simples sur un serveur Web lighttpd sur Debian Squeeze. Avec mod_mysql_vhost, lighttpd peut lire la configuration vhost à partir d'une base de données MySQL. Actuellement, vous pouvez stocker le domaine et la racine du document dans la base de données MySQL, ce qui donne des hôtes virtuels très simples. Si vous avez besoin de plus de directives pour vos vhosts, vous devrez les configurer dans la section globale de lighttpd.conf, ce qui signifie qu'elles seront valides pour tous les vhosts. Par conséquent, mod_mysql_vhost est idéal si vos vhosts ne diffèrent que par le domaine et la racine du document.

Je n'émets aucune garantie que cela fonctionnera pour vous !

1 Installer MySQL 5.0

Nous installons d'abord MySQL 5 comme ceci :

apt-get install mysql-server mysql-client

Il vous sera demandé de fournir un mot de passe pour l'utilisateur root MySQL - ce mot de passe est valide pour l'utilisateur [email protected] ainsi que [email protected], nous n'avons donc pas besoin de spécifier manuellement un mot de passe root MySQL ultérieurement :

Nouveau mot de passe pour l'utilisateur "root" MySQL :<-- yourrootsqlpassword
Répétez le mot de passe pour l'utilisateur "root" MySQL :<-- yourrootsqlpassword

2 Installation de Lighttpd et mod_mysql_vhost

Vous pouvez installer lighttpd (s'il n'est pas déjà installé) et mod_mysql_vhost comme suit :

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

Pour activer mod_mysql_vhost, nous ouvrons /etc/lighttpd/lighttpd.conf et ajoutons/activons "mod_mysql_vhost", dans la strophe server.modules :

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

Ensuite, nous redémarrons lighttpd :

/etc/init.d/lighttpd restart

3 Configuration de mod_mysql_vhost

Maintenant, nous nous connectons à MySQL...

mysql -u root -p

... et créez la base de données lighttpd :

CRÉER BASE DE DONNÉES lighttpd ;

Ensuite, nous créons un utilisateur de base de données (que nous nommons également lighttpd) avec les privilèges SELECT pour la base de données lighttpd :

GRANT SELECT ON lighttpd.* TO [email protected] IDENTIFIED BY 'secret' ;
GRANT SELECT ON lighttpd.* TO [email protected] IDENTIFIED BY 'secret' ;
FLUSH PRIVILEGES ;

(Remplacez secret par un mot de passe de votre choix.)

Ensuite, nous créons la table des domaines dans la base de données lighttpd et quittons MySQL :

UTILISER lighttpd ;
CREATE TABLE domaines (
domaine varchar(64) non null clé primaire,
docroot varchar(128) non null
);
quitter ;

Maintenant, nous ouvrons /etc/lighttpd/lighttpd.conf et ajoutons la configuration mod_mysql_vhost suivante à la fin du fichier :

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

(Remplacez secret par le mot de passe que vous avez précédemment défini pour l'utilisateur lighttpd MySQL.)

Redémarrez lighttpd :

/etc/init.d/lighttpd restart

Il est maintenant temps de configurer les hôtes virtuels...

4 Configuration des hôtes virtuels

Je vais maintenant configurer deux hôtes virtuels, un pour www.example.com (avec la racine du document /var/www/www.example.com/web) et un pour www.example.org (avec la racine du document /var/www /www.example.org/web).

Tout d'abord, nous créons les racines des documents des deux sites Web (s'ils n'existent pas déjà) :

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

Ensuite, nous nous connectons à MySQL...

mysql -u root -p
UTILISER lighttpd ;

... et créez les vhosts comme suit :

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/');

Nous pouvons maintenant quitter le shell MySQL :

quitter ;

Voilà, les vhosts sont maintenant configurés et fonctionnent, et aucun redémarrage lighttpd n'est requis.

Pour vérifier si les vhosts fonctionnent comme prévu, nous créons un fichier index.html dans chaque racine de document, l'un contenant la chaîne "www.example.com", l'autre avec la chaîne "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

et appelez http://www.example.com et http://www.example.org dans un navigateur. http://www.example.com doit afficher www.example.com et http://www.example.org doit afficher www.example.org.

  • mod_mysql_vhost :http://redmine.lighttpd.net/projects/1/wiki/Docs:ModMySQLVhost
  • Lighttpd :http://www.lighttpd.net/
  • Debian :http://www.debian.org/

Debian
  1. Création d'hôtes virtuels simples avec mod_mysql_vhost sur Lighttpd (Ubuntu 12.04)

  2. Création d'hôtes virtuels simples avec mod_mysql_vhost sur Lighttpd (Ubuntu 12.10)

  3. Création d'hôtes virtuels simples avec mod_mysql_vhost sur Lighttpd (Debian Etch)

  4. Création d'un serveur de stockage autonome de type NFS avec GlusterFS 3.0.x sur Debian Squeeze

  5. Configuration de la réplication maître-maître avec MySQL sur Debian 8 (Jessie)

Utilisation de mod_spdy avec Apache2 sur Debian Squeeze

Hébergement virtuel avec vsftpd et MySQL sur Debian Squeeze

Utilisateurs virtuels et domaines avec Postfix, Courier, MySQL et SquirrelMail (Debian Wheezy)

Installation de Lighttpd avec PHP5 (PHP-FPM) et prise en charge de MySQL sur Debian Wheezy

Installation de Lighttpd avec PHP5 (PHP-FPM) et MySQL sur Debian 8 (Jessie)

Environnement multiserveur virtuel avec serveurs dédiés Web et MySQL, de messagerie et DNS sur Debian Squeeze avec ISPConfig 3