HTTP Apache

Cara Mengkonfigurasi Apache VirtualHost di Ubuntu 18.04 LTS

Cara Mengkonfigurasi Apache VirtualHost di Ubuntu 18.04 LTS
Apache VirtualHost digunakan untuk menjalankan beberapa laman web di pelayan Apache yang sama. Ini adalah ciri hebat pelayan web Apache 2 untuk penyebaran laman web berkepadatan tinggi dalam satu pelayan. Apache mempunyai dua jenis konfigurasi VirtualHost, VirtualHost berasaskan IP dan VirtualHost berasaskan nama.VirtualHost Berasaskan IP: Dalam VirtualHost berasaskan IP, pelayan Apache mempunyai banyak alamat IP dan ia bertindak balas dengan laman web yang berbeza berdasarkan alamat IP.

Rajah 1: VirtualHost berasaskan IP Apache.

VirtualHost Berasaskan Nama: Dalam VirtualHost berdasarkan nama, pelayan Apache mempunyai satu alamat IP dan beberapa nama domain dikonfigurasi untuk setiap laman web. Dalam pelayan DNS, setiap nama domain ini diberikan alamat IP pelayan Apache. Bergantung pada nama domain apa yang digunakan pelanggan, pelayan mengembalikan laman web yang berbeza.

Gambar 2: VirtualHost berdasarkan nama Apache.

Dalam artikel ini, saya akan menunjukkan kepada anda cara mengkonfigurasi VirtualHost berdasarkan nama Apache. Saya akan menggunakan Ubuntu 18.04 LTS untuk demonstrasi. Tetapi ia harus berfungsi pada pengedaran Linux moden dengan sedikit perubahan. Oleh itu, mari kita mulakan.

Memasang Pelayan Web Apache 2:

Pelayan web Apache 2 boleh didapati di repositori pakej rasmi Ubuntu 18.04 LTS. Oleh itu, anda boleh memasangnya dengan mudah dengan pengurus pakej APT.

Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:

$ sudo apt kemas kini

Sekarang, jalankan arahan berikut untuk memasang pelayan web Apache 2:

$ sudo apt install apache2

Sekarang, tekan y dan kemudian tekan bersambung.

Pelayan web Apache 2 harus dipasang.

Mengkonfigurasi DNS:

Sekarang, anda harus mengkonfigurasi pelayan DNS untuk memetakan nama domain yang ingin anda gunakan untuk VirtualHost ke alamat IP pelayan Apache anda.

Anda dapat mencari alamat IP pelayan Apache anda dengan arahan berikut:

$ ip a | egrep "inet"

Seperti yang anda lihat, alamat IP dalam kes saya adalah 192.168.21.166. Ia akan berbeza bagi anda. Oleh itu, pastikan untuk menggantinya dengan milik anda mulai sekarang.

Sekiranya anda ingin belajar bagaimana mengkonfigurasi Apache VirtualHost secara tempatan, maka anda boleh menggunakan / dll / tuan rumah fail untuk penyelesaian DNS / nama tempatan.

Untuk mengkonfigurasi resolusi DNS tempatan, buka / dll / tuan rumah fail dengan nano seperti berikut:

$ sudo nano / etc / host

Sekarang, tambahkan baris seperti yang ditandai pada tangkapan skrin di bawah ke fail. Kemudian tekan + x diikuti oleh y dan untuk menyimpan fail.

Sekarang, penyelesaian nama tempatan semestinya berfungsi.

Struktur Direktori:

Saya ingin menyimpan semua data laman web Apache VirtualHost saya dalam direktori tertentu / www. Di sini, saya ingin membuat direktori untuk setiap pengguna. Setiap pengguna akan mempunyai sendiri awam_html / dan log / direktori juga.

Contohnya, untuk 3 pengguna bob (contoh1.com), alice (contoh2.com), linda (contoh3.com), struktur direktori adalah seperti berikut:

/ www
- contoh1.com /
- www /
- awam_html /
- indeks.html
- log /
- contoh2.com /
- www /
- awam_html /
- indeks.html
- log /
- contoh3.com /
- www /
- awam_html /
- indeks.html
- log /

Cara mudah untuk melakukannya adalah dengan membuat templat atau kerangka direktori dan meletakkan struktur direktori di sana.  Kemudian buat setiap pengguna menggunakan direktori kerangka ini.

Pertama, salin kandungan direktori kerangka lalai / dll / skel ke direktori lain / etc / skel-www seperti berikut:

$ sudo cp -rv / etc / skel / etc / skel-www

Sekarang, arahkan ke direktori kerangka baru seperti berikut:

$ cd / etc / skel-www

Kemudian buat struktur direktori yang diinginkan di dalam direktori kerangka seperti berikut:

$ sudo mkdir -p www / public_html, log

Anda juga boleh membuat lalai indeks.html fail di awam_html / direktori jika anda mahu.

$ gema "

Ianya berfungsi

"| sudo tee www / public_html / index.html

Sekarang, buat / www direktori dengan arahan berikut:

$ sudo mkdir / www

Membuat Pengguna:

Sekarang, anda boleh membuat pengguna bob untuk www.contoh1.com seperti berikut:

$ sudo useradd --create-home --home-dir / www / example1.com --selamat
/ bin / bash --gid www-data --skel / etc / skel-www bob

Dengan cara yang sama, buat pengguna alice untuk www.contoh2.com seperti berikut:

$ sudo useradd --create-home --home-dir / www / example2.com --shell / bin / bash
--gid www-data --skel / etc / skel-www alice

Sekali lagi, buat linda pengguna untuk www.contoh3.com seperti berikut:

$ sudo useradd --create-home --rumah-dir / www / contoh3.com --shell / bin / bash
--gid www-data --skel / etc / skel-www linda

Di sini, saya menetapkan kumpulan utama setiap pengguna www-data. Secara lalai, pelayan Apache berfungsi sebagai kumpulan ini. Sekiranya saya tidak melakukannya, pelayan Apache tidak akan dapat mengakses fail di awam_html / direktori dan buat fail log di log / direktori.

Mengkonfigurasi Apache VirtualHost:

Sekarang, anda sudah bersedia untuk mengkonfigurasi Apache VirtualHost untuk 3 pengguna bob (www.contoh1.com), alice (www.contoh2.com) dan linda (www.contoh3.com).

Direktori konfigurasi laman Apache lalai di Ubuntu adalah / etc / apache2 / laman web-tersedia.

Sekarang, arahkan ke direktori / etc / apache2 / laman web-tersedia / seperti berikut.

$ cd / etc / apache2 / laman web-tersedia /

Pertama, buat fail konfigurasi baru untuk bob www.contoh1.com.pengesahan seperti berikut:

$ sudo nano www.contoh1.com.pengesahan

Penyunting teks harus dibuka.

Sekarang, taipkan baris berikut.

Contoh Nama Pelayan1.com
PelayanAlias ​​www.contoh1.com
DocumentRoot "/ www / contoh1.com / www / awam_html "

Pilihan -FollowSymLinks + MultiViews + Indeks
AllowOverride semua
Wajib semua diberikan
KesalahanLog "/ www / contoh1.com / www / log / ralat.log "
CustomLog "/ www / contoh1.com / www / log / akses.log "digabungkan

CATATAN: Tukar teks tebal mengikut kehendak anda.

Akhirnya, fail konfigurasi www.contoh.com.pengesahan harus kelihatan seperti berikut. Tekan + x diikuti oleh y dan untuk menyimpan fail konfigurasi.

untuk menyalin fail konfigurasi untuk bob (www.contoh1.com.pengesahan) dan buat perubahan kecil yang diperlukan.

Salin fail konfigurasi bob untuk alice dan linda dengan arahan berikut:

$ sudo cp -v www.contoh1.com.conf www.contoh2.com.pengesahan
$ sudo cp -v www.contoh1.com.conf www.contoh3.com.pengesahan

Sekarang, edit fail konfigurasi alice seperti berikut:

$ sudo nano www.contoh2.com.pengesahan

Sekarang, ubah semua kejadian contoh1 ke contoh2. Kemudian simpan fail.

Lakukan perkara yang sama untuk linda.

$ sudo nano www.contoh3.com.pengesahan

Ubah semua kejadian contoh1 ke contoh3 dan simpan failnya.

Mengaktifkan Konfigurasi VirtualHost:

Sekarang, lumpuhkan konfigurasi laman web lalai Apache seperti berikut:

$ sudo a2dissite 000-default.pengesahan

Sekarang, aktifkan konfigurasi VirtualHost www.contoh1.com.pengesahan, www.contoh2.com.pengesahan, www.contoh3.com.pengesahan seperti berikut:

$ sudo a2ensite www.contoh1.com.conf www.contoh2.com.conf www.contoh3.com.pengesahan

Akhirnya, mulakan semula perkhidmatan Apache seperti berikut:

$ sudo systemctl mulakan semula apache2

Menguji VirtualHosts:

Sekarang, cubalah melayari laman web www.contoh1.com, www.contoh2.com, www.contoh3.com

Seperti yang anda lihat, semua laman web ini berfungsi seperti yang diharapkan.

NOTA: Saya menukar halaman lalai indeks.html untuk setiap laman web sehingga sedikit berbeza untuk setiap laman web untuk tujuan pengujian. Jika tidak, anda tidak akan dapat mengetahui sama ada konfigurasi VirtualHost berfungsi atau tidak.

Jadi, begitulah cara anda mengkonfigurasi Apache VirtualHost berdasarkan nama di Ubuntu 18.04 LTS. Terima kasih kerana membaca artikel ini.

SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...
Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...