Manajemen virtual host dan konfigurasi dasar

From OnnoWiki
Jump to navigation Jump to search

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:

sudo apt update
  

Perintah ini memastikan bahwa daftar paket pada sistem Anda diperbarui ke versi terbaru.

2. Instal Paket Apache:

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:

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`:

sudo mkdir -p /var/www/contoh.com/public_html
  

Perintah ini membuat direktori untuk menyimpan file situs web.

2. Tetapkan Kepemilikan Direktori:

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:

nano /var/www/contoh.com/public_html/index.html
 

Tambahkan konten HTML dasar, misalnya:

   
 <!DOCTYPE html>
 <html>
 <head>
     <title>Selamat Datang di Contoh.com</title>
 </head>
 <body>
     <h1>Berhasil! Situs contoh.com telah dikonfigurasi.</h1>
 </body>
 </html>

Simpan dan tutup file tersebut.

4. Buat File Konfigurasi Virtual Host:

sudo nano /etc/apache2/sites-available/contoh.com.conf
  

Tambahkan konfigurasi berikut:

 <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:

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:

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:

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`:

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:

sudo ufw allow 'Apache Full'
  

Perintah ini mengizinkan lalu lintas pada port 80 (HTTP) dan 443 (HTTPS).


Pranala Menarik