Apache Virtual Hosts, bagaimana kita bisa mengkonfigurasinya di Ubuntu 20.04

tentang Apache host Virtual

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:

buat struktur direktori

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:

kode rumah domain1

 
<!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

kode rumah domain2

<!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:

host virtual untuk domain1

<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:

a2ensite domain1

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:

sintaks ok

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:

rumah domino1

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.

host virtual browser apache

Yang terungkap dalam artikel ini hanyalah penjelasan dasar tentang Virtual Host dan konfigurasinya di Ubuntu. Bisa dapatkan informasi lebih lanjut di Situs web Apache.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Carlos dijo

    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