Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Creazione semplice di host virtuale con mod_mysql_vhost su Lighttpd (Debian Etch)

Questa guida spiega come è possibile utilizzare mod_mysql_vhost per creare semplice 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, è possibile memorizzare il dominio e la radice del documento nel database MySQL che si traduce in molto semplice host virtuali. Se avete bisogno di ulteriori direttive per il tuo vhost, devi configurarli nella sezione globale di lighttpd. conf, che significa che sarebbe valide per tutti i vhost. Pertanto, mod_mysql_vhost è l’ideale se il tuo vhost differiscono solo per il dominio e documento radice.

Io non rilasciano alcuna garanzia che questo funziona per voi!

 

1 installazione MySQL 5.0

Prima installiamo MySQL 5.0 come questo:

apt-get install mysql-server mysql-client

Creare una password per l’utente MySQL root (sostituire yourrootsqlpassword con la password che si desidera utilizzare):

mysqladmin -u root password yourrootsqlpassword

Quindi controllare con

netstat -tap | grep mysql

su quali indirizzi MySQL è in ascolto. Se l’output è simile al seguente:

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

che significa che MySQL è in ascolto su localhost. localdomain solo, quindi sei al sicuro con la password impostata prima. Ma se l’output è simile al seguente:

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

è necessario impostare una password di MySQL per il vostro hostname (mio hostname è Server1 qui), troppo, perché altrimenti chiunque può accedere al database e modificare i dati:

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

 

2 installare Lighttpd e mod_mysql_vhost

È possibile installare lighttpd (se non già installato) e mod_mysql_vhost come segue:

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

Per attivare mod_mysql_vhost, apriamo /etc/lighttpd/lighttpd.conf e aggiungere/attiva “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"
 )
[...]

In seguito, si riparte lighttpd:

/etc/init.d/lighttpd restart

 

3 configurazione mod_mysql_vhost

Ora abbiamo il login per MySQL…

mysql -u root -p

… e creare il database lighttpd:

CREATE DATABASE lighttpd;

Successivamente creiamo un utente del database (che chiamiamo lighttpd pure) con privilegi di selezionare per il database di lighttpd :

GRANT SELECT ON lighttpd.* TO lighttpd@localhost IDENTIFIED BY 'secret';
GRANT SELECT ON lighttpd.* TO lighttpd@localhost.localdomain IDENTIFIED BY 'secret';
FLUSH PRIVILEGES;

(Replace secret with a password of your choice.)

Then we create the domains table in the lighttpd database and leave MySQL:

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

Now we open /etc/lighttpd/lighttpd.conf and add the following mod_mysql_vhost configuration at the end of the 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

(Replace secret with the password you’ve previously set for the lighttpd MySQL user.)

Restart lighttpd:

/etc/init.d/lighttpd restart

Now it’s time to configure virtual hosts…

 

4 Configurazione host virtuali

Verrà ora configurata due host virtuali, uno per www.example.com (con il documento radice /var/www/ www/www.example.com/web) e uno per www.example.org (con il documento radice /var/www/ www/www.example.org/web).

Primo, abbiamo creato le radici di documento di entrambi i siti web (se non sono già presenti):

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

Poi abbiamo il login per MySQL…

mysql -u root -p
USE lighttpd;

… e creare il 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 di MySQL:

quit;

Questo è tutto, il vhost configurati e lavoro e nessun riavvio di lighttpd è richiesto.

Per controllare se il vhost funzionino come previsto, creiamo un file index. html in ogni radice del documento, uno con la stringa “www.example.com” in esso, l’altra 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 chiamare a http://www.example.com e http://www.example.org in un browser. http://www.example.com dovrebbe mostrare www.example.comhttp://www.example.org deve visualizzare www.example.org.

 

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp