Gambar 1: VirtualHost berbasis Apache IP.
VirtualHost Berbasis Nama: Dalam VirtualHost berbasis nama, server Apache memiliki satu alamat IP dan beberapa nama domain yang dikonfigurasi untuk setiap situs web. Di server DNS, masing-masing nama domain ini diberi alamat IP server Apache Apache. Bergantung pada nama domain yang digunakan klien, server mengembalikan situs web yang berbeda different.
Gambar 2: VirtualHost berbasis nama Apache.
Pada artikel ini, saya akan menunjukkan cara mengkonfigurasi VirtualHost berbasis nama Apache. Saya akan menggunakan Ubuntu 18.04 LTS untuk demonstrasi. Tetapi itu harus bekerja pada distribusi Linux modern apa pun dengan sedikit atau tanpa perubahan. Jadi, mari kita mulai.
Menginstal Server Web Apache 2:
Server web Apache 2 tersedia di repositori paket resmi Ubuntu 18.04 LTS. Jadi, Anda dapat dengan mudah menginstalnya dengan manajer paket APT.
Pertama, perbarui cache repositori paket APT dengan perintah berikut:
$ sudo apt update
Sekarang, jalankan perintah berikut untuk menginstal server web Apache 2:
$ sudo apt install apache2
Sekarang, tekan kamu lalu tekan
Server web Apache 2 harus diinstal.
Konfigurasi DNS:
Sekarang, Anda harus mengkonfigurasi server DNS untuk memetakan nama domain yang ingin Anda gunakan untuk VirtualHost ke alamat IP server Apache Anda.
Anda dapat menemukan alamat IP server Apache Anda dengan perintah berikut:
$ ip a | egrep "inet"Seperti yang Anda lihat, alamat IP dalam kasus saya adalah 192.168.21.166. Ini akan berbeda untukmu. Jadi, pastikan untuk menggantinya dengan milikmu mulai sekarang.
Jika Anda ingin mempelajari cara mengkonfigurasi Apache VirtualHost secara lokal, maka Anda dapat menggunakan /etc/hosts file untuk DNS lokal/resolusi nama.
Untuk mengonfigurasi resolusi DNS lokal, buka /etc/hosts mengajukan dengan nano sebagai berikut:
$ sudo nano /etc/hosts
Sekarang, tambahkan baris seperti yang ditandai pada tangkapan layar di bawah ke file. Lalu tekan
Sekarang, resolusi nama lokal akan berfungsi.
Struktur Direktori:
Saya ingin menyimpan semua data situs web Apache VirtualHost saya di direktori tertentu /www. Di sini, saya ingin membuat direktori untuk setiap pengguna. Setiap pengguna akan memiliki miliknya sendiri public_html/ dan log/ direktori juga.
Misalnya, untuk 3 pengguna bob (contoh1.com), alice (contoh2.com), linda (contoh3.com), struktur direktori adalah sebagai berikut:
/www- Contoh 1.com/
- www/
- public_html/
- indeks.html
- log/
- contoh2.com/
- www/
- public_html/
- indeks.html
- log/
- contoh3.com/
- www/
- public_html/
- indeks.html
- log/
Cara mudah untuk melakukannya adalah dengan membuat direktori template atau kerangka dan meletakkan struktur direktori di sana. Kemudian buat setiap pengguna menggunakan direktori kerangka ini.
Pertama, salin isi direktori kerangka default /etc/skel ke direktori lain /etc/skel-www sebagai berikut:
$ sudo cp -rv /etc/skel /etc/skel-www
Sekarang, navigasikan ke direktori kerangka baru sebagai berikut:
$ cd /etc/skel-www
Kemudian buat struktur direktori yang diinginkan di dalam direktori kerangka sebagai berikut:
$ sudo mkdir -p www/public_html,logs
Anda juga dapat membuat default indeks.html file di public_html/ direktori jika Anda mau.
$echo"Berhasil
" | sudo tee www/public_html/index.html
Sekarang, buat /www direktori dengan perintah berikut:
$ sudo mkdir /www
Membuat Pengguna:
Sekarang, Anda dapat membuat pengguna bob untuk www.Contoh 1.com sebagai berikut:
$ sudo useradd --create-home --home-dir /www/example1.com --shell/bin/bash --gid www-data --skel /etc/skel-www bob
Dengan cara yang sama, buat pengguna alice untuk www.contoh2.com sebagai berikut:
$ sudo useradd --create-home --home-dir /www/example2.com --shell /bin/bash--gid www-data --skel /etc/skel-www alice
Sekali lagi, buat pengguna linda untuk www.contoh3.com sebagai berikut:
$ sudo useradd --create-home --home-dir /www/example3.com --shell /bin/bash--gid www-data --skel /etc/skel-www linda
Di sini, saya menetapkan grup utama dari setiap pengguna untuk user www-data. Secara default, server Apache berjalan sebagai grup ini. Jika saya tidak melakukannya, server Apache tidak akan dapat mengakses file di public_html/ direktori dan buat file log di log/ direktori.
Konfigurasi Apache VirtualHost:
Sekarang, Anda siap untuk mengkonfigurasi Apache VirtualHost untuk 3 pengguna bob (www.Contoh 1.com), alice (www.contoh2.com) dan linda (www.contoh3.com).
Direktori konfigurasi situs Apache default di Ubuntu adalah /etc/Apache2/sites-available.
Sekarang, navigasikan ke direktori /etc/Apache2/sites-available/ sebagai berikut.
$ cd /etc/apache2/sites-available/
Pertama, buat file konfigurasi baru untuk bob www.Contoh 1.com.konf sebagai berikut:
$ sudo nano www.Contoh 1.com.konf
Editor teks harus dibuka.
Sekarang, ketik baris berikut following.
Contoh Nama Server1.comServerAlias www.Contoh 1.com
DocumentRoot "/www/example1.com/www/public_html"
Opsi -FollowSymLinks +MultiViews +Indeks
IzinkanGanti semua
Membutuhkan semua diberikan
ErrorLog "/www/example1.com/www/logs/error.catatan"
CustomLog "/www/example1.com/www/logs/access.log" digabungkan
CATATAN: Ubah teks tebal sesuai dengan kebutuhan Anda.
Akhirnya, file konfigurasi www.contoh.com.konf harus terlihat sebagai berikut. tekan
untuk hanya menyalin file konfigurasi untuk bob (www.Contoh 1.com.konf) dan buat sedikit perubahan yang diperlukan.
Salin file konfigurasi dari bob untuk alice dan linda dengan perintah berikut:
$ sudo cp -v www.Contoh 1.com.konf www.contoh2.com.konf$ sudo cp -v www.Contoh 1.com.konf www.contoh3.com.konf
Sekarang, edit file konfigurasi dari alice sebagai berikut:
$ sudo nano www.contoh2.com.konf
Sekarang, ubah semua kemunculan Contoh 1 untuk contoh2. Kemudian simpan file.
Lakukan hal yang sama untuk linda.
$ sudo nano www.contoh3.com.konf
Ubah semua kemunculan Contoh 1 untuk contoh3 dan simpan filenya.
Mengaktifkan Konfigurasi VirtualHost:
Sekarang, nonaktifkan konfigurasi situs web default Apache sebagai berikut:
$ sudo a2dissite 000-default.konf
Sekarang, aktifkan konfigurasi VirtualHost www.Contoh 1.com.konf, www.contoh2.com.konf, www.contoh3.com.konf sebagai berikut:
$ sudo a2ensite www.Contoh 1.com.konf www.contoh2.com.konf www.contoh3.com.konf
Terakhir, restart layanan Apache sebagai berikut:
$ sudo systemctl restart apache2
Menguji VirtualHost:
Sekarang, coba akses situs web www.Contoh 1.com, www.contoh2.com, www.contoh3.com
Seperti yang Anda lihat, semua situs web ini berfungsi seperti yang diharapkan.
CATATAN: Saya mengubah halaman default indeks.html untuk setiap situs sehingga sedikit berbeda untuk setiap situs web untuk tujuan pengujian. Jika tidak, Anda tidak akan dapat mengetahui apakah konfigurasi VirtualHost berfungsi atau tidak.
Jadi, begitulah cara Anda mengkonfigurasi Apache VirtualHost berbasis nama di Ubuntu 18 on.04 LTS. Terima kasih telah membaca artikel ini.