Apache HTTP

Cara Mengkonfigurasi Apache VirtualHost di Ubuntu 18.04 LTS

Cara Mengkonfigurasi Apache VirtualHost di Ubuntu 18.04 LTS
Apache VirtualHost digunakan untuk menjalankan beberapa situs web di server Apache yang sama. Ini adalah fitur luar biasa dari server web Apache 2 untuk penyebaran situs web dengan kepadatan tinggi dalam satu server. Apache memiliki dua jenis konfigurasi VirtualHost, VirtualHost berbasis IP dan VirtualHost berbasis nama.VirtualHost Berbasis IP: Di VirtualHost berbasis IP, server Apache memiliki beberapa alamat IP dan merespons dengan situs web yang berbeda berdasarkan alamat IP.

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 untuk melanjutkan.

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 + x diikuti oleh kamu dan untuk menyimpan file.

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.com
ServerAlias ​​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 + x diikuti oleh y dan untuk menyimpan file konfigurasi.

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.

Cara Mengubah Pengaturan Mouse dan Touchpad Menggunakan Xinput di Linux
Sebagian besar distribusi Linux dikirimkan dengan pustaka "libinput" secara default untuk menangani kejadian input pada sistem. Ini dapat memproses ke...
Petakan ulang tombol mouse Anda secara berbeda untuk perangkat lunak yang berbeda dengan Kontrol Tombol X-Mouse
Mungkin Anda membutuhkan alat yang dapat membuat kontrol mouse Anda berubah dengan setiap aplikasi yang Anda gunakan. Jika demikian, Anda dapat mencob...
Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...