GNU/Linux >> Linux Esercitazione >  >> Debian

Creazione di semplici host virtuali con mod_mysql_vhost su Lighttpd (Debian Etch)

Questa guida spiega come utilizzare mod_mysql_vhost per creare semplici host virtuali su un server web lighttpd su Debian Etch. Con mod_mysql_vhost, lighttpd può leggere la configurazione di vhost da un database MySQL. Attualmente, puoi archiviare il dominio e la radice del documento nel database MySQL, il che si traduce in host virtuali molto semplici. Se hai bisogno di più direttive per i tuoi vhost, dovresti configurarle nella sezione globale di lighttpd.conf, il che significa che sarebbero valide per tutti i vhost. Pertanto, mod_mysql_vhost è l'ideale se i tuoi vhost differiscono solo nel dominio e nella root del documento.

Non garantisco che questo funzionerà per te!

1 Installazione di MySQL 5.0

Per prima cosa installiamo MySQL 5.0 in questo modo:

apt-get install mysql-server mysql-client

Crea una password per l'utente root di MySQL (sostituisci yourrootsqlpassword con la password che desideri utilizzare):

mysqladmin -u root password yourrootsqlpassword

Quindi verifica con

netstat -tap | grep mysql

su quali indirizzi MySQL è in ascolto. Se l'output è simile a questo:

tcp        0      0 localhost.localdo:mysql *:*                     LISTEN     2713/mysqld

il che significa che MySQL è in ascolto solo su localhost.localdomain, quindi sei al sicuro con la password che hai impostato in precedenza. Ma se l'output è simile a questo:

tcp        0      0 *:mysql *:*                     LISTEN     2713/mysqld

dovresti anche impostare una password MySQL per il tuo nome host (il mio nome host è server1.example.com qui), perché altrimenti chiunque può accedere al tuo database e modificare i dati:

mysqladmin -h server1.example.com -u root password yourrootsqlpassword

2 Installazione di Lighttpd e mod_mysql_vhost

Puoi installare lighttpd (se non è già installato) e mod_mysql_vhost come segue:

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

Per abilitare mod_mysql_vhost, apriamo /etc/lighttpd/lighttpd.conf e aggiungiamo/abilitiamo "mod_mysql_vhost", nella stanza 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"
 )
[...]

Successivamente, riavviamo lighttpd:

/etc/init.d/lighttpd restart

3 Configurazione di mod_mysql_vhost

Ora accediamo a MySQL...

mysql -u root -p

... e crea il database lighttpd:

CREATE DATABASE lighttpd;

Quindi creiamo un utente del database (che chiamiamo anche lighttpd) con privilegi SELECT per il database lighttpd:

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

(Sostituisci segreto con una password a tua scelta.)

Quindi creiamo la tabella dei domini nel database lighttpd e lasciamo MySQL:

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

Ora apriamo /etc/lighttpd/lighttpd.conf e aggiungiamo la seguente configurazione mod_mysql_vhost alla fine del file:

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

(Sostituisci secret con la password che hai precedentemente impostato per l'utente MySQL lighttpd.)

Riavvia lighttpd:

/etc/init.d/lighttpd restart

Ora è il momento di configurare gli host virtuali...

4 Configurazione degli host virtuali

Ora configurerò due host virtuali, uno per www.example.com (con la radice del documento /var/www/www.example.com/web) e uno per www.example.org (con la radice del documento /var/www /www.example.org/web).

Per prima cosa, creiamo le radici dei documenti di entrambi i siti web (se non esistono già):

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

Quindi accediamo a MySQL...

mysql -u root -p
USE lighttpd;

... e crea i vhost come segue:

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

Ora possiamo lasciare la shell MySQL:

quit;

Ecco fatto, i vhost sono ora configurati e funzionanti e non è richiesto il riavvio di lighttpd.

Per verificare se i vhost funzionano come previsto, creiamo un file index.html in ogni root del documento, uno con la stringa "www.example.com" e l'altro con la stringa "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

e chiama http://www.example.com e http://www.example.org in un browser. http://www.example.com dovrebbe mostrare www.example.com e http://www.example.org dovrebbe mostrare 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. Creazione di semplici host virtuali con mod_mysql_vhost su Lighttpd (Ubuntu 12.04)

  2. Creazione di semplici host virtuali con mod_mysql_vhost su Lighttpd (Ubuntu 12.10)

  3. Creazione di semplici host virtuali con mod_mysql_vhost su Lighttpd (Debian Squeeze)

  4. Configurazione della replica Master-Master con MySQL su Debian 8 (Jessie)

  5. Come installare WebDAV con Lighttpd su Debian 8 (Jessie)

Installazione di Lighttpd con PHP5 (PHP-FPM) e supporto MySQL su Debian Wheezy

Installazione di Lighttpd con PHP5 (PHP-FPM) e MySQL su Debian 8 (Jessie)

Come installare Nginx con PHP + MySQL (LEMP) su Debian 9

Configura host virtuali Apache su Debian 9 / Ubuntu 16.04 / LinuxMint 18

Installa Zabbix su Debian 11 Bullseye con MySQL/MariaDB e Apache

Come installare Drupal 5.6 su Debian Etch con ISPConfig