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).