Cara Optimasi Web Server Apache di VPS Ubuntu untuk Peforma Maksimal

Hai, Sobat Jagoan! Apabila performa website di VPS kamu lambat sehingga menyebabkan loading lama ketika mengaksesnya, mungkin karena Apache membutuhkan sedikit optimasi. Dengan begitu, web server jadi lebih cepat, stabil, dan efisien.

Tetapi, tidak hanya itu, performa website juga dipengaruhi oleh spesifikasi VPS yang digunakan. Jika trafik website kamu tinggi tapi resource server kurang memadai, performa website bisa tetap lemot meskipun konfigurasi sudah dilakukan. Agar lebih maksimal, optimasi web server harus dibarengi dengan pemilihan VPS yang tepat, yaa.

Artikel kali ini akan menunjukkan cara melakukan optimasi web server Apache di VPS Ubuntu untuk meningkatkan performanya sehingga pengalaman akses website menjadi lancar dan menyenangkan. Yuk, langsung simak, Sob!

Nah, supaya kamu mengambil tindakan yang tepat, baiknya ketahui dulu alasan perlu melakukan optimasi pada web server berikut.

Mengapa Perlu Optimasi Apache di VPS?

Untuk menjalankan website di VPS menggunakan web server Apache, setup default yang dibawa belum tentu memberikan performa terbaik sehingga perlu melakukan beberapa konfigurasi. Tanpa optimasi yang tepat, server bisa boros resource sehingga berjalan lemot, bahkan berisiko down saat trafik naik tiba-tiba.

Berikut ini beberapa alasan penting optimasi Apache:

  1. Waktu loading website jadi lebih cepat
  2. Penggunaan CPU dan RAM lebih efisien
  3. Apache dapat bekerja lebih responsif meskipun jumlah pengunjung meningkat
  4. Beberapa setup tambahan dapat membantu melindungi website dari serangan seperti DDoS atau brute force

Langkah-Langkah Optimasi Web Server Apache

Simak langkah-langkah di bawah ini untuk melakukan optimasi web server Apache:

STEP 1: Memperbarui Semua Paket di Server

Update semua package agar tidak menyebabkan bug atau konflik versi menggunakan perintah:

				
					sudo apt update && sudo apt upgrade -y
				
			

STEP 2: Backup Konfigurasi Apache

Sebelum melakukan konfigurasi, buat backup file Apache terlebih dahulu. Sehingga, jika terjadi kesalahan fatal saat konfigurasi, dapat dengan mudah kembali ke keadaan semula.

				
					sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.backup
				
			

STEP 3: Firewall Mengizinkan Trafic HTTP dan HTTPS

Periksa firewall dan pastikan port 80 (HTTP) dan 443 (HTTPS) sudah terbuka. Tujuannya agar website dapat diakses.

				
					sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
				
			

Mengaktifkan dan Mengatur Modul Apache

STEP 1: Periksa Modul Apache yang Aktif

Periksa terlebih dahulu daftar modul yang sudah aktif di Apache kamu sebelum menambahkan modul baru. Gunakan perintah berikut:

				
					apachectl -M
				
			

STEP 2: Mengaktifkan Modul Apache

Beberapa modul rekomendasi yang bisa kamu aktifkan agar Apache makin kencang dan efisien.

  • Modul mod_rewrite (mengelola URL rewriting), memungkinkan perubahan URL secara dinamis, sering dipakai untuk SEO-friendly URLs atau redirect.

Untuk mengaktifkannya, jalankan perintah berikut:

				
					sudo a2enmod rewrite
				
			

Pastikan konfigurasi Apache telah mengizinkan file .htaccess 

				
					<Directory /var/www/html>
<span style="font-weight: 400;"> AllowOverride All</span>
 <span style="font-weight: 400;">&lt;/Directory&gt;</span>
				
			
  • Modul mod_expires (mengatur cache untuk file statis), berfungsi untuk storage cache pada file statis seperti gambar, CSS, dan JavaScript. Cara mengaktifkannya, menggunakan perintah:
				
					sudo a2enmod expires
				
			

Kemudian, restart Apache dengan menjalankan perintah:

				
					sudo systemctl restart apache2
				
			

Konfigurasi tambahan di dalam file .htaccess:

				
					&lt;IfModule mod_expires.c&gt;
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
&lt;/IfModule&gt;
				
			
  • Modul mod_deflate (mengompresi file untuk mempercepat loading), cache browser membantu menyimpan file statis sehingga user tidak perlu download ulang setiap kali akses halaman. Tambahkan konfigurasi cache di .htaccess atau  Apache config:
				
					&lt;IfModule mod_expires.c&gt;
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
&lt;/IfModule&gt;
				
			

Lalu, aktifkan modul menggunakan perintah:

				
					sudo a2enmod expires # Untuk Ubuntu/Debian
sudo systemctl restart apache2
				
			

Optimasi Konfigurasi Apache untuk Performa Maksimal

Setelah melakukan setup modul, selanjutnya optimasi konfigurasi Apache agar berjalan lebih cepat, efisien, dan stabil. Berikut langkah-langkah optimasinya:

1. Optimasi Multi-Processing Module (MPM)

Apache memiliki beberapa jenis MPM yang mengatur server menangani koneksi. Menggunakan MPM yang tepat bisa membuat server jauh lebih optimal. Kamu bisa cek MPM yang digunakan:

				
					apachectl -V | grep MPM
				
			

Kalau pakai MPM Event (yang lebih efisien untuk trafik tinggi), atur parameternya di file konfigurasi MPM di direktori /etc/apache2/mods-available/mpm_event.conf. Ubah atau tambahkan konfigurasi berikut:

				
					&lt;IfModule mpm_event_module&gt;
StartServers             2
MinSpareThreads         25
MaxSpareThreads         75
ThreadLimit             64
ThreadsPerChild         25
MaxRequestWorkers       200
MaxConnectionsPerChild  10000
&lt;/IfModule&gt;
				
			

Keterangan:

  • ThreadsPerChild: Jumlah thread per proses
  • MaxRequestWorkers: Jumlah maksimum request yang bisa ditangani Apache sekaligus
  • MaxConnectionsPerChild: Mencegah memory leak dengan membatasi jumlah koneksi per proses

Setelah mengedit, simpan perubahan lalu restart Apache.

				
					sudo systemctl restart apache2
				
			

2. Mengatur KeepAlive untuk Koneksi Lebih Efisien

KeepAlive membuat satu koneksi dapat dipakai untuk beberapa permintaan HTTP, jadi tidak perlu bolak-balik buka koneksi baru sehingga jadi lebih efisien.

Apache biasanya sudah mengaktifkan KeepAlive, tapi agar lebih optimal, pengaturannya tetap perlu disesuaikan. Edit file konfigurasi Apache di direktori /etc/apache2/apache2.conf, tambahkan baris berikut:

				
					KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
				
			

Keterangan:

  • MaxKeepAliveRequest: Mengatur banyaknya request yang bisa dilakukan dalam satu koneksi
  • KeepAliveTimeout: Menentukan lama koneksi bisa bertahan (dalam detik) sebelum ditutup

3. Mengaktifkan HTTP/2 untuk Kecepatan Lebih Baik

HTTP/2 jauh lebih cepat dari HTTP/1.1 karena dapat mengirim beberapa request dalam satu koneksi.

Jalankan perintah berikut untuk mengktifkan modul HTTP/2 :

				
					sudo a2enmod http2  # Untuk Ubuntu/Debian
sudo systemctl restart apache2
				
			

4. Meningkatkan Keamanan dengan mod_security dan mod_evasive

Untuk instal dan mengaktifkan modul mod_security dan mod_evasive, jalankan perintah di bawah berikut:

				
					sudo apt install libapache2-mod-security2 libapache2-mod-evasive -y  # Ubuntu/Debian
sudo systemctl restart apache2
				
			

Lalu, atur rate limit di /etc/apache2/mods-available/evasive.conf.

				
					DOSHashTableSize 2048
DOSPageCount 5
DOSSiteCount 50
DOSBlockingPeriod 10
				
			

Setup ini akan memblokir alamat IP yang melakukan request lebih dari 5 kali per detik ke halaman website sehingga sever lebih aman terhadap serangan. Apabila semua setting telah dilakukan, restart Apache supaya perubahan langsung diterapkan.

Nah, itu dia cara mengoptimalkan Apache di VPS untuk memastikan website berjalan lebih cepat, stabil, dan efisien meskipun traffic sedang naik. Kalau ada yang masih bikin bingung, silakan hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket, yak!

Jangan lupa, kalau performa website juga ditentukan oleh spesifikasi VPS yang kamu pakai, Sob! Dengan VPS yang punya spesifikasi optimal dan dukungan teknis responsif, kamu bisa lebih fokus untuk mengelola website tanpa perlu memikirkan setting teknis lainnya.

Related Posts
Cara Install PHPMyAdmin di VPS Ubuntu

Halo, Sobat Jagoan! PHPMyAdmin adalah alat berbasis web yang memungkinkan kamu untuk mengelola database MySQL atau MariaDB melalui browser dengan Read more

Cara Mengamankan PHPMyAdmin di VPS Ubuntu

Halo, Sobat Jagoan! Karena phpMyAdmin itu sering dipakai di mana-mana, banyak hacker yang suka mencoba masuk ke phpMyAdmin tanpa izin. Read more

Cara Install MariaDB di VPS Ubuntu

Halo, Sobat Jagoan! Kamu mungkin sudah familiar dengan MySQL, tetapi tahukah kamu bahwa MariaDB menawarkan fitur yang serupa bahkan lebih Read more

Cara Menambahkan User dan Database Baru di MariaDB

Halo, Sobat Jagoan! Setelah kamu berhasil melakukan instalasi MariaDB, hal dasar yang bisa kamu lakukan yaitu membuat database baru untuk Read more