Mengonfigurasi Server Web Apache
ServBay memungkinkan Anda untuk mengelola dan mengonfigurasi paket perangkat lunak Apache Web Server bawaan dengan mudah. Melalui antarmuka pengguna grafis ServBay, Anda dapat menyesuaikan pengaturan inti Apache dengan mudah, sesuai kebutuhan berbagai proyek pengembangan.
Mengakses Konfigurasi Apache
- Buka aplikasi ServBay.
- Di bilah navigasi sebelah kiri, klik
Web Server
. - Pilih tab
Apache
.
Anda akan melihat antarmuka konfigurasi Apache, seperti yang terlihat pada gambar berikut:
Penjelasan Pengaturan Utama
Berikut penjelasan terperinci untuk setiap parameter pada antarmuka konfigurasi Apache:
Pengaturan Dasar
- HTTP Port: Port protokol HTTP yang didengarkan oleh Apache, default
80
. - HTTPS Port: Port protokol HTTPS yang didengarkan oleh Apache, default
443
. - Server Name: Nama dan port yang digunakan server untuk mengidentifikasi dirinya. Default
127.0.0.1
umumnya digunakan untuk akses lokal. - Server Root: Direktori akar instalasi paket Apache. Catatan: Ini bukan tempat file situs web Anda berada (direktori root situs web diatur secara terpisah saat menambahkan situs web), melainkan jalur folder program Apache. Default biasanya
/Applications/ServBay/package/apache/current
.
Penyempurnaan Performa (Performance Tuning)
- Timeout: Batas waktu maksimum dalam detik bagi server sebelum membatalkan operasi I/O. Default
300
detik. - Max KeepAlive Requests: Jumlah maksimum permintaan yang diizinkan pada satu koneksi persisten.
1000
berarti banyak permintaan dapat menggunakan koneksi yang sama,0
berarti tidak dibatasi. - KeepAlive Timeout: Waktu maksimum (dalam detik) menunggu permintaan berikutnya sebelum koneksi persisten ditutup oleh server. Default
60
detik. - Keep Alive: Apakah koneksi persisten HTTP (KeepAlive) diaktifkan. Disarankan
On
untuk performa lebih baik. - MPM StartServers: Jumlah proses layanan turunan yang dibuat saat server dinyalakan.
- MPM MaxSpareThreads: Jumlah thread idle maksimum. Mengontrol berapa banyak thread cadangan yang siap melayani permintaan mendadak.
- MPM MaxConnectionsPerChild (sebelumnya MaxRequestsPerChild): Jumlah koneksi maksimum yang dapat dilayani oleh setiap proses layanan turunan selama siklus hidupnya.
0
berarti tidak dibatasi. Berguna untuk mencegah kebocoran memori berlangsung terlalu lama. - MPM MaxRequestWorkers (sebelumnya MaxClients): Jumlah maksimum permintaan konkuren yang dapat dilayani pada saat yang bersamaan (total seluruh proses turunan). Ini adalah pengaturan kunci untuk performa Apache.
- MPM ThreadsPerChild: Jumlah thread tetap yang dibuat untuk setiap proses layanan turunan (berlaku untuk MPM
worker
atauevent
).
Fitur & Karakteristik
- Access File Name: Direktif untuk menentukan nama file konfigurasi terdistribusi, biasanya
.htaccess
. Mengizinkan atau melarang penggunaan file.htaccess
untuk menimpa konfigurasi utama server. - Use Canonical Name: Mengendalikan bagaimana Apache membangun URL yang merujuk dirinya sendiri.
Off
biasanya lebih fleksibel. - Server Signature: Menambahkan baris informasi tentang versi server dan nama virtual host di bagian bawah halaman yang dihasilkan server (seperti halaman galat). Demi keamanan, disarankan
Off
di lingkungan produksi. - Hostname Lookups: Apakah server akan melakukan pencarian balik DNS pada alamat IP klien untuk mendapatkan nama host.
Off
meningkatkan performa karena pencarian DNS bisa memperlambat respons. - Server Tokens: Mengatur jumlah informasi yang ditampilkan pada header respons server (
Server:
).Minor
(misal Apache/2.4) lebih aman daripadaFull
(misal Apache/2.4.58 (Unix) PHP/8.3.1).Prod
hanya menampilkanApache
.
Admin & Logging
- Server Admin: Alamat email administrator yang ditampilkan pada pesan galat yang dikirim ke klien oleh server.
- Log Level: Tingkat detail pesan yang dicatat ke log galat (
error_log
).warn
adalah level yang sering digunakan, merekam peringatan dan galat yang lebih serius. Level lain:debug
,info
,notice
,error
,crit
,alert
,emerg
.
Modul (Modules)
Bagian ini menampilkan daftar modul Apache yang tersedia. Anda dapat memberi tanda centang untuk mengaktifkan modul yang diinginkan, atau hapus centang untuk menonaktifkannya. Beberapa module umum meliputi:
mod_rewrite
: Untuk penulisan ulang URL.mod_ssl
: Menyediakan dukungan SSL/TLS (HTTPS).mod_deflate
: Untuk kompresi konten yang ditransmisikan.mod_expires
: Mengatur header cache.mod_proxy
dan modul terkait: Untuk reverse proxy.mod_auth_basic
,mod_auth_digest
: Untuk otentikasi dasar atau digest.
Setelah mengaktifkan atau menonaktifkan modul, Anda perlu menyimpan konfigurasi dan, jika perlu, me-restart layanan Apache agar perubahan berlaku.
Indeks Direktori (Directory Index)
- Directory Index: Saat URL yang diminta mengarah ke sebuah direktori, Apache akan mencoba menemukan file dalam daftar ini secara berurutan, dan mengembalikan konten file pertama yang ditemukan. Default umumnya
index.html index.htm index.php
.
Pengaturan SSL/TLS
Pengaturan-pengaturan ini digunakan untuk mengatur fungsionalitas HTTPS pada Apache.
- SSLCipherSuite / TLSCipherSuite: Mendefinisikan cipher suite yang diizinkan server untuk digunakan. Penggunaan cipher suite yang kuat dan modern sangat penting untuk keamanan. ServBay menyediakan nilai default yang direkomendasikan.
- SSLProxyCipherSuite: Menentukan cipher suite untuk koneksi SSL saat Apache bertindak sebagai reverse proxy.
- SSLHonorCipherOrder:
On
berarti server memaksa prioritas cipher suite pilihannya sendiri daripada milik klien. Disarankan untuk diaktifkan (On
). - SSLStrictSNIVHostCheck: Jika diaktifkan (
On
), server akan menolak koneksi jika nama host yang diminta klien melalui SNI (Server Name Indication) tidak cocok dengan virtual host yang dikonfigurasi. Meningkatkan keamanan. - ProtocolHonorOrder: Mirip dengan
SSLHonorCipherOrder
, tetapi berlaku pada negosiasi versi protokol. - SSLProtocol: Mendefinisikan versi protokol SSL/TLS yang diizinkan. Contoh
all -SSLv2 -SSLv3
berarti mengizinkan semua protokol modern, tapi menonaktifkan SSLv2 dan SSLv3 yang sudah tidak aman. - SSLProxyProtocol: Menentukan versi protokol yang diizinkan untuk koneksi SSL saat Apache sebagai reverse proxy.
- Protocols: Mengatur urutan negosiasi protokol yang didukung, misalnya memungkinkan HTTP/2.
h2 h2c http/1.1
berarti HTTP/2 (dengan enkripsih2
atau tanpa enkripsih2c
) diberi prioritas, lalu fallback ke HTTP/1.1.
Menyimpan & Mereset
- Reset: Klik tombol ini untuk mengembalikan semua pengaturan Apache ke konfigurasi default milik ServBay.
- Save: Klik tombol ini untuk menyimpan semua perubahan yang Anda buat pada konfigurasi Apache. Setelah disimpan, ServBay biasanya akan langsung menerapkan perubahan. Jika layanan Apache sedang berjalan, mungkin perlu restart singkat agar semua perubahan berlaku.
Catatan Penting
- Pengaturan di sini adalah konfigurasi global Apache. Pengaturan untuk situs tertentu (virtual host), seperti
DocumentRoot
, aturan khususRewriteRule
, dan sebagainya, biasanya diatur saat menambah atau mengedit menuWebsites
(Situs Web). - Jika Anda melihat pesan "Service Apache is not enabled" di bagian atas antarmuka konfigurasi, berarti layanan Apache saat ini tidak sedang berjalan. Anda tetap dapat mengubah dan menyimpan konfigurasi, tetapi perubahan ini baru akan aktif saat Anda menjalankan layanan Apache berikutnya. Anda dapat menjalankan Apache dari panel utama ServBay atau melalui menu
Packages
(Paket).
Ringkasan
ServBay menyediakan antarmuka intuitif untuk mengelola konfigurasi inti Apache Web Server. Dengan memahami setiap opsi ini, Anda dapat menyesuaikan perilaku, performa, dan keamanan Apache sesuai kebutuhan pengembangan Anda, sehingga memaksimalkan manfaat ServBay sebagai lingkungan pengembangan lokal Anda.