Categories: VPS

Cara Membuat Virtual Host di Ubuntu & Debian

Untuk mengelola banyak website atau URL di dalam satu server VPS, Anda perlu menggunakan Virtual Host. Pembuatan Virtual Host adalah metode untuk menambahkan banyak domain hanya dengan menggunakan satu IP server.

Pada panduan ini, kami akan memberikan dua cara membuat Virtual Host di Ubuntu dan Debian, yaitu pada web server Apache dan Nginx.

Cara Membuat Virtual Host di Ubuntu & Debian Menggunakan Apache

Sebelum membuat Virtual Host pada Apache, pastikan Anda sudah melakukan instalasi Apache pada server Ubuntu dan Debian. Berikut ini langkah-langkah membuat Virtual Host di Apache. Ikuti panduannya dibawah ini!

Langkah 1: Buat Direktori Baru

Pertama, yang perlu Anda lakukan adalah membuat struktur pada direktori server. Inilah yang akan digunakan untuk menyimpan data situs website.

Lokasi penyimpanan data-data website di Apache, ada di dalam direktori /var/www/html. Lalu di dalam direktori /var/www/html, Anda akan membuat folder public_html untuk menyimpan konten untuk masing-masing domain.

Berikut ini perintah untuk membuat direktori:

# sudo mkdir -p /var/www/html/public_html

Langkah 2: Berikan Akses Permissions

Untuk dapat memodifikasi file di dalam direktori, Anda perlu mengganti akses Permissions yang masih dimiliki oleh user root. Sehingga, user biasa dapat mengubah file di dalam direktori /var/www/html/.

Berikut ini perintah untuk memberi akses Permissions:

sudo chown -R $USER:$USER /var/www/html/public_html

Variabel $USER akan mengambil nilai dari user yang sedang aktif saat tombol ENTER ditekan. Saat ini server yang Anda gunakan dapat menambah atau mengubah konten yang ada didalam direktori /var/www/html.

Langkah 3: Buat Halaman Demo Untuk Virtual Host

Anda perlu membuat halaman demo dari html. Fungsi dari halaman ini adalah untuk keperluan demo website yang kita tambahkan pada Virtual Host.

Untuk membuat halaman demo, buka direktori public_html menggunakan perintah berikut.

# cd /var/www/html/public_html

Buat file di dalam direktori public_html. Dalam panduan ini, kami menggunakan nama file index.html. Masukkan perintah berikut untuk membuat file index.html:

# touch index.html

Lalu buka file index.html menggunakan perintah berikut.

# nano index.html

Kemudian, salin kode HTML di bawah ini ke dalam file index.html. Lalu simpan menggunakan perintah Ctrl+X >> Y >> ENTER.

<!DOCTYPE html>
<html>
  <body>
 <h1>Selamat!!!</h1>
 <p>Pengaturan Virtual Host Berhasil.</p>
  </body>
</html>

Langkah 4: Buat File Virtual Host Baru

Selanjutnya adalah proses pembuatan Virtual Host baru di dalam web server Apache. Apache memiliki Virtual Host default bernama 000-default.conf. Virtual host ini dapat digunakan sebagai contoh settingan default. Anda bisa menyalin isinya untuk membuat file Virtual Host baru untuk tiap domain Anda.

Pada panduan ini menggunakan nama Virtual Host website-1.conf. Setiap file Virtual Host harus berakhiran dengan .conf.

Salin isi file 000-default.conf ke dalam file website-1.conf menggunakan perintah berikut.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/website-1.conf

Lalu buka file website-1.conf menggunakan perintah berikut.

nano /etc/apache2/sites-available/website-1.conf

Maka isi dari file website-1.conf kurang lebih seperti pada gambar di bawah ini.

Pada file website-1.conf, Anda dapat mengatur dan menambah beberapa kode baru agar sesuai dengan kebutuhan domain Anda. File website-1.conf akan membaca semua request di port 80 (port default HTTP).

Untuk langkah selanjutnya, Anda bisa menghapus beberapa text yang ada di dalam file website-1.conf yang memiliki tanda # di setiap awal text. Tanda # digunakan untuk memberikan informasi mengenai penggunaan file Virtual Host.

Kemudian, Anda perlu mengubah ServerAdmin default menjadi email yang dipakai oleh administrator (email Anda). Pada panduan ini menggunakan contoh email admin@website-1.com.

ServerAdmin admin@website-1.com

Setelah itu Anda perlu menambahkan dua kode, yang bernama ServerName dan ServerAlias.

Server name fungsinya untuk memberikan informasi domain apa yang akan menggunakan Virtual Host ini. ServerAlias fungsinya untuk menentukan alamat lain yang ingin menggunakan Virtual Host ini contoh www.

ServerName DomainAnda.comServerAlias www.DomainAnda.com

Terakhir, Anda perlu mengatur DocumentRoot Virtual Host agar bekerja di dalam direktori public_html yang telah dibuat.

DocumentRoot /var/www/html/public_html

Berikut ini hasil akhir dari isi file website-1.conf. Anda bisa menyalin file di bawah ini ke dalam file .conf Anda.

<VirtualHost *:80>
    ServerAdmin admin@website-1.com
    ServerName DomainAnda.com
    ServerAlias www.DomainAnda.com
    DocumentRoot /var/www/html/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Salin kode di atas ke dalam file .conf yang telah Anda buat. Lalu simpan menggunakan perintah CTRL+X >> Y >> ENTER.

Langkah 5: Mengaktifkan File Virtual Host yang Baru

Setelah Anda membuat file Virtual Host yang baru, Anda perlu mengaktifkan Virtual Host yang telah Anda buat.

Untuk mengaktifkan file .conf menggunakan perintah a2ensite. Berikut ini perintah lengkapnya.

sudo a2ensite website-1.conf

Lalu, nonaktifkan konfigurasi default Apache yang ada di file 000-default.conf. Gunakan perintah berikut.

sudo a2dissite 000-default.conf

Kemudian untuk menerapkan hasil konfigurasi, Anda perlu me-restart Apache. Berikut perintah untuk me-restart Apache.

sudo systemctl restart apache2

Langkah 6: Cek Hasil

Setelah semua konfigurasi selesai dilakukan, Anda perlu mengecek apakah pembuatan Virtual Host Anda berhasil.

Caranya, Anda dapat mengakses domain yang telah ditambahkan di dalam ServerName Virtual Host. Jika muncul tampilan seperti gambar di bawah ini, otomatis konfigurasi Anda berhasil.

Tampilan website di atas adalah hasil dari file index.html yang telah dibuat dalam direktori public_html.

Cara Membuat Server Block (Virtual Host) di Ubuntu dan Debian Menggunakan Nginx

Di dalam web server Nginx terdapat nama lain dari Virtual Host, yaitu Server Block. Server Block sendiri fungsinya sama dengan Virtual Host. Keduanya sama-sama  digunakan untuk konfigurasi menambahkan lebih dari satu domain dalam satu server.

Terdapat tujuh langkah membuat Server Block dalam Nginx. Berikut ini panduannya:

Langkah 1: Install Nginx dan Aktifkan

Langkah pertama dalam membuat Server Block adalah menginstal Nginx di server Ubuntu. Anda harus masukkan perintah berikut ini untuk menginstall Nginx:

# sudo apt-get install Nginx

Tunggu hingga proses instalasi selesai dan Anda bisa melanjutkan ke langkah berikutnya.

Langkah 2: Mengatur Konfigurasi Direktori Baru

Selanjutnya, Anda perlu membuat struktur pada direktori server. Ini nanti akan digunakan untuk menyimpan data situs website.

Lokasi untuk menyimpan data website di Nginx, ada di dalam direktori /var/www/html. Di dalam direktori /var/www/html, Anda akan membuat folder public_html untuk menyimpan konten masing-masing domain.

Berikut ini perintah untuk membuat direktori:

# sudo mkdir -p /var/www/html/public_html

Langkah 3: Berikan Akses Permissions

Untuk dapat memodifikasi file di dalam direktori, Anda perlu mengganti akses Permissions yang masih dimiliki oleh user root. Dengan begitu user biasa dapat mengubah file di dalam direktori /var/www/html/.

Berikut ini perintah untuk memberi akses Permissions:

sudo chown -R $USER:$USER /var/www/html/public_html

Pada variabel $USER akan mengambil nilai dari user saat ini yang sedang aktif ketik tombol ENTER ditekan. Sekarang server yang Anda gunakan dapat menambah atau mengubah konten yang ada didalam direktori /var/www/html.

Langkah 4: Buat Halaman Demo untuk Server Block

Kemudian, Anda perlu membuat halaman demo dari html. Halaman ini berfungsi untuk keperluan demo website yang kita tambahkan pada Virtual Host.

Masuk ke dalam direktori public_html yang telah dibuat menggunakan perintah berikut.

# cd /var/www/html/public_html

Buat file di dalam direktori public_html. Dalam panduan ini, kami menggunakan nama file index.html. Kemudian masukkan perintah berikut:

# touch index.html

Lalu buka file index.html menggunakan perintah berikut.

# nano index.html

Setelah itu, salin kode html di bawah ini ke file index.html. Lalu simpan menggunakan perintah Ctrl+X >> Y >> ENTER.

<!DOCTYPE html>
<html>
  <body>
 <h1>Selamat!!!</h1>
 <p>Pengaturan Server Block Berhasil.</p>
  </body>
</html>

Langkah 5: Buat File Server Block Baru

Kemudian adalah proses pembuatan Server Block baru di dalam web server Nginx. Nginx memiliki Server Block default bernama default. Anda dapat gunakan ini sebagai contoh settingan default dari Server Block. Nanti Anda bisa menyalin isinya untuk membuat file Server Block baru tiap domain Anda.

Pada panduan ini menggunakan nama Server Block website-2. Salin isi file default ke dalam file website-2 menggunakan perintah berikut.

# sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/website-2

Lalu buka file website-2 menggunakan perintah berikut.

nano /etc/nginx/sites-available/website-2

Maka isi dari file website-2 kurang lebih seperti pada gambar di bawah ini.

Pada file website-2, Anda dapat mengatur dan menambah beberapa kode baru agar sesuai dengan kebutuhan domain Anda. File website-2 akan membaca semua request di port 80 (port default HTTP).

Untuk langkah selanjutnya Anda bisa menghapus beberapa text yang ada di dalam file website-2 yang memiliki tanda # di setiap awal text. Tanda # digunakan untuk memberikan informasi mengenai penggunaan file Virtual Host.

Setelah itu Anda perlu menambahkan kode, yang bernama Server_Name yang fungsinya untuk memberikan informasi domain apa yang akan menggunakan Virtual Host ini. Lalu untuk menentukan alamat lain yang ingin menggunakan Virtual Host ini contoh www.

server_name DomainAnda.com www.DomainAnda.com;

Terakhir, Anda perlu mengatur Root Server Block agar bekerja di dalam direktori public_html yang telah dibuat.

Root /var/www/html/public_html

Berikut ini hasil Akhir dari isi file website-2. Anda bisa menyalin file di bawah ini ke dalam file Server Block Anda.

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/public_html;
        index index.html index.htm index.nginx-debian.html;

        server_name DomainAnda.com www.DomainAnda.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

Salin kode di atas ke dalam file Server Block yang telah Anda buat. Lalu simpan menggunakan perintah CTRL+X >> Y >> ENTER.

Langkah 6: Mengaktifkan File Server Block Baru

Setelah Anda selesai membuat file Server Block yang baru, aktifkan Server Block yang telah Anda buat.

Untuk mengaktifkan file Server Block gunakan perintah ln -s. Berikut ini perintah lengkapnya.

# sudo ln -s /etc/nginx/sites-available/website-2 /etc/nginx/sites-enabled/website-2

Selanjutnya untuk melakukan test kesalahan script yang sudah ditulis di dalam file Server Block, Anda bisa menggunakan perintah berikut.

sudo nginx -t

Jika output seperti pada gambar diatas, tahap berikutnya Anda bisa melakukan restart. Restart dilakukan agar semua konfigurasi yang sudah diubah dapat diterapkan. Berikut perintah untuk me-restart Nginx.

sudo systemctl restart nginx

Langkah 7: Cek Hasil

Setelah semua konfigurasi selesai dilakukan, Anda dapat cek apakah pembuatan Server Block Anda berhasil. Caranya, Anda dapat mengakses domain yang telah ditambahkan ke dalam Server_Name Server Block. Jika muncul tampilan gambar seperti di bawah ini otomatis konfigurasi Anda berhasil.

Tampilan website di atas adalah hasil dari file index.html yang telah dibuat dalam direktori public_html.

Baca Juga: Cara Install WordPress dengan LAMP di Ubuntu 16.04

Kesimpulan

Dengan menggunakan Virtual Host pada server, dapat membantu Anda untuk membuat banyak website dalam satu server VPS. Caranya adalah dengan mengikuti langkah-langkah di atas.

Semoga artikel ini membantu Anda untuk membuat Virtual Host pada Ubuntu dan Debian. Jika memiliki pertanyaan, jangan sungkan untuk meninggalkan komentar pada kolom yang tersedia di bawah ini.

David Kurniawan

A Technical Content Writer at Niagahoster, specializing in Virtual Private Servers (VPS), WordPress, and Internet Marketing. David is eager to help people to improve their business on the internet.

Share
Published by
David Kurniawan

Recent Posts

Modal Promosi Dapat Komisi 70%? Cuma di Program Afiliasi Niagahoster! Ini Buktinya..

Apakah Anda sedang mencari cara mencari uang di internet yang paling mudah dan menguntungkan? Jika iya, gabung di program afiliasi…

17 hours ago

Jelang Black Friday 2020, Apa Saja yang Harus Dipersiapkan?

Black Friday 2020 akan segera tiba. Event belanja tahunan ini, selalu menawarkan diskon menarik. Anda tentu tak ingin ketinggalan, kan?…

2 days ago

Harbolnas: Momen Bisnismu Menutup 2020 dengan Mengesankan!

Tidak disangka ternyata Desember sebentar lagi. Dan waktunya Harbolnas tiba! Angin segar bagi bisnis online Anda, karena event belanja online…

3 days ago

API: Pengertian, Fungsi, dan Cara Kerjanya

Apa yang terjadi jika sebuah aplikasi dapat dikembangkan tanpa membuat setiap komponennya dari nol? Tentunya, pekerjaan developer bisa lebih mudah…

4 days ago

Web Cache: Pengertian, Manfaat, dan Jenis-Jenisnya

Adanya web cache memungkinkan loading website bisa lebih cepat. Jadi, Anda bisa menarik banyak pengunjung sekaligus membuat mereka betah di…

5 days ago

Tambah Penghasilan dengan Program Referral Karyawan Niagahoster

Mau tambah penghasilan dengan mudah? Coba ikut aja Program Referral Karyawan dari Niagahoster! Apa itu Program Referral Karyawan Niagahoster? Program…

5 days ago