GNU/Linux >> Linux Esercitazione >  >> Ubuntu

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

Questa guida spiega come utilizzare mod_mysql_vhost per creare semplici host virtuali su un server web lighttpd su Ubuntu 12.10. 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 Nota preliminare

Poiché dobbiamo eseguire tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando

sudo su

2 Installazione di MySQL 5

Per prima cosa installiamo MySQL 5 in questo modo:

apt-get install mysql-server mysql-client

Ti verrà chiesto di fornire una password per l'utente root di MySQL:questa password è valida per l'utente [protetto tramite posta elettronica] e [protetto tramite posta elettronica], quindi non è necessario specificare manualmente una password di root MySQL in seguito:

Nuova password per l'utente "root" di MySQL:<-- yourrootsqlpassword
Ripeti la password per l'utente "root" di MySQL:<-- yourrootsqlpassword

3 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_compress",
        "mod_redirect",
        "mod_mysql_vhost",
#       "mod_rewrite",
)
[...]

Successivamente, riavviamo lighttpd:

/etc/init.d/lighttpd restart

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

5 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://redmine.lighttpd.net/projects/1/wiki/Docs:ModMySQLVhost
  • Lighttpd:http://www.lighttpd.net/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Hosting virtuale con Proftpd e MySQL (quota inclusa) su Ubuntu 14.04LTS

  2. Utenti e domini virtuali con Postfix, Courier, MySQL e SquirrelMail (Ubuntu 13.10)

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

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

  5. Come installare Lighttpd con PHP5 e MySQL su Ubuntu 11.04

Hosting virtuale con vsftpd e MySQL su Ubuntu 12.04

Utenti e domini virtuali con Postfix, Courier, MySQL e SquirrelMail (Ubuntu 12.10)

Hosting virtuale con vsftpd e MySQL su Ubuntu 12.10

Hosting virtuale con Proftpd e MySQL (quota inclusa) su Ubuntu 12.10

Installazione di Lighttpd con PHP (modalità PHP-FPM) e MySQL o MariaDB su Ubuntu 15.04

Installazione di Lighttpd con PHP (modalità PHP-FPM) e MySQL o MariaDB su Ubuntu 15.10