File konfigurasi Apache terletak di direktori /var/apache/conf (atau PREFIX/conf, tergantung direktori yang Anda set saat configure Apache ditahap instalasi) atau /var/lib/apache/conf jika Anda instal lewat binary Slackware. Nama filenya adalah httpd.conf, srm.conf dan access.conf.
httpd.conf merupakan file yang dieksekusi pertama kali saat Apache dijalankan. Didalamnya berisi konfigurasi secara umum. srm.conf adalah file konfigurasi yang dieksekusi setelah httpd.conf. Disarankan untuk membiarkan file konfigurasi ini tetap kosong. Dan access.conf merupakan konfigurasi untuk memfilter host-host yang boleh mengakses layanan Apache
Beberapa konfigurasi dari bagian berikut tidak akan berpengaruh jika Anda tentukan sebelumnya Apache berjalan dengan model inetd. Jika memang demikian, lompati beberapa bagian berikut, dan langsung menuju ke parameter ServerAdmin.
Pilihan ini biasanya diikuti beberapa atribut yang memastikan bahwa direktori tersebut diakses secara benar oleh user, dengan kontrol tertentu tanpa mengganggu keamanan dari direktori yang dilayankan pada publik. Untuk keterangan singkat dari atribut yang ada pada tiap direktori, Anda bisa baca sub bagian yang lain, yakni ‘Atribut Direktori’. Berikut atribut yang diberikan secara default oleh Apache terhadap DocumentRoot.
.
Dengan fasilitas sejenis, Anda dapat mengaktifkan laporan konfigurasi server dengan memasukkan pilihan di bawah ini :
Apache dapat dimanfaatkan sebagai proxy, berdasarkan modul mod_proxy.c yang dikompilasi saat instalasi. Untuk mengaktifkannya masukkan pilihan berikut:
Untuk dapat memanfaatkan Virtual Hosts, pertama Anda harus mendefinisikan dulu nomor IP dan port yang dipergunakan, minimal satu. Contoh :
httpd.conf merupakan file yang dieksekusi pertama kali saat Apache dijalankan. Didalamnya berisi konfigurasi secara umum. srm.conf adalah file konfigurasi yang dieksekusi setelah httpd.conf. Disarankan untuk membiarkan file konfigurasi ini tetap kosong. Dan access.conf merupakan konfigurasi untuk memfilter host-host yang boleh mengakses layanan Apache
File Konfigurasi Apache
Secara default, Apache memisahkan file konfigurasinya menjadi 3 bagian, yakni httpd.conf, srm.conf dan access.conf. Namun semua binary program pada distribusi yang dicobakan (Slackware 7.0) menyatukannya dalam satu file yakni httpd.conf. File ini dibagi menjadi 3 bagian utama :- Global environmentBerisi konfigurasi Apache secara umum, seperti berapa banyak user dapat mengakses pada saat yang bersamaan.
- Section (Main) ConfigurationKonfigurasi utama yang tidak termasuk dalam virtual host. Bagian ini juga termasuk seting default untuk virtual host.
- Virtual hostKonfigurasi untuk virtual host, yakni memanggil nomor IP dan DNS yang berbeda meskipun masih dalam satu administrasi oleh Apache.
Global Environment
- ServerType [standalone/inetd]
- ServerRoot ”/var/lib/apache”
- LockFile /var/run/httpd.lock
- PidFile /var/run/httpd.pid
- ScoreBoardFile /var/run/httpd.scoreboard
- ResourceConfig conf/srm.confAccessConfig conf/access.conf
- Timeout 300
- KeepAlive On
- MaxKeepAliveRequests 100
- KeepAliveTimeout 15
- MinSpareServers 5MaxSpareServers 10
- StartServers 5
- MaxClients 150
- MaxRequestsPerChild 30
Catatan :
Child process adalah proses yang muncul karena ada proses di atasnya. Jika proses di atasnya mati, maka child process ikut mati. Di sistem Unix, proses dijalankan dengan berjenjang, dan puncak segala proses adalah init.
- Listen 3000Listen 12.34.56.78:80
- BindAddress *
- LoadModule env_module libexec/mod_env.soLoadModule config_log_module libexec/mod_log_config.so
LoadModule mime_module libexec/mod_mime.so
LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule status_module libexec/mod_status.so
LoadModule includes_module libexec/mod_include.so
LoadModule autoindex_module libexec/mod_autoindex.so
LoadModule dir_module libexec/mod_dir.so
LoadModule cgi_module libexec/mod_cgi.so
LoadModule asis_module libexec/mod_asis.so
LoadModule imap_module libexec/mod_imap.so
LoadModule action_module libexec/mod_actions.so
LoadModule userdir_module libexec/mod_userdir.so
LoadModule alias_module libexec/mod_alias.so
LoadModule access_module libexec/mod_access.so
LoadModule auth_module libexec/mod_auth.so
LoadModule setenvif_module libexec/mod_setenvif.so
- ClearModuleList
- AddModule mod_env.cAddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_setenvif.c
- ExtendedStatus On
- ‘Main’ server configuration
Beberapa konfigurasi dari bagian berikut tidak akan berpengaruh jika Anda tentukan sebelumnya Apache berjalan dengan model inetd. Jika memang demikian, lompati beberapa bagian berikut, dan langsung menuju ke parameter ServerAdmin.
- Port 80
- User nobodyGroup nogroup
- ServerAdmin root@domain.Anda.com
- ServerName domain.anda.com
- DocumentRoot ”/var/lib/apache/htdocs”
Pilihan ini biasanya diikuti beberapa atribut yang memastikan bahwa direktori tersebut diakses secara benar oleh user, dengan kontrol tertentu tanpa mengganggu keamanan dari direktori yang dilayankan pada publik. Untuk keterangan singkat dari atribut yang ada pada tiap direktori, Anda bisa baca sub bagian yang lain, yakni ‘Atribut Direktori’. Berikut atribut yang diberikan secara default oleh Apache terhadap DocumentRoot.
- <Directory />Options FollowSymLinks
AllowOverride None
</Directory>
<Directory ”/var/lib/apache/htdocs”>
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
- UserDir public_html
- <Directory /*/public_html>AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>
- User yang bersangkutan terdaftar dalam sistem
- Pemilik daemon httpd punya hak baca terhadap direktori tersebut.
- Perhatikan konfigurasi file .htaccess yang ada di tiap direktori.
- DirectoryIndex index.html index.htm default.htm
- AccessFileName .htaccess
- <Files .htaccess>Order allow,deny
Deny from all
</Files>
- CacheNegotiatedDocs
- UseCanonicalName On
- TypesConfig /var/lib/apache/conf/mime.types
- DefaultType text/plain
- <IfModule mod_mime_magic.c>MIMEMagicFile /var/lib/apache/conf/magic </IfModule>
- HostnameLookups Off
- ErrorLog /var/log/error_log
- LogLevel warn
- LogFormat ”%h %l %u %t\”%r\” %>s %b” common
- CustomLog /var/log/access_log common
- CustomLog /var/log/referer_log refererCustomLog /var/log/agent_log agent CustomLog /var/log/access_log combined
- ServerSignature On
.
- Alias /icons/ ”/var/lib/apache/icons/”
- Alias namasamaran namaasli
- Alias /fade ”/home/fade/publik”
- <Directory ”/home/fade/publik”>Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
- ScriptAlias /cgi-bin/ ”/var/lib/apache/cgi-bin/”<Directory ”/var/lib/apache/cgi-bin”>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
- Redirect nama.domain.lama nama.domain.baru
- IndexOptions FancyIndexing
- AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzipAddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/*
- DefaultIcon /icons/unknown.gif
- AddDescription ”GZIP compressed document” .gz
- ReadmeName README
- HeaderName HEADER
- IndexIgnore .??* * *# HEADER* README* RCS CVS *,v *,t
- AddEncoding x-gzip gz
- AddLanguage en .en
- LanguagePriority en fr de
- AddType application/x-httpd-php3 .php3
- AddHandler cgi-script .cgi
- AddHandler server-parsed .shtmlAddHandler send-as-is asis
AddHandler imap-file map
AddHandler type-map var
- Action handler-name /cgi-script/location
- Action media/type /cgi-script/location
- MetaDir .web
- MetaSuffix .meta
- ErrorDocument 404 /missing.html
- Teks murni; misalErrorDocument 404 "File yang Anda akses tidak tersedia.
- Menunjuk file lokal; misalErrorDocument 404 /cgi-bin/missing_handler.pl
- Menunjuk file eksternalErrorDocument 402 http://server.lain.com/info_daftar.html
- BrowserMatch ”Mozilla/2″ nokeepalive
- <Location /server-status>SetHandler server-status
Order deny,allow
Deny from all
Allow from 192.168.1.1
</Location>
Dengan fasilitas sejenis, Anda dapat mengaktifkan laporan konfigurasi server dengan memasukkan pilihan di bawah ini :
- <Location /server-info>SetHandler server-info
Order deny,allow
Deny from all
Allow from .your_domain.com
</Location>
- <Location /cgi-bin/phf*>Deny from all
ErrorDocument 403 http://nama.domain.Anda/phf_abuse_log.cgi
</Location>
Apache dapat dimanfaatkan sebagai proxy, berdasarkan modul mod_proxy.c yang dikompilasi saat instalasi. Untuk mengaktifkannya masukkan pilihan berikut:
- <IfModule mod_proxy.c>ProxyRequests On
<Directory proxy:*>
Order deny,allow
Deny from all
Allow from .nama.domain.Anda
</Directory>
- ProxyVia On
- CacheRoot ”/var/lib/apache/proxy”CacheSize 5
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1
NoCache nama.domain.lain domain.lainnya.lagi 192.168.1.1
</IfModule>
Virtual Hosts
Bagian ini berisi pilihan jika Anda akan menggunakan domain atau hostnames lebih dari satu dalam satu server.Untuk dapat memanfaatkan Virtual Hosts, pertama Anda harus mendefinisikan dulu nomor IP dan port yang dipergunakan, minimal satu. Contoh :
- NameVirtualHost 192.168.1.2:80NameVirtualHost 192.168.1.3
- <VirtualHost 192.168.1.2>ServerAdmin webmaster@domain.virtual.Anda
DocumentRoot /www/docs/domain.virtual.Anda
ServerName domain.virtual.Anda
ErrorLog logs/domain.virtual.Anda-error_log
CustomLog logs/domain.virtual.Anda-access_log common
</VirtualHost>
AllowOverride
Dalam mengakses setiap file dalam direktori, apache membaca file akses yang telah ditentukan sebelumnya. File akses tersebut berada dalam tiap direktori. Atribut AllowOverride mengesampingkan hal itu.- AllowOverride
diikuti dengan None (berarti mengesampingkan semua file akses) atau All (menggunakan semua parameter) atau parameter pilihan berikut : - AuthConfig
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan autentikasi. Misalnya; AuthName, AuthType dll. - FileInfo
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan kontrol terhadap tipe dokumen. Misalnya; AddType, DefaultType dll. - Indexing
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan indeks direktori. Misal; DefaultIcon, FancyIndexing dll. - Limit
Memungkinkan penggunaan parameter-parameter tentang akses file (allow, deny dan order) - Options
Memungkinkan penggunaan parameter yang mengontrol direktori khusus. Misal; Options.
Options
Atribut ini mengontrol fitur yang ditawarkan tiap direktori. Atribut option diikuti oleh :- All
Semua pilihan, kecuali untuk MultiView. - ExecCGI
Diperbolehkan mengeksekusi CGI. - FollowSymLinks
Server akan mengikuti link simbolik pada direktori yang bersangkutan. Mengikuti link simbolik tidak akan merubah nama tujuan (path name) URL-nya. - Includes
Diperbolehkan Server-side includes. Misalnya eksekusi skrip perl. - IncludesNOEXEC
Server-side includes diperbolehkan, tapi perintah #exec dan #include atas skrip CGI tidak diperbolehkan. - Indexes
Jika sebuah file mengakses sebuah direktori yang tidak mempunyai DirectoryIndex (misalnya, index.html) maka server akan menampilkan listing file dalam direktori yang bersangkutan. - MultiViews
MultiViews terhadap isi diperbolehkan. - SymLinksIfOwnerMatch
Server hanya akan mengikuti Symlinks jika yang mengakses adalah pemilik direktori atau file yang bersangkutan.
SUMBER: http://hemaya.wordpress.com
di buat threadnya aja gan :D
ReplyDeleteklo gak ya langsung di jawab
heheuuu
follow back anee yee gan :)
ya gan,,
Deleteane masih bingung soal gituan gan,,
mngkin blog sebelah lebih paham kalau yg begituan,,
agan vergos ada iku PTC gag? bagi info nya y gan :D