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 , абсолютно необходимо для сайта barebones.

Примечание: я не спрашиваю совета, какой HTTP-сервер использовать для указанной задачи. Я знаю о существовании "более легких" серверов. Этот вопрос о модулях Apache.

3 ответа3

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-страниц, вам просто нужно следующие 2 строки (скорректированы в соответствии с вашей средой:

PHPIniDir "C:/php/"
LoadModule php5_module "C:/php/php5apache2_2.dll"
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  

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .