Mengenal Virtualhost di LAMP Server

Sobat server, jika sobat mengelola satu atau bahkan puluhan situs di server LAMP (Linux® Apache® MySQL® PHP®) baru, penggunaan virtual host (vhost) adalah cara yang efisien untuk memanage situs-situs tersebut. Vhost memungkinkan sobat mengkonfigurasi beberapa situs di satu server dengan mudah dan teratur, sehingga setiap situs memiliki konfigurasi dan direktori rootnya sendiri.

Pada artikel ini, kita akan membahas secara mendalam bagaimana cara mengonfigurasi vhost di server LAMP, termasuk cara mengelola beberapa situs sekaligus, serta cara melakukan pengujian dan restart Apache setelah perubahan konfigurasi.

Memahami Direktori Vhost di Server LAMP

Ketika sobat server sudah mengkonfigurasi server LAMP, server tersebut biasanya akan menyajikan konten secara langsung dari direktori standar /var/www/html. Di dalam direktori tersebut, sobat akan menemukan file index.html, yang merupakan halaman uji standar Apache. Jika sobat ingin menyajikan konten situs baru, sobat dapat mengganti file ini dengan file situs milik sobat sendiri.

Namun, jika sobat berencana meng-host lebih dari satu situs di server yang sama, disarankan menggunakan vhost. Struktur direktori server LAMP untuk mendukung beberapa situs biasanya terlihat seperti ini:

/var/www
├── html
│   └── index.html
└── vhosts

Dengan menggunakan vhost, sobat dapat menyimpan setiap situs di dalam sub-direktori vhosts. Setiap situs memiliki direktori rootnya sendiri, dan sobat bisa mengonfigurasi Apache untuk mengarahkan lalu lintas ke direktori yang sesuai.

Cara Mengkonfigurasi Vhost di Ubuntu

Sebagai pengguna Ubuntu, konfigurasi vhost diatur menggunakan file konfigurasi terpisah untuk setiap situs. File-file ini disimpan di direktori /etc/apache2/sites-available, dan sobat harus mengaktifkan file konfigurasi tersebut agar situs dapat dilayani oleh Apache.

Berikut adalah langkah-langkah untuk mengkonfigurasi vhost di server LAMP sobat:

  1. Masuk ke Direktori sites-available Langkah pertama adalah menavigasi ke direktori di mana file konfigurasi vhost disimpan. Sobat bisa menggunakan perintah berikut:
   root@jagoserver:~# cd /etc/apache2/sites-available
  1. Membuat File Konfigurasi Vhost Baru Setelah masuk ke direktori sites-available, sobat perlu membuat file konfigurasi untuk setiap situs yang ingin di-host. Sobat bisa memodifikasi template vhost default yang sudah ada. Untuk melakukannya, gunakan perintah sed untuk mengganti nama example.com dengan nama domain atau situs yang sobat inginkan, seperti ini:
   root@jagoserver:/etc/apache2/sites-available# sed -e 's/example.com/yoursitename.com/' default.template > yoursitename.com.conf

Dalam perintah ini, template default diubah dengan nama situs sobat, misalnya yoursitename.com.

  1. Verifikasi File Konfigurasi Setelah file vhost baru dibuat, sobat bisa memverifikasi apakah file tersebut sudah ditulis dengan benar menggunakan perintah berikut:
   root@jagoserver:/etc/apache2/sites-available# cat yoursitename.com.conf

Perintah ini akan menampilkan isi file konfigurasi vhost yang baru dibuat.

  1. Aktifkan Situs dengan a2ensite Setelah file konfigurasi dibuat, sobat perlu mengaktifkan situs tersebut agar dapat dilayani oleh Apache. Sobat bisa menggunakan perintah a2ensite untuk melakukan ini:
   root@jagoserver:/etc/apache2/sites-available# a2ensite yoursitename.com.conf

Perintah ini akan membuat symlink ke file konfigurasi situs sobat di direktori sites-enabled, yang berarti Apache siap melayani situs tersebut.

  1. Buat Direktori untuk Situs Sobat Langkah selanjutnya adalah membuat direktori untuk menyimpan file situs sobat. Gunakan perintah berikut untuk membuat direktori:
   root@jagoserver:/etc/apache2/sites-available# mkdir -p /var/www/vhosts/yoursitename.com

Direktori ini akan menjadi document root atau tempat di mana file situs sobat disimpan.

  1. Ulangi Langkah untuk Situs Tambahan Jika sobat memiliki beberapa situs yang ingin di-host di server yang sama, ulangi langkah-langkah di atas untuk setiap situs. Setiap situs membutuhkan file konfigurasi dan direktori root tersendiri.

Pengujian Konfigurasi Vhost

Setelah sobat selesai mengonfigurasi vhost, penting untuk melakukan pengujian untuk memastikan bahwa semua sudah diatur dengan benar. Apache menyediakan alat bawaan untuk menguji konfigurasi. Gunakan perintah berikut untuk memeriksa apakah ada kesalahan dalam konfigurasi:

root@jagoserver:/etc/apache2/sites-available# apache2ctl configtest

Jika konfigurasi sobat benar, sobat akan mendapatkan pesan Syntax OK. Ini menandakan bahwa Apache siap untuk memulai kembali dan melayani situs-situs yang sudah sobat konfigurasikan.

Restart Apache

Setelah memastikan bahwa konfigurasi vhost tidak memiliki kesalahan, sobat perlu merestart Apache agar perubahan diterapkan. Gunakan perintah berikut untuk merestart Apache:

root@jagoserver:/etc/apache2/sites-available# apache2ctl restart

Setelah Apache direstart, situs yang sudah dikonfigurasi melalui vhost akan mulai dilayani oleh server.

Contoh Konfigurasi Vhost untuk Banyak Situs

Sebagai contoh, misalkan sobat server memiliki tiga situs pelanggan yang harus di-host di server. Salah satu situs tersebut adalah situs versi seluler. Sobat bisa menggunakan urutan perintah berikut untuk mengonfigurasi vhost untuk ketiga pelanggan tersebut:

  1. Masuk ke Direktori sites-available:
   root@jagoserver:/etc/apache2/sites-available# cd /etc/apache2/sites-available
  1. Buat Konfigurasi Vhost untuk Setiap Situs:
   root@jagoserver:/etc/apache2/sites-available# sed -e 's/example.com/site1.com/' default.template > site1.com.conf
   root@jagoserver:/etc/apache2/sites-available# sed -e 's/example.com/site2.com/' default.template > site2.com.conf
   root@jagoserver:/etc/apache2/sites-available# sed -e 's/example.com/site3.com/' default.template > site3.com.conf
   root@jagoserver:/etc/apache2/sites-available# sed -e 's/example.com/mobile.site3.com/' default.template > mobile.site3.com.conf
  1. Aktifkan Semua Situs dengan a2ensite:
   root@jagoserver:/etc/apache2/sites-available# a2ensite site1.com.conf site2.com.conf site3.com.conf mobile.site3.com.conf
  1. Buat Direktori untuk Setiap Situs:
   root@jagoserver:/etc/apache2/sites-available# mkdir -p /var/www/vhosts/site1.com /var/www/vhosts/site2.com /var/www/vhosts/site3.com /var/www/vhosts/mobile.site3.com
  1. Uji Konfigurasi:
   root@jagoserver:/etc/apache2/sites-available# apache2ctl configtest
  1. Restart Apache:
   root@jagoserver:/etc/apache2/sites-available# apache2ctl restart

Dengan konfigurasi ini, struktur direktori server akan terlihat seperti ini:

/var/www/
├── html
│   └── index.html
└── vhosts
    ├── mobile.site3.com
    ├── site1.com
    ├── site2.com
    ├── site3.com

Setiap direktori di bawah /var/www/vhosts/ adalah document root untuk situs yang sesuai. Apache akan menggunakan konfigurasi vhost untuk menentukan ke mana permintaan HTTP dialihkan berdasarkan domain yang diminta oleh klien.

Kesimpulan

Sobat server, konfigurasi vhost di server LAMP memungkinkan sobat untuk mengelola beberapa situs di satu server dengan lebih mudah dan efisien. Dengan memisahkan setiap situs ke dalam file konfigurasi dan direktori tersendiri, sobat dapat memastikan bahwa setiap situs memiliki pengaturan yang tepat tanpa campur aduk. Pastikan untuk selalu menguji konfigurasi sebelum merestart Apache untuk menghindari masalah saat situs dilayani. Dengan sedikit ketelatenan dan pengaturan yang baik, sobat bisa meng-host banyak situs tanpa masalah di satu server LAMP.

Jangan lupa juga untuk secara rutin memeriksa dan memperbarui konfigurasi jika ada perubahan pada situs atau kebutuhan pelanggan. Semoga panduan ini bermanfaat dan selamat mengelola server sobat!

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top