Products & Services Submit a ticket My Tickets
Selamat datang
Masuk  Mendaftar

Cara Konfigurasi Virtual Host di Apache

Apa itu Virtual Host?

Virtual host adalah metode yang memungkinkan satu server web untuk menjalankan beberapa situs web. Misalnya, server web dapat menjalankan situs web pertama dengan alamat domain “www.website1.com” dan situs web kedua dengan alamat domain “www.situs2.com” dengan menggunakan virtual host. 

Virtual host ini sangat bermanfaat untuk Anda yang sedang mengelola banyak website, karena Anda bisa mengelola banyak website di satu server fisik dan juga menghemat biaya karena tidak perlu resource tambahan.

Persiapan Konfigurasi

Sebelum Anda menerapkan cara konfigurasi virtual host di apache, ada beberapa persiapan yang perlu Anda lakukan. Salah satunya adalah menginstal apache. Jika belum melakukannya, Anda bisa menggunakan kode di bawah ini:

sudo apt-get update

sudo apt-get install apache2

Kode di atas dimasukkan melalui terminal di sistem operasi Ubuntu yang Anda gunakan. Setelah selesai, kita bisa mulai untuk mengkonfigurasi virtual host di apache.

Membuat Struktur Direktori dan Setting Permission

Secara default direktori yang digunakan menggunakan /var/www sebagai document root-nya. Hanya saja, direktori tersebut hanya bisa berjalan untuk satu website saja. Jika ingin menggunakan lebih dari satu domain, Anda perlu membuat direktori lain di dalam direktori /var/www.

Langkah 1: Buat masing-masing direktori untuk kedua website di /var/www. Dalam demo ini kami ingin membuat masing-masing direktori untuk www.exabytes1.com dan www.exabytes2.com dan di dalamnya terdapat folder public_html.

Cara membuatnya dengan memasukan kode di bawah ini:

sudo mkdir -p /var/www/exabytes1.com/public_html

sudo mkdir -p /var/www/exabytes2.com/public_html

Bagian yang kami tandai dengan bold, bisa Anda ganti dengan domain yang Anda miliki.

Langkah 2: Karena kami ingin pengguna lain bisa memodifikasi file di direktori tersebut, maka kami perlu mengubah settingan permission dengan cara memasukkan kode di bawah ini di terminal:

sudo chown -R $USER:$USER /var/www/exabytes1.com/public_html

sudo chown -R $USER:$USER /var/www/exabytes2.com/public_html

Dengan begini, pengguna lain bisa mengakses folder public_html yang merupakan subdirektori untuk menyimpan konten website. 

Langkah 3: Selanjutnya, masukkan juga kode di bawah ini di terminal.

sudo chmod -R 755 /var/www

Tujuannya adalah untuk memberikan akses ke direktori web secara umum termasuk semua file dan folder di dalamnya.

Buat Halaman Demo untuk Setiap Virtual Host

Selanjutnya adalah membuat halaman demo untuk setiap virtual host, tujuannya adalah untuk mengetahui apakah proses konfigurasi virtual hostnya berhasil atau tidak.

Langkah 1: Kita akan buat file untuk exabytes1.com di direktori /var/www/exabytes1.com/public_html dengan nama index.html. Buat dengan menggunakan kode html di bawah ini:

<html>

 <head>

<title>File untuk exabytes1.com</title>

</head>

<body>

<h1>Virtual Host Apache – exabytes1.com is working!</h1>

<b>This is exabytes1.com site</b>

</body>

</html>

Langkah 2: Simpan dan keluar.

Langkah 3: Selanjutnya kita juga akan membuat file untuk exabytes2.com di direktori /var/www/exabytes2.com/public_html. Buat dengan menggunakan kode di bawah ini:

<html>

    <head>

<title> File untuk exabytes2.com</title>

    </head>

    <body>

<h1>Virtual Host Apache – exabytes2.com is working!</h1>

        <b>This is exabytes2.com site</b>

    </body>

</html>

Langkah 4: Simpan dan keluar.

Konfigurasi Virtual Host

Setelah halaman demo untuk masing-masing virtual host selesai dibuat, Anda perlu membuat site-available dan sites-enable untuk menyimpan semua file konfigurasi. Caranya, ikuti saja langkah-langkahnya di bawah ini:

Langkah 1: Masukkan kode di bawah ini ke dalam terminal Linux.

$ mkdir -p /etc/httpd/sites-available

$ mkdir -p /etc/httpd/sites-enabled

Langkah 2: Selanjutnya kita akan ubah untuk akses/permissionnya dengan menggunakan kode perintah di bawah ini:

$ chmod 755 /etc/httpd/sites-available/

$ chmod 755 /etc/httpd/sites-enabled/

Langkah 3: Langkah selanjutnya adalah mengkonfigurasi apache, konfigurasi ini untuk memberitahu apache untuk mengecek virtual host yang ada di direktori sites-enableds. Caranya adalah dengan menggunakan kode perintah di bawah ini:

$ nano /etc/httpd/conf/httpd.conf

Langkah 4: Setelah file httpd.conf terbuka, tambahkan script berikut tepat di paling bawahnya.

IncludeOptional sites-enabled/*.conf

Setelah selesai menambahkan kode di atas, jangan lupa untuk menyimpannya dan keluar dari halaman tersebut. 

Langkah 5: Buka file exabytes1.com.conf dengan menggunakan kode di bawah ini:

$ nano /etc/httpd/sites-available/exabytes1.com.conf

Langkah 6: Setelah terbuka, masukkan script di bawah ini:

<VirtualHost *:80>

 ServerName www.exabytes1.com

ServerAlias exabytes1.com

DocumentRoot /var/www/exabytes1.com

ErrorLog /var/www/exabytes1.com/log/error.log

CustomLog /var/www/exabytes1.com/log/requests.log combined

</VirtualHost>

Langkah 7: Simpan dan keluar.

Langkah 8: Selanjutnya buka juga file exabytes2.com.conf dengan menggunakan perintah di bawah ini: 

$ nano /etc/httpd/sites-available/exabytes2.com .conf

Langkah 9: Setelah terbuka, masukkan script di bawah ini:

<VirtualHost *:80>

    ServerName www.exabytes2.com

    ServerAlias  exabytes2.com

    DocumentRoot /var/www/exabytes2.com

    ErrorLog /var/www/exabytes2.com /log/error.log

    CustomLog /var/www/exabytes2.com/log/requests.log combined

</VirtualHost>

Langkah 10: Simpan kode tersebut dan keluar.

Buat Symbolic Link

Setelah langkah-langkah cara konfigurasi virtual host di apache tersebut diterapkan. Saatnya membuat symbolic link dari sites-available ke sites-enabled. Caranya adalah dengan menambahkan kode di bawah ini:

$ ln -s /etc/httpd/sites-available/exabytes1.com.conf /etc/httpd/sites-enabled/

$ ln -s /etc/httpd/sites-available/exabytes2.com.conf /etc/httpd/sites-enabled/

Selanjutnya, restart apache. Tujuannya untuk load perubahan konfigurasi yang sudah Anda lakukan, caranya adalah dengan menggunakan kode perintah berikut:

$ systemctl restart httpd

Buka browser dan akses situs web menggunakan alamat yang telah ditentukan. Jika virtual host telah terkonfigurasi dengan benar, maka situs web akan muncul di browser Anda.

Kesimpulan

Itulah cara konfigurasi virtual host di apache, jika melihat keunggulan yang dimiliki Anda harus menggunakan virtual host, jika Anda ingin menjalankan beberapa situs web di satu server yang sama. 

Misalnya, jika Anda memiliki beberapa situs web yang memiliki alamat IP yang sama dan Anda ingin mengelola semuanya dengan mudah di satu server, maka Anda bisa menggunakan virtual host. Virtual host juga bermanfaat jika Anda ingin menghemat biaya, karena Anda tidak perlu membeli IP unik untuk setiap situs web yang akan Anda jalankan.

Akan tetapi jika Anda memiliki budget yang cukup dan menuntut website Anda selalu dalam performa terbaiknya, saran kami Anda menggunakan web hosting terpisah untuk masing-masing website.

Tujuannya adalah agar tidak terjadi performance issue, jika salah satu situs web yang dijalankan di server yang sama mengalami penurunan performa, maka situs web lain yang dijalankan di server  yang sama juga bisa saja mengalami penurunan performa.

Tenang, sekarang ini sudah banyak layanan hosting Indonesia yang terjangkau. Jadi Anda bisa menggunakan hosting untuk masing-masing website dan Anda bisa lebih fokus ke pengembangan konten di dalamnya.

Selamat mencoba ya!

Apakah jawaban ini bermanfaat? Ya Tidak

Send feedback
Maaf kami tidak bisa membantu. Bantu kami mengembangkan artikel ini dengan umpan balik Anda.