Pengantar
Apache, adalah software web server gratis dan open source yang memungkinkan user mengupload website di internet.
Virtual host, adalah konfigurasi pada web server yang memungkinkan untuk menambahkan banyak domain dalam satu server.
Ubuntu, adalah sebuah sistem operasi dan distribusi Linux berbasis Debian.
Prasyarat
- Memiliki domain yang aktif
- Install Apache
- Server Ubuntu
Penanganan
Langkah 1, Membuat struktur direktori
Buat struktur direktori yang digunakan untuk menyimpan data situs website. Berikut struktur direktori yang digunakan:
/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_htmlDokumen root akan diatur ke dalam direktori individual dibawah /var/www. Buat folder baru bernama public_html pada ketiga direktori yang akan digunakan untuk menyimpan konten masing-masing domain.
Jalankan perintah berikut untuk membuat direktori root bagi domain example.com:
# sudo mkdir -p /var/www/example.com/public_htmlLangkah 2, Memberikan Permissions Folder
Jalankan perintah berikut ini untuk mengubah Permissions:
sudo chown -R www-data: /var/www/example.comLangkah 3, Membuat Halaman Demo Testing
Selanjutnya, membuat halaman HTML untuk pengujian host baru. Caranya, dengan menjalankan perintah berikut ini:
/var/www/example.com/public_html/index.htmlLalu, bukalah file index.html tersebut dengan perintah:
# nano index.htmlKemudian, salinlah kode HTML di bawah ini ke dalam file index.html:
<!DOCTYPE html> <html lang=”en” dir=”ltr”> <head> <meta charset=”utf-8″> <title>Welcome to example.com</title> </head> <body> <h1>Success! example.com home page!</h1> </body> </html>Langkah 4, Membuat Virtual Host
Buka editor mu dan buat file konfigurasi basic Virtual Host berikut:
/etc/apache2/sites-available/example.com.conf <VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/example.com/public_html <Directory /var/www/example.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined </VirtualHost>- ServerName: Domain harus cocok dengan konfigurasi virtual host. ServerName harus menjadi nama domain mu.
- ServerAlias: jika menginginkan domain anda menjadi www.example.com, maka gunakan ServerAlias.
- DocumentRoot: Direktori tempat Apache akan melayani file domain dan juga menyimpan file website mu.
- Options: directives ini mengontrol fitur server mana yang tersedia di direktori tertentu.
- Indexes Mencegah daftar direktori.
- FollowSymLinks: Opsi ini memberitahu server web mu untuk mengikuti symbolic links.
- AllowOverride: Menentukan directives mana yang dideklarasikan dalam file .htaccess yang dapat menimpa directives konfigurasi.
- ErrorLog, CustomLog: Menentukan lokasi untuk file log.
Beri nama file konfigurasi sesuai dengan nama domain sebagai nama file konfigurasi host virtual.
Langkah 5, Mengaktifkan Virtual Host
Setelah file virtual host baru berhasil dibuat, aktifkan virtual host dengan menggunakan perintah a2ensite berikut ini:
sudo a2ensite example.comOpsi lainnya adalah membuat symlink secara manual seperti yang ditunjukkan di bawah ini:
sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/Setelah selesai, uji konfigurasi untuk setiap kesalahan sintaks dengan:
sudo apachectl configtestJika tidak ada kesalahan, kamu akan melihat output berikut:
Syntax OKRestart layanan Apache agar perubahan diterapkan:
sudo systemctl restart apache2Akhirnya untuk memverifikasi bahwa semuanya berfungsi seperti yang diharapkan, buka http://example.com di browser pilihan Anda, dan Anda akan melihat sesuatu seperti ini:
Penutup
Gimana sob, mudah kan? kamu bisa mengulangi langkah-langkah di atas jika ingin menambah virtual host yang baru. Tidak ada batasan jumlah nama domain yang dapat ditangani oleh Apache, silahkan tambah virtual host sebanyak-banyaknya selama server masih sanggup menangani request. Semoga tutorial ini bisa membantumu. jangan lupa baca tutorial lainnya. Sampai Jumpa.