a2enmod modul
; untuk menonaktifkan modul, perintahnya adalah a2dismod modul
. Program ini benar-benar hanya membuat (atau menghapus) link simbolik di /etc/apache2/mods-enabled/
menunjuk pada file yang sebenarnya (yang disimpan dalam /etc/apache2/mods-available/
).
/etc/apache2/ports.conf
), dan menyajikan halaman dari direktori /var/www/html/
(seperti yang dikonfigurasi di /etc/apache2/sites-enabled/000-default.conf
).
mod_ssl
) yang diperlukan untuk HTTP yang aman (HTTPS) secara baku. Hanya perlu diaktifkan dengan a2enmod ssl
, kemudian direktif yang diperlukan harus ditambahkan ke berkas konfigurasi. Contoh konfigurasi tersedia di /etc/apache2/sites-available/default-ssl.conf
.
SSLCertificateFile /etc/letsencrypt/live/DOMAIN/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/DOMAIN/chain.pem SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
mod_gnutls
, yang dikirimkan dengan paket libapache2-mod-gnutls dan diaktifkan dengan perintah a2enmod gnutls
. Sayangnya versi yang dikemas untuk Debian memiliki masalah serius dan bahkan implikasi keamanan dan karenanya bukan bagian dari rilis Debian Bullseye.
/etc/apache2/sites-enabled/000-default.conf
; host virtual ini akan digunakan jika tidak ditemukan host yang cocok dengan permintaan yang dikirim oleh klien.
/etc/apache2/situs-available/
. Maka menyiapkan sebuah situs web untuk domain falcot.org
adalah cukup dengan sekedar membuat berkas berikut, kemudian memfungsikan host virtual dengan a2ensite www.falcot.org
.
Contoh 11.13. Berkas /etc/apache2/sites-available/www.falcot.org.conf
<VirtualHost *:80> ServerName www.falcot.org ServerAlias falcot.org DocumentRoot /srv/www/www.falcot.org </VirtualHost>
CustomLog
dalam definisi host virtual). Maka masuk akal untuk menyesuaikan format berkas log ini agar menyertakan nama host virtual. Ini dapat dilakukan dengan menciptakan sebuah berkas /etc/apache2/conf-available/customlog.conf
yang menentukan format baru untuk semua berkas log (dengan direktif LogFormat
) dan memfungsikannya dengan a2enconf customlog
. Baris CustomLog
harus juga akan dihapus (atau dijadikan komentar) dari berkas /etc/apache2/sites-available/000-default.conf
.
Directory
blok; mereka memungkinkan menentukan perilaku yang berbeda untuk server tergantung pada lokasi berkas yang diminta. Blok tersebut umumnya memuat direktif Options
dan AllowOverride
.
Contoh 11.15. Blok direktori
<Directory /srv/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
berisi daftar berkas yang akan dicoba ketika permintaan klien cocok dengan suatu direktori. Berkas pertama yang ada dalam daftar digunakan dan dikirim sebagai respon.
Options
diikuti oleh daftar pilihan yang diaktifkan. Nilai None
menonaktifkan semua pilihan; sejalan dengan itu, All
memfungsikan mereka semua kecuali MultiViews
. Pilihan yang tersedia meliputi:
ExecCGI
menunjukkan bahwa skrip CGI dapat dijalankan.
FollowSymlinks
memberitahu server bahwa taut simbolik dapat diikuti, dan bahwa respon harus berisi isi dari target taut tersebut.
SymlinksIfOwnerMatch
juga memberitahu server untuk mengikuti taut simbolik, tetapi hanya bila taut dan target memiliki pemilik yang sama.
Includes
memfungsikan Server Side Includes (disingkat SSI). Ini adalah direktif yang tertanam di halaman HTML dan dieksekusi sambil jalan untuk setiap permintaan.
IncludesNOEXEC
memfungsikan Server Side Includes (SSI) tapi menonaktifkan perintah exec
dan membatasi direktif include
ke berkas teks/markup.
Indexes
memberitahu server untuk memberikan daftar isi direktori jika permintaan HTTP yang dikirim oleh klien menunjuk ke direktori tanpa berkas indeks (yaitu, ketika tidak ada berkas yang disebutkan oleh direktif DirectoryIndex
yang ada dalam direktori ini).
MultiViews
memungkinkan negosiasi konten; ini dapat digunakan oleh server untuk mengembalikan halaman web yang cocok dengan bahasa pilihan sebagaimana dikonfigurasi dalam peramban.
AllowOverride
mencantumkan semua pilihan yang dapat diaktifkan atau dinonaktifkan melalui berkas .htaccess
. Penggunaan umum pilihan ini adalah untuk membatasi ExecCGI
, sehingga administrator memilih pengguna yang diizinkan untuk menjalankan program di bawah identitas server web (pengguna www-data
).
mod_auth*
.
/etc/apache2/authfiles/htpasswd-private
berisi daftar pengguna dan kata sandi; itu umumnya dimanipulasi dengan perintah htpasswd
. Sebagai contoh, perintah berikut digunakan untuk menambahkan pengguna atau mengubah sandi:
#
htpasswd /etc/apache2/authfiles/htpasswd-private user
New password: Re-type new password: Adding password for user user
Require
mengendalikan pembatasan akses untuk suatu direktori (dan subdirektorinya, secara rekursif).
Require
digabung dalam sebuah blok RequireAll
.
/etc/awstats/awstats.conf
. Para administrator Falcot mempertahankannya kecuali parameter berikut:
LogFile="/var/log/apache2/access.log" LogFormat = "%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" SiteDomain="www.falcot.com" HostAliases="falcot.com REGEX[^.*\.falcot\.com$]" DNSLookup=1 LoadPlugin="tooltips"
LogFile
dan LogFormat
menggambarkan lokasi dan format berkas log dan informasi di dalamnya; SiteDomain
dan HostAliases
berisi daftar berbagai nama yang dipakai oleh situs web utama.
DNSLookup
biasanya tidak diatur ke 1
; untuk situs kecil, seperti Falcot yang dijelaskan di atas, pengaturan ini memungkinkan mendapatkan laporan yang lebih mudah dibaca yang meliputi nama-nama lengkap mesin bukan alamat IP mentah.
/etc/awstats/awstats.www.falcot.org.conf
.
Contoh 11.18. Berkas konfigurasi AWStats untuk sebuah host virtual
Include "/etc/awstats/awstats.conf" SiteDomain="www.falcot.org" HostAliases="falcot.org"
/usr/share/awstats/ikon/
. Agar ikon ini akan tersedia di situs web, konfigurasi Apache perlu disesuaikan untuk menyertakan direktif berikut (lihat /usr/share/doc/awstats/examples/apache.conf
untuk contoh yang lebih rinci):
Alias /awstats-icon/ /usr/share/awstats/icon/