Apache dibahagikan kepada unit yang dapat disesuaikan dan dikonfigurasi secara individu. Bahagian ini dipanggil hos maya.
Host maya membenarkan pentadbir menggunakan satu pelayan untuk mengehos banyak domain menggunakan satu IP. Ini berguna untuk sesiapa sahaja yang ingin menghoskan lebih dari satu laman web di VPS yang sama, tidak pernah menunjukkan bahawa pelayan yang sama juga menghoskan laman web lain. Proses ini dapat diulang tanpa had, bergantung pada beban yang dapat ditangani oleh pelayan anda.
Untuk melalui langkah-langkah ini, anda perlu mempunyai:
- Pengguna bukan root.
- Apache dipasang.
- Siapkan nama domain anda untuk menunjuk ke VPS anda.
Konfigurasi saya akan menjadikan hos maya untuk test1.com
dan test2.com
. Anda harus menggantikannya dengan domain anda sendiri.
Buat direktori
Akar dokumen akan ditetapkan ke direktori individu di bawah /var/www
folder. Buat direktori di sini untuk kedua-dua hos maya, seperti ini:
sudo mkdir /var/www/test1
sudo mkdir /var/www/test2
Kebenaran
Direktori yang anda buat dimiliki oleh pengguna root. Anda harus menukar hak milik untuk pengguna biasa untuk dapat mengubah fail. $USER
adalah pengguna di mana anda sedang log masuk.
sudo chown -R $USER:$USER /var/www/test1
sudo chown -R $USER:$USER /var/www/test2
Anda juga harus mengubah izin ke direktori web umum dan semua fail dan folder di dalamnya.
sudo chmod -R 755 /var/www
Buat halaman untuk setiap hos maya
Buat index.html
halaman untuk setiap laman web.
nano /var/www/test1/index.html
Dalam fail HTML ini, anda boleh meletakkan kandungan sederhana hanya untuk menunjukkan bahawa konfigurasi anda berfungsi. Contohnya, fail saya kelihatan seperti ini.
<html>
<head>
<title>test1</title>
</head>
<body>
<h1>test1.com virtual host !</h1>
</body>
</html>
Simpan dan tutup fail apabila anda selesai.
Sekarang salin fail ini ke laman web kedua.
cp /var/www/test1/index.html /var/www/test2/index.html
Anda kemudian boleh membuka dan mengubahnya.
nano /var/www/test2/index.html
<html>
<head>
<title>test2</title>
</head>
<body>
<h1>test2.com virtual host !</h1>
</body>
</html>
Simpan dan tutup fail ini apabila anda selesai.
Buat fail hos maya
Fail host maya menentukan konfigurasi host maya kami dan menentukan bagaimana pelayan web Apache akan bertindak balas terhadap permintaan domain yang berbeza.
Apache datang dengan fail tuan rumah maya lalai, 000-default.conf
. Salin fail ini dan ubah untuk domain pertama.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test1.conf
sudo nano /etc/apache2/sites-available/test1.conf
Fail akan kelihatan seperti ini (tanpa komen):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
</VirtualHost>
Tukar ServerAdmin
arahan kepada e-mel yang boleh diterima oleh pentadbir laman web. Kemudian, anda perlu menambah tiga arahan:
- ServerName - domain asas untuk hos maya ini.
- ServerAlias - mentakrifkan nama lebih lanjut yang harus sepadan dengan nama asas, seperti www.
- DocumentRoot - lokasi root dokumen untuk domain ini.
Fail host maya harus menyerupai yang berikut.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test1.com
ServerAlias www.test1.com
DocumentRoot /var/www/test1
</VirtualHost>
Simpan dan tutup fail.
Anda boleh melakukan perkara yang sama dengan domain kedua.
sudo cp /etc/apache2/sites-available/test1.conf /etc/apache2/sites-available/test2.conf
sudo nano /etc/apache2/sites-available/test2.conf
Anda sekarang perlu mengubahnya untuk merujuk domain kedua anda.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test2.com
ServerAlias www.test2.com
DocumentRoot /var/www/test2
</VirtualHost>
Simpan dan tutup fail apabila anda selesai.
Dayakan fail hos maya
The a2ensite
alat boleh digunakan untuk membolehkan setiap laman kami seperti ini:
sudo a2ensite test1.conf
sudo a2ensite test2.conf
Apabila anda selesai, anda perlu memulakan semula Apache agar perubahan ini berlaku:
sudo service apache2 restart
Sekiranya anda menerima mesej ini:
*Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set >the 'ServerName' directive globally to suppress this message
... jangan risau, itu tidak mempengaruhi laman web kami.
Langkah terakhir
Setelah anda mengkonfigurasi hos maya anda, anda boleh mengujinya dengan pergi ke domain yang anda konfigurasikan dalam penyemak imbas web anda:
- http://test1.com
- http://test2.com
Sekiranya kedua-dua laman web ini berfungsi, anda telah berjaya mengkonfigurasi dua hos maya di pelayan yang sama.