Panduan cara membuat konfigurasi virtual host Apache, agar server/VPS mampu untuk menampung lebih dari satu atau banyak website.
Berikut tutorial langkah-langkah membuat virtual host di Apache.
1. Menghubungkan domain ke VPS
Arahkan domain name server ke IP VPS Anda atau cukup menggunakan layanan DNS hosting gratis dari Cloudflare.com. Ini dilakukan pertama karena propagasi DNS membutuhkan waktu paling tidak 1×24 jam agar domain resolved ke server.
2. Akses server melalui SSH menggunakan Putty
Sebelumnya pernah dibahas cara menggunakan putty untuk login SSH VPS. Baca: Cara menggunakan putty.
3. Membuat direktori baru untuk setiap domain
Membuat direktori baru, fungsinya untuk menyimpan file-file website untuk setiap nama domain. sebagai contoh agar pada langkah selanjutnya dapat memudahkan Anda mengikuti tutorial ini saya akan membuat virtual host untuk domain dengan rincian sebagai berikut:
idnetter.com
direktori webnya di/var/www/idnetter.com/public_html
idnetter.net
direktori webnya di/var/www/idnetter.net/public_html
Perintahnya untuk membuat direktori baru sesuai struktur diatas adalah sebagai berikut:
mkdir -p /var/www/{idnetter.com,idnetter.net}/public_html
Perintah tersebut akan sekaligus membuat dua direktori idnetter.com
dan idnetter.net
di dalam /var/www
4. Menambahkan domain
Selanjutnya adalah membuat file konfigurasi virtual host untuk memetakan tiap-tiap nama domain, dalam contoh tutorial ini yaitu domainidnetter.com
dan idnetter.net
.
Untuk Debian/Ubuntu buat file konfigurasi baru di folder /etc/apache2/sites-available/
nano /etc/apache2/sites-available/idnetter.com.conf
Sedangkan di Linux CentOS letak konfigurasinya berbeda yaitu di /etc/httpd/conf.d/
, jadi
nano /etc/httpd/conf.d/idnetter.com.conf
Kemudian, isi dengan konfigurasi berikut, silahkan ubah sesuai dengan domain Anda.
<VirtualHost *:80> ServerName idnetter.com ServerAlias www.idnetter.com ServerAdmin [email protected] DocumentRoot /var/www/idnetter.com/public_html <Directory "/var/www/idnetter.com/public_html"> Options FollowSymLinks AllowOverride All </Directory> LogLevel warn ErrorLog /var/www/idnetter.com/public_html/error.log CustomLog /var/www/idnetter.com/public_html/access.log combined </VirtualHost>
Untuk domain idnetter.com
, kemudian buat juga file config untuk domain idnetter.net
Untuk Debian/Ubuntu
nano /etc/apache2/sites-available/idnetter.net.conf
Untuk CentOS
nano /etc/httpd/conf.d/idnetter.net.conf
Isinya tinggal modifikasi sedikit
<VirtualHost *:80> ServerName idnetter.net ServerAlias www.idnetter.net ServerAdmin [email protected] DocumentRoot /var/www/idnetter.net/public_html <Directory "/var/www/idnetter.net/public_html"> Options FollowSymLinks AllowOverride All </Directory> LogLevel warn ErrorLog /var/www/idnetter.net/public_html/error.log CustomLog /var/www/idnetter.net/public_html/access.log combined </VirtualHost>
Ubuntu/Debian
Untuk Ubuntu/Debian jalankan perintah berikut
a2ensite idnetter.com a2ensite idnetter.net
Simpan, kemudian restart Apache.
5. Restart Apache
Untuk Debian/Ubuntu
service apache2 restart
Untuk CentOS
service httpd restart
6. Uji coba
Buat file index.html
untuk setiap nama domain
Untuk idnetter.com
echo "<center>Halo idnetter.com</center>" | sudo tee /var/www/idnetter.com/public_html/index.html
Untuk idnetter.net
echo "<center>Halo idnetter.net</center>" | sudo tee /var/www/idnetter.net/public_html/index.html
Akses domain menggunakan browser
Bonus konfigurasi virtual host SSL
Ini adalah contoh virtual host apache dengan SSL
<VirtualHost *:443> ServerName www.idnetter.com ServerAdmin [email protected] DocumentRoot /var/www/idnetter.com/public_html <Directory "/var/www/idnetter.com/public_html"> Options FollowSymLinks AllowOverride All </Directory> # Let's Encrypt SSLEngine on SSLVerifyClient none SSLCertificateFile /etc/letsencrypt/live/idnetter.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/idnetter.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/idnetter.com/fullchain.pem LogLevel warn ErrorLog /var/www/idnetter.com/public_htmlerror_log CustomLog /var/www/idnetter.com/public_htmlaccess_log combined </VirtualHost>
Kesimpulan
Banyak keuntungan memiliki VPS salah satunya bisa untuk menghostingkan website/domain dalam satu IP dedicated. Dibanding shared hosting, VPS juga lebih baik untuk SEO. Nah bagaimana Anda tertarik untuk migrasi dari shared hosting ke VPS?
Hubungi 081235008433 melalui WhatsApp untuk jasa migrasi website/blog dari shared hosting ke Virtual Private Server.
Referensi: Apache Virtual Host Documentation.
Halo, setelah saya berhasil konfigurasi virtual host, saya jadi tidak bisa akses VPS via IP, saya mau akses database management adminer, biasanya saya akses 123.456.789.10/adminer
Update Apache2.4 Wilcard/Positif SSL Sectigo
Keterangan:
Struktur SSL untuk Apache2, yang kita butuh hanya 2 file.