GNU/Linux >> Tutoriels Linux >  >> Debian

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

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 Etch. 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.0 comme ceci :

apt-get install mysql-server mysql-client

Créez un mot de passe pour l'utilisateur root MySQL (remplacez yourrootsqlpassword par le mot de passe que vous souhaitez utiliser) :

mysqladmin -u root password yourrootsqlpassword

Vérifiez ensuite avec

netstat -tap | grep mysql

sur quelles adresses MySQL écoute. Si la sortie ressemble à ceci :

tcp        0      0 localhost.localdo:mysql * :*                    ÉCOUTER     2713/mysqld

ce qui signifie que MySQL écoute uniquement sur localhost.localdomain, alors vous êtes en sécurité avec le mot de passe que vous avez défini auparavant. Mais si la sortie ressemble à ceci :

tcp        0      0 *:mysql *:*                    ÉCOUTER     2713/mysqld

vous devez également définir un mot de passe MySQL pour votre nom d'hôte (mon nom d'hôte est server1.example.com ici), car sinon, n'importe qui peut accéder à votre base de données et modifier les données :

mysqladmin -h server1.example.com -u root password 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_accesslog", "mod_mysql_vhost",# "mod_rewrite", # "mod_redirect",# "mod_status",# "mod_evhost",# "mod_compress",# "mod_usertrack",# "mod_rrdtool",# "mod_webdav",# "mod_expire",# "mod_flv_streaming",# "mod_evasive" ) [...]

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

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://trac.lighttpd.net/trac/wiki/Docs#Optionsformod_mysql_vhost-Mysqlvirtualhostingmodule
  • 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 Squeeze)

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

  5. Comment installer WebDAV avec Lighttpd sur Debian 8 (Jessie)

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)

Comment installer Nginx avec PHP + MySQL (LEMP) sur Debian 9

Configurer les hôtes virtuels Apache sur Debian 9 / Ubuntu 16.04 / LinuxMint 18

Installer Zabbix sur Debian 11 Bullseye avec MySQL/MariaDB &Apache

Comment installer Drupal 5.6 sur Debian Etch avec ISPConfig