Panduan ini menjelaskan bagaimana Anda dapat menggunakan mod_mysql_vhost untuk membuat host virtual sederhana di server web lighttpd di Ubuntu 12.04. Dengan mod_mysql_vhost, lighttpd dapat membaca konfigurasi vhost dari database MySQL. Saat ini, Anda dapat menyimpan domain dan root dokumen di database MySQL yang menghasilkan host virtual yang sangat sederhana. Jika Anda membutuhkan lebih banyak arahan untuk vhosts Anda, Anda harus mengonfigurasinya di bagian global lighttpd.conf, yang berarti mereka akan valid untuk semua vhosts. Oleh karena itu, mod_mysql_vhost sangat ideal jika vhost Anda hanya berbeda dalam domain dan root dokumen.
Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!
1 Catatan Awal
Karena kita harus menjalankan semua langkah dari tutorial ini dengan hak akses root, kita bisa menambahkan semua perintah dalam tutorial ini dengan string sudo, atau kita menjadi root sekarang dengan mengetik
sudo su
2 Menginstal MySQL 5.0
Pertama kita install MySQL 5 seperti ini:
apt-get install mysql-server mysql-client
Anda akan diminta untuk memberikan kata sandi untuk pengguna root MySQL - kata sandi ini berlaku untuk pengguna [dilindungi email] serta [dilindungi email], jadi kami tidak perlu menentukan kata sandi root MySQL secara manual nanti:
Kata sandi baru untuk pengguna "root" MySQL:<-- yourrootsqlpassword
Ulangi kata sandi untuk pengguna "root" MySQL:<-- yourrootsqlpassword
3 Memasang Lighttpd Dan mod_mysql_vhost
Anda dapat menginstal lighttpd (jika belum diinstal) dan mod_mysql_vhost sebagai berikut:
apt-get install lighttpd lighttpd-mod-mysql-vhost
Untuk mengaktifkan mod_mysql_vhost, kita buka /etc/lighttpd/lighttpd.conf dan tambahkan/aktifkan "mod_mysql_vhost", di bait server.modules:
vi /etc/lightpd/lightpd.conf
server.modules =( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_mysql_vhost",# "mod_rewrite",) [...] |
Setelah itu, kita restart lighttpd:
/etc/init.d/lightpd restart
4 Konfigurasi mod_mysql_vhost
Sekarang kita login ke MySQL...
mysql -u root -p
... dan buat database lighttpd:
BUAT DATABASE lighttpd;
Selanjutnya kita membuat pengguna database (yang kita beri nama lighttpd juga) dengan hak SELECT untuk database lighttpd:
GRANT SELECT ON lighttpd.* TO [email protected] DIIDENTIFIKASI OLEH 'secret';
GRANT SELECT ON lighttpd.* TO [email protected] IDENTIFIED BY 'secret';
FLUSH PRIVILEGES;(Ganti rahasia dengan kata sandi pilihan Anda.)
Kemudian kita buat tabel domain di database lighttpd dan tinggalkan MySQL:
GUNAKAN lighttpd;BUAT domain TABEL (
domain varchar(64) bukan kunci utama nol,
docroot varchar(128) bukan nol
);berhenti;Sekarang kita buka /etc/lighttpd/lighttpd.conf dan tambahkan konfigurasi mod_mysql_vhost berikut di akhir file:
vi /etc/lightpd/lightpd.conf
[...]mysql-vhost.db ="lighttpd"mysql-vhost.user ="lighttpd"mysql-vhost.pass ="rahasia "mysql-vhost.sql ="PILIH docroot FROM domains WHERE domain='?';"mysql-vhost.hostname ="localhost"mysql-vhost.port =3306 |
(Ganti rahasia dengan kata sandi yang telah Anda tetapkan sebelumnya untuk pengguna MySQL lighttpd.)
Mulai ulang lighttpd:
/etc/init.d/lightpd restart
Sekarang saatnya mengkonfigurasi host virtual...
5 Mengonfigurasi Host Virtual
Sekarang saya akan mengonfigurasi dua host virtual, satu untuk www.example.com (dengan root dokumen /var/www/www.example.com/web) dan satu untuk www.example.org (dengan root dokumen /var/www /www.example.org/web).
Pertama, kita buat akar dokumen dari kedua situs web (jika belum ada):
mkdir -p /var/www/www.example.com/web
mkdir -p /var/www/www.example.org/web
Kemudian kita login ke MySQL...
mysql -u root -p
GUNAKAN lighttpd;
... dan buat vhosts sebagai berikut:
INSERT INTO domain VALUES ('www.example.com','/var/www/www.example.com/web/');
INSERT INTO domain VALUES ('www.example.org', '/var/www/www.example.org/web/');
Sekarang kita dapat meninggalkan shell MySQL:
berhenti;
Itu saja, vhosts sekarang telah dikonfigurasi dan berfungsi, dan tidak diperlukan restart lighttpd.
Untuk memeriksa apakah vhost berfungsi seperti yang diharapkan, kami membuat file index.html di setiap root dokumen, satu dengan string "www.example.com" di dalamnya, yang lain dengan string "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
dan panggil http://www.example.com dan http://www.example.org di browser. http://www.example.com harus menampilkan www.example.com, dan http://www.example.org harus menampilkan www.example.org.
6 Tautan
- mod_mysql_vhost:http://redmine.lighttpd.net/projects/1/wiki/Docs:ModMySQLVhost
- Lighthttpd:http://www.lighttpd.net/
- Ubuntu:http://www.ubuntu.com/