Мінімальний мінімум модулів Apache, необхідний для статичного веб-сайту та відсутність автентичності


12

Я щойно встановив пакет httpd в RHEL 6.1 (який забезпечує Apache 2.2.15). Типовий httpd.conf містить не менше 50 екземплярів директиви LoadModule.

Однак все, що я хочу зробити, - це розміщення статичного вмісту, карти Google або двох і деяких CSS.

Помилка та помилка, поряд із цим apachectl configtest, змушує мене вважати, що я можу піти з увімкнених лише наступних модулів (з огляду на відсутність інших змін у файлі конфігурації за замовчуванням):

mod_authz_host
mod_log_config
mod_mime_magic
mod_setenvif
mod_mime
mod_autoindex
mod_negotiation
mod_dir
mod_alias

Чи є модулі, які повинні бути включені до цього списку для кращої / безпечнішої роботи сервера? В офіційних документах , здається , не показують , що нічого більше mod_dirі mod_mimeабсолютно необхідні для сайту усічених.

Примітка. Я не прошу поради щодо того, який сервер HTTP використовувати для вказаного завдання. Мені відомо про існування "легших" серверів. Це питання стосується модулів Apache.

Відповіді:


9

Відповідь наводиться в офіційних документах 2.2, в розділі про налаштування продуктивності .

Тут пов'язане запитання, яке виникає, звичайно, які модулі вам потрібні, а які - ні. Відповідь тут, звичайно, буде залежати від одного веб-сайту до іншого. Однак мінімальний перелік> модулів, які ви можете отримати, має тенденцію включати mod_mime, mod_dir та mod_log_config. mod_log_config, звичайно, необов’язковий, оскільки ви можете запускати веб-сайт без файлів журналу. Однак це не рекомендується.


6

Щойно я помітив це питання, коли я налаштовував новий комп'ютер з Apache 2.2. Ось абсолютний мінімум httpd.conf, який мені вдалося придумати:

    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                

ErrorLogЗвичайно, вам не потрібен , але я експериментував, тому явно потрібні були відгуки, якщо мій файл httpd.conf викликав проблеми. Вам потрібно ServerNameуникати попередження під час запуску про неможливість надійного визначення адреси сервера. Я, безумовно, можу підтвердити, що вам потрібно, dir_moduleі mime_moduleщоб ви могли доставити файл за замовчуванням з URL-адреси каталогу, а також відобразити файл як HTML, а не звичайний текст.

Я публікую це, тому що вважаю файл httpd.conf за замовчуванням надзвичайно складним, і я згадав, що коли я навчався Tomcat, все стало набагато зрозумілішим, коли я виявив абсолютний мінімальний файл конфігурації сервера.

Якщо ви хочете серверувати php-сторінки, вам знадобляться лише два наступні рядки (скориговані відповідно до вашого середовища:

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"

було б корисно побачити це для Linux, у моєму випадку Червона шапочка. Я намагаюся вище, але це вживає зовсім небагато модифікацій, і досі не переспрямує на html-файл, який мене цікавить.
alimack

1

Це пройшло вранці, щоб відпрацювати шляхом проб і помилок, але на Red hat 6 (ish) це працює, зауважте, що мені довелося переосмислити існуючий файл .htaccess, який я не можу змінити. Це вкаже на offline.html у вашому кореневому каталозі

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>

Якщо вам не потрібно переосмислювати файл htaccess, ви, ймовірно, можете уникнути цього (якщо припустити, що ви хочете записувати помилку):

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  
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.