Membuat Virtual Host di Apache pada sistem operasi Ubuntu memungkinkan Anda untuk menjalankan lebih dari satu situs web pada satu server tunggal. Berdasarkan dokumentasi pengelolaan server dan deployment aplikasi seperti Laravel serta manajemen database melalui phpMyAdmin di lingkungan Ubuntu, konfigurasi Virtual Host memerlukan pembuatan direktori dokumen, penyesuaian file konfigurasi, serta pengaktifan modul yang sesuai.
Langkah Persiapan dan Pembuatan Direktori
Sebelum membuat file konfigurasi Apache, pastikan Anda telah menyiapkan struktur direktori tempat file situs web Anda akan disimpan. Secara standar, direktori web root diletakkan di dalam path /var/www/.
| Langkah Teknis | Perintah Terminal | Keterangan |
|---|---|---|
| 1. Buat Direktori Web | sudo mkdir -p /var/www/namadomain.com/public_html |
Membuat folder root untuk domain baru. |
| 2. Atur Kepemilikan | sudo chown -R $USER:$USER /var/www/namadomain.com/public_html |
Memberikan hak akses kepemilikan kepada user aktif. |
| 3. Atur Izin Akses | sudo chmod -R 755 /var/www/namadomain.com |
Memastikan folder dapat dibaca oleh sistem web server. |
Membuat File Konfigurasi Virtual Host
Apache di Ubuntu menyimpan konfigurasi Virtual Host di dalam direktori /etc/apache2/sites-available/. Anda perlu membuat file konfigurasi baru dengan ekstensi .conf untuk setiap domain yang ingin dikelola.
sudo nano /etc/apache2/sites-available/namadomain.com.conf
Masukkan blok kode konfigurasi standar Virtual Host ke dalam file tersebut:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName namadomain.com
ServerAlias www.namadomain.com
DocumentRoot /var/www/namadomain.com/public_html
ErrorLog ${APACHE_LOG_DIR}/namadomain_error.log
CustomLog ${APACHE_LOG_DIR}/namadomain_access.log combined
</VirtualHost>
Mengaktifkan Virtual Host dan Restart Apache
Setelah file konfigurasi disimpan, Anda harus mengaktifkan situs tersebut menggunakan utilitas bawaan Ubuntu dan memuat ulang layanan Apache agar perubahan diterapkan.
sudo a2ensite namadomain.com.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
Pastikan tidak ada kesalahan sintaks pada konfigurasi Apache dengan menjalankan perintah uji coba sudo apache2ctl configtest sebelum melakukan restart penuh pada layanan server.