Apache:Virtual Host: Difference between revisions

No edit summary
Line 5: Line 5:
Saat Anda menjalankan beberapa situs web pada satu host, setiap situs web akan memiliki root dokumennya sendiri. Akar dokumen adalah direktori tempat file situs web untuk domain disimpan dan disajikan sebagai tanggapan atas permintaan.
Saat Anda menjalankan beberapa situs web pada satu host, setiap situs web akan memiliki root dokumennya sendiri. Akar dokumen adalah direktori tempat file situs web untuk domain disimpan dan disajikan sebagai tanggapan atas permintaan.


Di bawah ini adalah contoh struktur direktori untuk beberapa situs web dengan konten dan domain yang unik.
Di bawah ini adalah contoh struktur direktori untuk beberapa situs web dengan konten dan domain yang unik.<syntaxhighlight lang="shell">
/var/www/
/var/www/
├── domain.id
├── domain.id
│  └── public_html
│  └── public_html
├── domain.my.id
├── domain.my.id
│  └── public_html
│  └── public_html
Seperti yang Anda lihat di atas, setiap domain akan memiliki foldernya sendiri dengan root dokumen yang disertakan.
</syntaxhighlight>Seperti yang Anda lihat di atas, setiap domain akan memiliki foldernya sendiri dengan root dokumen yang disertakan.


'''Contoh''': <code>/var/www/domain/public_html</code>
'''Contoh''': <code>/var/www/domain/public_html</code>


Jalankan perintah di bawah ini untuk membuat direktori untuk domain <code>domain.my.id</code> dengan root dokumennya.
Jalankan perintah di bawah ini untuk membuat direktori untuk domain <code>domain.my.id</code> dengan root dokumennya.<syntaxhighlight lang="shell">
sudo mkdir -p /var/www/domain.my.id/public_html
sudo mkdir -p /var/www/domain.my.id/public_html
Setiap root dokumen akan membutuhkan file <code>index.html</code> yang akan ditampilkan ke klien. Jalankan perintah di bawah ini untuk membuat file <code>index.html</code> untuk domain <code>domain.my.id</code>.
</syntaxhighlight>Setiap root dokumen akan membutuhkan file <code>index.html</code> yang akan ditampilkan ke klien. Jalankan perintah di bawah ini untuk membuat file <code>index.html</code> untuk domain <code>domain.my.id</code>.<syntaxhighlight lang="shell">
sudo nano /var/www/domain.my.id/public_html/index.html
sudo vim /var/www/domain.my.id/public_html/index.html
Kemudian salin dan tempel konten di bawah ini ke dalam file dan simpan. Di bawah ini hanyalah file HTML dasar untuk tujuan pengujian.
</syntaxhighlight>Kemudian salin dan tempel konten di bawah ini ke dalam file dan simpan. Di bawah ini hanyalah file HTML dasar untuk tujuan pengujian.<syntaxhighlight lang="html">
  <!DOCTYPE html>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<html lang="en" dir="ltr">
  <head>
  <head>
    <meta charset="utf-8">
    <meta charset="utf-8">
    <title>Welcome to domain.my.id</title>
    <title>Welcome to domain.my.id</title>
  </head>
  </head>
  <body>
  <body>
    <nowiki><h1>Success! example.com home page!</h1></nowiki>
    <h1>Success! example.com home page!</h1>
  </body>
  </body>
</html>
</html>
Setelah Anda menyimpan file, siap mengonfigurasi [[Apache]] Virtual Host untuk mereferensikan konten ini. Untuk menghindari masalah izin apa pun, ubah kepemilikan direktori root dokumen domain dan semua file di dalam direktori menjadi pengguna apache (<code>www-data</code>):
</syntaxhighlight>Setelah Anda menyimpan file, siap mengonfigurasi [[Apache]] Virtual Host untuk mereferensikan konten ini. Untuk menghindari masalah izin apa pun, ubah kepemilikan direktori root dokumen domain dan semua file di dalam direktori menjadi pengguna apache (<code>www-data</code>):<syntaxhighlight lang="shell">
sudo chown -R www-data: /var/www/example.com
sudo chown -R www-data: /var/www/example.com
</syntaxhighlight>
 
==Cara Membuat File Apache Virtual Host di Ubuntu==
==Cara Membuat File Apache Virtual Host di Ubuntu==
Sekarang setelah Anda membuat konten domain di direktori di atas, buka dan konfigurasikan file konfigurasi Apache Virtual Host untuk konten domain di atas.
Sekarang setelah Anda membuat konten domain di direktori di atas, buka dan konfigurasikan file konfigurasi Apache Virtual Host untuk konten domain di atas.
Line 37: Line 39:
Di [[Ubuntu]], file konfigurasi Apache Virtual Hosts terletak di direktori <code>/etc/Apache2/sites-available</code>.
Di [[Ubuntu]], file konfigurasi Apache Virtual Hosts terletak di direktori <code>/etc/Apache2/sites-available</code>.


Untuk membuat file host virtual di direktori situs yang tersedia untuk konten di atas, jalankan perintah di bawah ini untuk membuat file konfigurasi Virtual Host spesifik situs
Untuk membuat file host virtual di direktori situs yang tersedia untuk konten di atas, jalankan perintah di bawah ini untuk membuat file konfigurasi Virtual Host spesifik situs<syntaxhighlight lang="shell">
sudo nano /etc/apache2/sites-available/domain.my.id.conf
sudo nano /etc/apache2/sites-available/domain.my.id.conf
Contoh konfigurasi yang harus bekerja dengan sebagian besar lingkungan ditunjukkan di bawah ini. Salin dan tempel konten di bawah ini ke dalam file di atas dan simpan.
</syntaxhighlight>Contoh konfigurasi yang harus bekerja dengan sebagian besar lingkungan ditunjukkan di bawah ini. Salin dan tempel konten di bawah ini ke dalam file di atas dan simpan.<syntaxhighlight lang="apache">
<VirtualHost *:80>
<VirtualHost *:80>
    ServerName example.com
    ServerName example.com
    ServerAlias www.example.com
    ServerAlias www.example.com
    ServerAdmin [/cdn-cgi/l/email-protection <nowiki>[email protected]</nowiki>]
    ServerAdmin [/cdn-cgi/l/email-protection [email protected]]
    DocumentRoot /var/www/example.com/public_html
    DocumentRoot /var/www/example.com/public_html
 
    <Directory /var/www/example.com/public_html>
    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        Options -Indexes +FollowSymLinks
        AllowOverride All
        AllowOverride All
    </Directory>
    </Directory>
 
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
</VirtualHost>
Setelah file disimpan, Anda dapat pergi dan mengaktifkannya untuk menjadi virtual host.
</syntaxhighlight>Setelah file disimpan, Anda dapat pergi dan mengaktifkannya untuk menjadi virtual host.


Untuk mengaktifkan file host virtual baru, Anda menggunakan skrip pembantu <code>a2ensite</code> yang membuat tautan simbolis dari file host virtual ke direktori yang mendukung situs.
Untuk mengaktifkan file host virtual baru, Anda menggunakan skrip pembantu <code>a2ensite</code> yang membuat tautan simbolis dari file host virtual ke direktori yang mendukung situs.


Jalankan perintah di bawah ini untuk mengaktifkan file konfigurasi untuk domain kita.
Jalankan perintah di bawah ini untuk mengaktifkan file konfigurasi untuk domain kita.<syntaxhighlight lang="shell">
sudo a2ensite domain.my.id.conf
sudo a2ensite domain.my.id.conf
Setelah itu, jalankan perintah di bawah ini untuk me-restart layanan Apache.
</syntaxhighlight>Setelah itu, jalankan perintah di bawah ini untuk me-restart layanan Apache.<syntaxhighlight lang="shell">
sudo systemctl restart apache2
sudo systemctl restart apache2
</syntaxhighlight>
 
==Terkait==
==Terkait==
*[[Apache]]
*[[Apache]]