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/ | |||
├── domain.id | |||
│ └── public_html | |||
├── domain.my.id | |||
│ └── 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 | |||
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 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> | |||
<html lang="en" dir="ltr"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<title>Welcome to domain.my.id</title> | |||
</head> | |||
<body> | |||
<h1>Success! example.com home page!</h1> | |||
</body> | |||
</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 | |||
</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 | |||
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> | |||
ServerName example.com | |||
ServerAlias www.example.com | |||
ServerAdmin [/cdn-cgi/l/email-protection [email protected]] | |||
DocumentRoot /var/www/example.com/public_html | |||
<Directory /var/www/example.com/public_html> | |||
Options -Indexes +FollowSymLinks | |||
AllowOverride All | |||
</Directory> | |||
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log | |||
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined | |||
</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 | |||
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 | |||
</syntaxhighlight> | |||
==Terkait== | ==Terkait== | ||
*[[Apache]] | *[[Apache]] | ||