Modul Apache minimum diperlukan untuk situs web statis dan tanpa authN

12

Saya baru saja menginstal paket httpd di RHEL 6.1 (yang menyediakan Apache 2.2.15). Httpd.conf default berisi tidak kurang dari 50 contoh dari petunjuk LoadModule.

Namun, yang ingin saya lakukan adalah menyajikan konten statis, satu atau dua peta Google dan beberapa CSS.

Trial-and-error, bersama dengan apachectl configtest, membuat saya percaya bahwa saya bisa pergi hanya dengan modul-modul berikut yang diaktifkan (tidak ada perubahan lain pada file konfigurasi default):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

Apakah ada modul yang harus dimasukkan dalam daftar ini untuk operasi server yang lebih baik / lebih aman? Dokumen resmi tampaknya menunjukkan bahwa tidak lebih dari mod_dirdan mod_mimemutlak diperlukan untuk situs barebone.

Catatan: Saya tidak meminta saran tentang server HTTP mana yang akan digunakan untuk tugas yang ditunjukkan. Saya menyadari keberadaan server "lebih ringan". Pertanyaan ini tentang modul Apache.

chb
sumber

Jawaban:

9

Jawabannya disinggung dalam dokumen resmi 2.2, di bagian penyesuaian kinerja .

Pertanyaan terkait yang muncul di sini adalah, tentu saja, modul apa yang Anda butuhkan, dan mana yang tidak. Jawabannya di sini tentu saja akan bervariasi dari satu situs web ke yang lain. Namun, daftar minimal modul yang bisa Anda gunakan cenderung menyertakan mod_mime, mod_dir, dan mod_log_config. mod_log_config, tentu saja, opsional, karena Anda dapat menjalankan situs web tanpa file log. Namun ini tidak direkomendasikan.

chb
sumber
6

Hanya memperhatikan pertanyaan ini ketika saya sedang menyiapkan PC baru dengan Apache 2.2. Inilah httpd.conf minimum absolut yang berhasil saya buat:

    ServerName 127.0.0.1
    Listen 8080
    LoadModule dir_module modules/mod_dir.so
    LoadModule mime_module modules/mod_mime.so
    DirectoryIndex index.html 
    DocumentRoot "C:/http_root"
    ErrorLog "logs/error.log"
    LogLevel warn                

Anda tidak perlu ErrorLogtentu saja, tetapi saya sedang bereksperimen sehingga jelas membutuhkan umpan balik jika file httpd.conf saya menyebabkan masalah. Anda perlu ServerNamemenghindari peringatan selama startup tentang tidak dapat menentukan alamat server dengan andal. Saya pasti dapat mengonfirmasi bahwa Anda memang perlu dir_moduledan mime_moduleagar Anda dapat mengirimkan file default dari URL direktori dan juga menampilkan file tersebut sebagai HTML daripada teks biasa.

Saya memposting ini karena saya menemukan file httpd.conf default sangat rumit dan saya ingat bahwa ketika saya sedang belajar Tomcat, semuanya menjadi jauh lebih jelas ketika saya menemukan file konfigurasi server minimum absolut.

Jika Anda ingin membuka server halaman php, Anda hanya perlu 2 baris berikut (disesuaikan agar sesuai dengan lingkungan Anda:

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"
David Hyogo
sumber
akan berguna untuk melihat ini untuk Linux, Red hat dalam kasus saya. Saya mencoba di atas tetapi butuh sedikit modifikasi dan masih tidak akan mengarahkan ulang ke file html yang saya minati.
alimack
1

Ini membutuhkan waktu pagi untuk diselesaikan dengan coba-coba tetapi pada Red hat 6 (ish) ini berfungsi, perhatikan bahwa saya harus mengganti file .htaccess yang sudah ada yang tidak dapat saya ubah. Ini akan mengarah ke offline.html di direktori root Anda

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  

<Directory />
AllowOverride None
</Directory>

Jika Anda tidak perlu menimpa file htaccess Anda mungkin bisa lolos dengan ini (dengan asumsi Anda ingin logging kesalahan):

ServerName 127.0.0.1
Listen 80
TypesConfig /etc/mime.types
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so

User apache
Group apache
DocumentRoot "/homedir/"
DirectoryIndex offline.html
ErrorLog "/homedir/error.log"
LogLevel warn  
alimack
sumber