Manajemen virtual host dan konfigurasi dasar
Berikut adalah modul praktikum untuk **Manajemen Virtual Host dan Konfigurasi Dasar** pada **Server Web Apache** menggunakan **Ubuntu 24.04**. Modul ini merupakan bagian dari mata kuliah *Pengenalan Server Web Apache* dalam program *Web Programming*.
- Tujuan Pembelajaran:**
- Memahami konsep Virtual Host pada Apache. - Mampu mengkonfigurasi Virtual Host untuk mengelola beberapa situs web pada satu server Apache. - Menguasai konfigurasi dasar Apache untuk optimalisasi dan keamanan.
- Prasyarat:**
- Sistem operasi Ubuntu Server 24.04 terinstal. - Akses ke terminal dengan hak akses `sudo`. - Koneksi internet untuk mengunduh paket yang diperlukan.
- Bagian 1: Instalasi Apache**
1. **Perbarui Daftar Paket:**
```bash sudo apt update ```
Perintah ini memastikan bahwa daftar paket pada sistem Anda diperbarui ke versi terbaru.
2. **Instal Paket Apache:**
```bash sudo apt install apache2 ```
Perintah di atas akan menginstal server web Apache beserta dependensinya.
3. **Verifikasi Instalasi:**
Setelah instalasi selesai, periksa status layanan Apache dengan perintah berikut: ```bash sudo systemctl status apache2 ```
Pastikan layanan dalam status "active (running)".
- Bagian 2: Konfigurasi Virtual Host**
Virtual Host memungkinkan satu server Apache untuk melayani beberapa situs web dengan domain berbeda. Berikut langkah-langkah untuk mengkonfigurasinya:
1. **Buat Direktori untuk Situs Web:**
Misalnya, untuk domain `contoh.com`: ```bash sudo mkdir -p /var/www/contoh.com/public_html ```
Perintah ini membuat direktori untuk menyimpan file situs web.
2. **Tetapkan Kepemilikan Direktori:**
```bash sudo chown -R $USER:$USER /var/www/contoh.com/public_html ```
Ini memberikan hak akses kepada pengguna saat ini untuk direktori tersebut.
3. **Buat Halaman Indeks Sederhana:**
```bash nano /var/www/contoh.com/public_html/index.html ```
Tambahkan konten HTML dasar, misalnya: ```html <!DOCTYPE html> <html> <head> <title>Selamat Datang di Contoh.com</title> </head> <body>
Berhasil! Situs contoh.com telah dikonfigurasi.
</body> </html> ```
Simpan dan tutup file tersebut.
4. **Buat File Konfigurasi Virtual Host:**
```bash sudo nano /etc/apache2/sites-available/contoh.com.conf ```
Tambahkan konfigurasi berikut: ```apache <VirtualHost *:80> ServerAdmin admin@contoh.com ServerName contoh.com ServerAlias www.contoh.com DocumentRoot /var/www/contoh.com/public_html ErrorLog ${APACHE_LOG_DIR}/contoh.com_error.log CustomLog ${APACHE_LOG_DIR}/contoh.com_access.log combined <Directory /var/www/contoh.com/public_html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> ```
Simpan dan tutup file tersebut.
5. **Aktifkan Virtual Host Baru:**
```bash sudo a2ensite contoh.com.conf ```
Perintah ini mengaktifkan konfigurasi Virtual Host yang baru dibuat.
6. **Nonaktifkan Situs Default (Opsional):**
Jika Anda tidak ingin situs default Apache aktif, Anda dapat menonaktifkannya dengan: ```bash sudo a2dissite 000-default.conf ```
Langkah ini memastikan bahwa hanya Virtual Host yang Anda tentukan yang akan aktif.
7. **Muat Ulang Apache:**
Setelah mengaktifkan atau menonaktifkan situs, muat ulang Apache untuk menerapkan perubahan: ```bash sudo systemctl reload apache2 ```
Perintah ini memuat ulang konfigurasi Apache tanpa menghentikan layanan, sehingga perubahan dapat diterapkan tanpa downtime.
8. **Uji Konfigurasi:**
Buka browser dan navigasikan ke `http://contoh.com`. Jika konfigurasi berhasil, Anda akan melihat halaman yang telah dibuat sebelumnya.
- Bagian 3: Konfigurasi Dasar Apache**
Setelah mengatur Virtual Host, penting untuk memahami beberapa konfigurasi dasar Apache untuk optimalisasi dan keamanan:
1. **Mengatur Direktori Root:**
Pastikan setiap Virtual Host memiliki direktori root yang sesuai dan hak akses yang benar.
2. **Mengelola Modul Apache:**
Apache memiliki modul-modul yang dapat diaktifkan atau dinonaktifkan sesuai kebutuhan. Misalnya, untuk mengaktifkan modul `rewrite`: ```bash sudo a2enmod rewrite sudo systemctl restart apache2 ```
Modul `rewrite` sering digunakan untuk mengatur URL yang ramah pengguna.
3. **Mengamankan Apache dengan UFW Firewall:**
Jika firewall UFW aktif, pastikan untuk mengizinkan lalu lintas HTTP dan HTTPS: ```bash sudo ufw allow 'Apache Full' ```
Perintah ini mengizinkan lalu lintas pada port 80 (HTTP) dan 443 (HTTPS).