GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Ce guide explique comment vous pouvez utiliser mod_mysql_vhost pour créer des hôtes virtuels simples sur un serveur Web lighttpd sur Ubuntu 12.10. 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 Remarque préliminaire

Étant donné que nous devons exécuter toutes les étapes de ce didacticiel avec les privilèges root, nous pouvons soit ajouter la chaîne sudo à toutes les commandes de ce didacticiel, soit nous devenons root dès maintenant en tapant

sudo su

2 Installer MySQL 5

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

3 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

4 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 des 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...

5 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/
  • Ubuntu :http://www.ubuntu.com/

Ubuntu
  1. Hébergement virtuel avec Proftpd et MySQL (incl. Quota) sur Ubuntu 14.04LTS

  2. Utilisateurs virtuels et domaines avec Postfix, Courier, MySQL et SquirrelMail (Ubuntu 13.10)

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

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

  5. Comment installer Lighttpd avec PHP5 et MySQL sur Ubuntu 11.04

Hébergement virtuel avec vsftpd et MySQL sur Ubuntu 12.04

Utilisateurs virtuels et domaines avec Postfix, Courier, MySQL et SquirrelMail (Ubuntu 12.10)

Hébergement virtuel avec vsftpd et MySQL sur Ubuntu 12.10

Hébergement virtuel avec Proftpd et MySQL (incl. Quota) sur Ubuntu 12.10

Installation de Lighttpd avec PHP (mode PHP-FPM) et MySQL ou MariaDB sur Ubuntu 15.04

Installation de Lighttpd avec PHP (mode PHP-FPM) et MySQL ou MariaDB sur Ubuntu 15.10