Pada artikel selanjutnya kita akan melihat Apache Virtual Hosts. Pertama-tama, perlu dijelaskan itu host virtual adalah arahan konfigurasi Apache yang memungkinkan kita menjalankan lebih dari satu situs web di satu server. Fakta bahwa mereka berjalan di server fisik yang sama tidak jelas bagi pengguna akhir.
Dengan Host Virtual, kami dapat menentukan root situs (direktori yang berisi file situs web), membuat kebijakan keamanan terpisah untuk setiap situs, menggunakan sertifikat SSL yang berbeda, dan banyak lagi.
Pada baris berikut kita akan melihat cara mengkonfigurasi Apache Virtual Host di Ubuntu 20.04, dan untuk ini kita harus memenuhi persyaratan berikut sebelum melanjutkan; satu atau lebih nama domain yang mengarah ke IP server publik Anda dan Apache diinstal di Ubuntu.
Buat struktur direktori
Root dokumen adalah direktori tempat file situs web untuk nama domain disimpan dan disajikan, sebagai tanggapan atas permintaan. Kami dapat membangun akar di lokasi yang menarik minat kami. Setiap domain dihosting di server apache akan menyetel root dokumennya ke / var / www / nama-domain / public_html.
Kita akan mulai dengan membuat direktori root untuk dua domain yang akan saya gunakan dalam contoh ini:
sudo mkdir -p /var/www/dominio1.com/public_html sudo mkdir -p /var/www/dominio2.com/public_html
juga kami akan membuat file index.html dalam direktori root dokumen dari setiap domain. Ini akan ditampilkan ketika kami mengunjungi domain dari browser:
sudo vim /var/www/dominio1.com/public_html/index.html
Di dalam file, kami akan menempelkan konten berikut:
<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8">dominio1</title> </head> <body> <h1>Home del dominio1</h1> </body> </html>
Untuk domain kedua, kami akan mengedit file index.html dan menambahkan konten berikut:
sudo vim /var/www/dominio2.com/public_html/index.html
<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8">dominio2</title> </head> <body> <h1>Home del dominio2</h1> </body> </html>
Karena perintah di atas dijalankan dengan sudo, file dan direktori yang baru dibuat menjadi milik root. Untuk menghindari masalah izin, kita akan mengubah kepemilikan direktori root dari domain dan semua file dalam direktori ini ke pengguna apache (www-data):
sudo chown -R www-data: /var/www/dominio1.com sudo chown -R www-data: /var/www/dominio2.com
Buat Host virtual
Pada sistem Ubuntu, File konfigurasi Host virtual untuk Apache terletak di direktori / etc / apache2 / situs-tersedia. Mereka dapat diaktifkan dengan membuat tautan simbolis ke direktori / etc / apache2 / situs-diaktifkan, yang dibaca Apache saat startup.
Kita dapat menamai file konfigurasi apapun yang kita inginkan. Tapi praktik terbaik adalah menggunakan nama domain sebagai nama file konfigurasi host virtual. Sekarang kita akan membuka editor teks favorit kita dan membuat file konfigurasi dasar. Dalam contoh ini saya hanya akan menunjukkan kode untuk domain1:
sudo vim /etc/apache2/sites-available/dominio1.com.conf
Di dalamnya kita akan menambahkan sesuatu seperti berikut, tapi untuk domain2, kita harus mengubah domain1 menjadi domain2 pada kode berikut:
<VirtualHost *:80> ServerName dominio1.com ServerAlias www.dominio1.com ServerAdmin webmaster@dominio1.com DocumentRoot /var/www/dominio1.com/public_html <Directory /var/www/dominio1.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/dominio1.com-error.log CustomLog ${APACHE_LOG_DIR}/dominio1.com-access.log combined </VirtualHost>
- Nama server → Anda akan menentukan domain yang harus cocok dengan konfigurasi virtual host ini. Timur harus menjadi nama domain.
- ServerAlias → Semua domain atau subdomain lain yang harus cocok dengan host virtual ini, seperti www.
- DocumentRoot → Ini dia akan menunjukkan direktori tempat Apache akan menyajikan file.
- Pilihan → Arahan ini mengontrol fungsi server apa yang tersedia di direktori tertentu.
- Indeks → Hindari daftar direktori.
- FollowSymLinks → Jika opsi ini diaktifkan, Apache akan mengikuti tautan simbolik.
- AllowOverride → Anda akan menentukan apa perintah yang dideklarasikan dalam file .htaccess dapat menggantikan perintah konfigurasi.
- Log Kesalahan, Log Kustom → Di sini Anda akan menentukan lokasi file log.
Setelah file disimpan, untuk mengaktifkan file virtual host baru, kita akan melakukannya buat tautan simbolis dari file host virtual ke direktori yang mendukung situs. Kami akan melakukan ini menggunakan skrip a2ensit.dll:
sudo a2ensite dominio1.com
Opsi lainnya adalah membuat tautan simbolis secara manual seperti yang ditunjukkan berikut ini:
sudo ln -s /etc/apache2/sites-available/dominio1.com.conf /etc/apache2/sites-enabled/
Setelah ini selesai, kita bisa menguji konfigurasi untuk kesalahan sintaks dengan:
sudo apachectl configtest
Jika tidak ada kesalahan, di terminal kita akan melihat hasil seperti berikut:
Kita lanjutkan memulai ulang layanan Apache agar perubahan diterapkan:
sudo systemctl restart apache2
Terakhir, untuk memverifikasi bahwa semuanya berfungsi seperti yang diharapkan, kami akan membuka URL http://dominio1.com di browser dan kita akan melihat konten halaman index.html domain1:
Dengan Virtual Host kita dapat meng-host beberapa domain pada satu server Ubuntu. Kita dapat mengulangi langkah-langkah yang telah dijelaskan di baris sebelumnya untuk membuat host virtual tambahan untuk semua domain kita.
Yang terungkap dalam artikel ini hanyalah penjelasan dasar tentang Virtual Host dan konfigurasinya di Ubuntu. Bisa dapatkan informasi lebih lanjut di Situs web Apache.
Halo, itu sangat membantu saya untuk dapat membuat host virtual, tetapi ketika menjalankan apachectl confitest saya mendapat kesalahan berikut: “AH00558: apache2: Tidak dapat dengan andal menentukan nama domain server yang memenuhi syarat, menggunakan 127.0.1.1. Tetapkan arahan 'ServerName' secara global untuk menyembunyikan pesan ini
Sintaks OK»
Saya tidak tahu apa yang salah