Setelah mulai menggunakan layanan hosting online, Anda mungkin ingin tahu cara menghosting beberapa website di satu server. Meski terdengar rumit, semakin Anda mempelajari topik ini, Anda akan menyadari bahwa hal ini bisa dilakukan dengan panduan teknis yang tepat.
Berbagai web server menyediakan layanan gratis, open-source, dan digunakan secara luas di seluruh dunia. Namun, sebelum membahas cara menghosting beberapa website di satu server, kita perlu memahami terlebih dahulu apa itu web server dan cara kerjanya.
- Apa Itu Web Server?
- Host beberapa website di satu server: Apache
- Langkah 1: Buat Direktori untuk Setiap Situs
- Langkah 2: Atur Izin Folder
- Langkah 3: Menyiapkan Halaman Index
- Langkah 4: Menyalin File Konfigurasi untuk Setiap Situs
- Langkah 5: Mengedit File Konfigurasi untuk Setiap Situs
- Langkah 6: Aktifkan File Konfigurasi Anda
- Langkah 7: Memverifikasi Konfigurasi Apache
- Host beberapa website di satu server: IIS
- Menjalankan Beberapa Situs dengan IP Address Berbeda di Server IIS
- Kesimpulan: Hosting beberapa website di satu server
- Pertanyaan yang Sering Diajukan
Apa Itu Web Server?
Web server menyimpan dan menyajikan konten seperti teks, gambar, video, dan data aplikasi untuk sebuah website. Dengan kata lain, klien yang meminta konten tersebut dapat mengaksesnya melalui web server. Salah satu klien yang paling umum adalah browser, yang meminta data dari website Anda ketika pengguna mengklik tautan atau mengunduh file.
Server web berkomunikasi melalui Protokol Transfer Hypertext (HTTP) dengan browser web. Konten sebagian besar halaman web dikodekan dalam Hypertext Markup Language (HTML). Konten bisa bersifat statis, seperti teks dan gambar, atau dinamis, seperti daftar produk yang ditandai pelanggan untuk dibeli. Sebagian besar server web mendukung bahasa server-side scripting untuk menyematkan logika bisnis ke dalam komunikasi guna menghasilkan konten dinamis. Bahasa yang umumnya didukung antara lain Active Server Pages (ASP), JavaScript, PHP, Python, dan Ruby.
Bagaimana Cara Kerja Web Server?
Server web bekerja berdasarkan model klien-server . Dalam struktur standar ini, klien meminta sumber daya atau layanan dari server.
Server web menjalani beberapa langkah untuk memproses permintaan dari klien web:
- Saat pengguna ingin memuat konten ke sebuah situs, browser web mengajukan permintaan akses (Permintaan HTTP) melalui internet.
- Browser web mencari alamat IP situs yang diminta. Browser menerjemahkan URL halaman web menggunakan Sistem Nama Domain (DNS) atau mencarinya melalui cache. Proses ini membantu menemukan server web tempat file situs tersebut disimpan.
- Pada tahap ini, server web menerima permintaan HTTP dan memprosesnya melalui Server HTTP.
- Setelah server HTTP menerima permintaan tersebut, server akan menelusuri file-filenya untuk mendapatkan data yang relevan.
- Server web mengembalikan file situs ke browser yang mengirim permintaan. Setelah itu, pengguna dapat melihat konten situs.
Perlu diperhatikan bahwa jika server HTTP gagal menemukan atau memproses file yang diminta, browser web akan menampilkan pesan error. Setelah memahami konsep dasar server web, Anda juga bisa dengan mudah mempelajari cara mengelola beberapa server web dalam satu server.
Host beberapa website di satu server: Apache
Jika ingin menghosting lebih dari satu situs dalam satu server, Anda perlu menggunakan file virtual host Apache untuk menentukan domain mana yang akan digunakan. Salah satu metode yang dipakai untuk menangani permintaan situs disebut Host virtual berbasis nama. Ketika seseorang mengakses situs Anda, permintaan diteruskan ke server, yang kemudian menentukan file situs mana yang akan disajikan berdasarkan nama domain. Teknik ini memungkinkan Anda menghosting beberapa situs dalam satu server dengan IP yang sama. Artikel panduan ini akan menjelaskan cara mengonfigurasi file virtual host untuk setiap domain Anda. Sebelum masuk ke detail lebih lanjut, pastikan Anda sudah masuk sebagai akun root.
Baca Juga: “Hosting Linux vs Windows: Mana yang lebih tepat untuk Anda?”
Langkah 1: Buat Direktori untuk Setiap Situs
Pertama, instal apache2 menggunakan perintah berikut
Untuk sistem berbasis Debian
apt install apache2 -y
Untuk sistem berbasis CentOS
yum install apache2 -y
Buat direktori terpisah untuk setiap situs yang akan kamu hosting (di dalam folder /var/www). Gunakan domain.com dan domain2.com sebagai nama domain kamu.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Langkah 2: Atur Izin Folder
chmod -R 755 /var/www
Langkah 3: Menyiapkan Halaman Index
Untuk menampilkan halaman utama, pastikan index.html file sudah dibuat untuk setiap domain. Kamu bisa mengisi sesuatu yang sederhana, seperti pengujian untuk domain.com dalam file ini.
vim /var/www/domain.com/public_html/index.html
pengujian untuk domain.com
Sekarang simpan dan keluar menggunakan Melarikan diri tombol lalu ketik: wq
Gunakan perintah di bawah ini untuk mengulangi semua langkah tersebut pada domain kedua kamu.
vim /var/www/domain2.com/public_html/index.html
Langkah 4: Menyalin File Konfigurasi untuk Setiap Situs
Salin file konfigurasi default untuk setiap situs, agar kamu selalu punya salinan default sebagai referensi saat membuat situs baru.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Langkah 5: Mengedit File Konfigurasi untuk Setiap Situs
Setidaknya kamu perlu mengubah dan menambahkan baris yang disorot di dalam <VirtualHost *:80> dan </VirtualHost> tag.
Perhatikan bahwa ServerAlias adalah nama alternatif untuk domain kamu. Pada umumnya, kamu menambahkan www di depan nama domain agar situs bisa diakses baik melalui www maupun tanpa www (ServerName).
vim /etc/apache2/sites-available/domain.com.conf

Keluar dan Simpan lagi dengan menggunakan wq. Kamu harus mengulangi proses ini untuk domain2.com.conf file; pastikan kamu memperbarui ServerName, ServerAlias, dan DocumentRoot untuk domain kedua kamu.
Baca Juga: “Apache vs NGINX”
Langkah 6: Aktifkan File Konfigurasi Anda
Server kamu dikonfigurasi untuk membaca file 000-default.conf secara default. Namun, pada langkah sebelumnya, kita sudah membuat file konfigurasi baru untuk setiap domain. Karena itu, kita perlu menonaktifkan file default dan menggantinya dengan file konfigurasi yang sesuai.
a2dissite 000-default.conf
Aktifkan setiap file .conf yang baru dibuat agar server kamu terhubung ke masing-masing domain tersebut.
a2ensite domain.com.conf
a2ensite domain2.com.conf
Sekarang, restart Apache untuk menerapkan perubahan yang telah dilakukan.
systemctl restart apache2
Langkah 7: Memverifikasi Konfigurasi Apache
Setelah Apache berjalan, kamu bisa memverifikasi bahwa konfigurasi sudah aktif dengan mengedit /etc/host file di komputer Anda atau DNS domain kamu.
Setelah semua bagian selesai dikonfigurasi, buka browser dan kunjungi situsmu untuk melihat halaman index.html yang dibuat di Langkah 3.
Baca juga: On-Premises vs. Cloud
Host beberapa website di satu server: IIS
IIS (Internet Information Services) bisa digunakan untuk menjalankan puluhan bahkan ratusan situs web sekaligus. Kamu bisa meng-hosting beberapa situs di dalamnya, semuanya mendengarkan dan merespons pada Port TCPyang sama. Namun, antarmuka IIS Manager menampilkan bahwa kamu bisa menambahkan situs lain tanpa mengikatnya ke port berbeda seperti 8080. Bagian ini akan menjelaskan cara meng-hosting beberapa situs web di server IIS yang sama, baik pada port dan IP address yang sama maupun pada IP address yang berbeda.
Cara menginstal IIS di server Windows?
Saat Anda menginstal IIS di Windows, sebuah Default Website kosong akan dibuat dan mendengarkan pada port HTTP standar – TCP 80. Secara teknis, situs kita terikat ke port TCP/80. Untuk membuka situs ini, masukkan nama server IIS ("http://web-srv1") atau alamat IP-nya ("http://192.168.1.100") di browser Anda.
Langkah 1: Binding Website IIS
Server web IIS yang berjalan di Windows Server dapat digunakan untuk meng-host beberapa website sekaligus. Namun, IIS hanya dapat mendistribusikan permintaan HTTP dengan benar jika setiap website diidentifikasi dengan nilai yang unik. Website IIS memiliki tiga atribut yang membentuk kombinasi unik untuk masing-masing website. Atribut-atribut tersebut adalah:
- nomor port TCP
- alamat IP
- host header (hostname)
Informasi tentang website yang di-host disimpan dalam ServerBindings atribut IIS Metabase, dengan format sebagai berikut: IP:Port:Nama Host. Jadi, jika Anda ingin meng-host beberapa website di satu server (dengan port dan alamat IP yang sama), Anda harus menggunakan Host header yang unik.
Anda mungkin bertanya-tanya, apa itu host header? Host header adalah bagian dari permintaan HTTP ke server yang menentukan website mana yang dituju. Oleh karena itu, host header ini harus dikonfigurasi di sisi web server. Pastikan DNS memiliki record yang tepat yang mencocokkan hostname dengan alamat IP web server IIS.
Sekarang, misalkan Anda sudah memiliki website yang berjalan di server IIS dan mendengarkan pada port 80. Apa yang harus dilakukan jika ingin menambahkan website kedua di port yang sama?
Langkah 2: Binding Website IIS Kedua
Di Internet Information Service (IIS) Manager, buat website baru melalui jendela Add Website dan beri nama TestSite. Website ini akan ditempatkan di C:\inetpub\TestSite. Perhatikan bahwa hostname belum perlu diisi pada tahap ini.
Setelah menyalin konten situs ke C:\inetpub\TestSite, buka Internet Information Service (IIS) Manager, lalu di hostname server tambahkan situs untuk membuka wizard.


Setelah mengklik Ok, akan muncul pesan peringatan yang menyatakan bahwa Anda tidak dapat menggunakan binding *:80 untuk kedua website tersebut.


Setelah Anda menyetujui peringatan ini, website kedua akan terikat ke port 80. Dengan demikian, Anda tidak dapat menjalankan website kedua tanpa menghentikan website pertama terlebih dahulu. Hal ini dapat dipahami lebih jelas dengan memperhatikan gambar berikut.

Hosting Windows VPS
Lihat paket Windows VPS kami yang terjangkau, dilengkapi hardware bertenaga, latensi rendah, dan Windows gratis pilihan Anda!
Klaim Windows Gratis AndaHosting Beberapa Website di Server IIS dengan Host Headers
Anda harus memilih nama lain (Host Name) untuk website IIS kedua agar binding-nya unik. Caranya, klik kanan TestSite dan pilih Sunting Bindings. Pilih binding yang dibutuhkan, lalu klik Sunting.
Seperti terlihat pada gambar berikut, kita perlu menentukan hostname unik yang akan digunakan pengguna. Dalam tutorial ini, kita menggunakan TestSite, jadi masukkan nama tersebut ke kolom Hostname.

Anda bisa menggunakan command prompt untuk mengonfigurasi binding site IIS. Jika menggunakan IIS 7 atau lebih baru, tampilan setelah menjalankan perintah konfigurasi IIS Site binding akan terlihat seperti ini:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
Sama seperti website pertama, Anda juga bisa menjalankan website kedua.

Pada tahap ini, Anda perlu menambahkan alias DNS untuk server (A atau CNAME) yang merujuk ke alamat IP atau hostname web server IIS Anda. Jika menggunakan domain Active Directory, buat record DNS di domain controller. IIS memungkinkan Anda membuat CNAME record untuk nama TestSite di konsol DNS (dnsmgmt.msc) dan mengatur nama domain server IIS Anda sebagai FQDN target host.

Anda juga bisa membuat record DNS ini melalui PowerShell dengan perintah berikut:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
Coba buka http://TestSite di browser. Jika semua langkah sudah dilakukan dengan benar, halaman akan terbuka tanpa masalah.

Hosting Linux Tanpa Ribet
Ingin cara yang lebih baik untuk hosting website dan aplikasi web kamu? Sedang mengembangkan sesuatu yang baru? Atau memang tidak suka Windows? Itulah mengapa kami menyediakan Linux VPS.
Dapatkan Linux VPS KamuMenjalankan Beberapa Situs dengan IP Address Berbeda di Server IIS
Sekarang kita akan membahas cara menjalankan dua site di web server IIS dengan alamat IP yang berbeda. Pertama, tambahkan interface VLAN terpisah di Windows Server, atau tetapkan alamat IP tambahan (alias) ke NIC.
Dalam tutorial ini, server memiliki alamat IP utama 192.168.13.100, dan kita akan menambahkan IP alias 192.168.13.101 ke network adapter yang sama:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True
Selanjutnya, buat record A untuk site baru Anda di server DNS:
Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr
Langkah berikutnya adalah membuka pengaturan Site Binding dan mengikat site ke alamat IP tambahan host Anda. Untuk mengelola binding site di server IIS melalui PowerShell, modul WebAdministration digunakan:
Import-Module WebAdministration
Anda bisa melihat informasi semua site IIS yang tersedia beserta binding-nya:
Get-IISSite
Atau hanya untuk satu site tertentu:
(Get-Website -Name NewSite).bindings.Collection

Gunakan perintah berikut untuk mengubah binding site ini. Perintah ini memungkinkan Anda mengubah alamat IP, port, atau nama:
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'
Jalankan perintah ini untuk menambahkan binding baru ke site IIS tertentu:
New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http
Menghapus binding dilakukan dengan perintah berikut:
Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"
Seperti yang telah Anda lihat, Anda dapat menjalankan beberapa website di web server IIS baik pada alamat IP yang berbeda maupun pada alamat IP yang sama dengan nomor port TCP.
Kesimpulan: Hosting beberapa website di satu server
Artikel ini berfokus pada konsep dasar server dan cara menghosting beberapa website di satu server. Kami juga menyediakan berbagai Linux VPS solusi hosting yang dapat Anda gunakan untuk menjalankan beberapa website di satu server. Paket Cloudzy menekan biaya penggunaan beberapa server, sekaligus memungkinkan Anda memanfaatkan layanan kami sesuai kebutuhan. Selain itu, Anda dapat dengan mudah meningkatkan sumber daya server, termasuk RAM, penyimpanan, prosesor, dan bandwidth.
Pertanyaan yang Sering Diajukan
Bisakah beberapa website dijalankan dalam satu hosting web server?
Jika Anda memiliki server berkapasitas besar dengan sumber daya yang memadai seperti ruang HDD, RAM, dan daya CPU yang cukup, Anda dapat menghosting beberapa website menggunakan virtual hosting. Tidak ada batasan jumlah website yang dapat Anda hosting di web server tersebut.
Bagaimana cara menjalankan dua website di satu server?
Menghosting beberapa website di satu web server disebut Virtual Server. Pastikan server yang Anda pilih memiliki sumber daya yang cukup untuk menangani traffic dan kebutuhan ruang disk.
Untuk apa server VPS digunakan?
VPS adalah layanan hosting yang memberikan sumber daya khusus (privat) di sebuah server. Perlu diketahui bahwa menggunakan VPS lebih aman dan stabil dibandingkan shared hosting yang tidak memberikan ruang server khusus untuk Anda.
Mengapa orang menggunakan VPS?
Hosting VPS semakin populer karena biayanya umumnya lebih rendah dari dedicated hosting, namun menawarkan keandalan, keamanan, dan performa yang lebih baik dibandingkan shared hosting.