GNU/Linux >> Belajar Linux >  >> Debian

Membuat Host Virtual Sederhana Dengan mod_mysql_vhost Di Lighttpd (Debian Etch)

Panduan ini menjelaskan bagaimana Anda dapat menggunakan mod_mysql_vhost untuk membuat host virtual sederhana di server web lighttpd di Debian Etch. 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 Menginstal MySQL 5.0

Pertama kita install MySQL 5.0 seperti ini:

apt-get install mysql-server mysql-client

Buat kata sandi untuk root pengguna MySQL (ganti kata sandi rootsql Anda dengan kata sandi yang ingin Anda gunakan):

mysqladmin -u root password yourrootsqlpassword

Kemudian periksa dengan

netstat -ketuk | grep mysql

di mana alamat MySQL mendengarkan. Jika outputnya seperti ini:

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

yang berarti MySQL hanya mendengarkan di localhost.localdomain, maka Anda aman dengan kata sandi yang Anda tetapkan sebelumnya. Tapi jika outputnya seperti ini:

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

Anda harus menetapkan kata sandi MySQL untuk nama host Anda (nama host saya adalah server1.example.com di sini), juga, karena jika tidak, siapa pun dapat mengakses database Anda dan mengubah data:

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

2 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_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" ) [...]

Setelah itu, kita restart lighttpd:

/etc/init.d/lightpd restart

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

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

  • mod_mysql_vhost:http://trac.lighttpd.net/trac/wiki/Docs#Optionsformod_mysql_vhost-Mysqlvirtualhostingmodule
  • Lighthttpd:http://www.lighttpd.net
  • Debian:http://www.debian.org

Debian
  1. Membuat Host Virtual Sederhana Dengan mod_mysql_vhost Di Lighttpd (Ubuntu 12.04)

  2. Menyiapkan Replikasi Master-Master dengan MySQL di Debian 8 (Jessie)

  3. Cara menginstal WebDAV dengan Lighttpd di Debian 8 (Jessie)

  1. Cara Mengatur Apache Virtual Host di Debian 9

  2. Membuat Host Virtual Sederhana Dengan mod_mysql_vhost Di Lighttpd (Ubuntu 12.10)

  3. Membuat Host Virtual Sederhana Dengan mod_mysql_vhost Di Lighttpd (Debian Squeeze)

  1. Cara Mengatur Apache Virtual Host di Debian 10

  2. Memantau Banyak Sistem Dengan munin (Debian Etch)

  3. Menginstal Lighttpd Dengan PHP5 Dan Dukungan MySQL Pada Debian Etch