Какие модули Apache2 можно безопасно отключить?

Это мои включенные моды:

alias auth_basic authz_default authz_groupfile authz_host authz_user autoindex deflate dir env mime negotiation php5 reqtimeout rewrite status setenvif

Я пытаюсь максимально уменьшить объем памяти Apache.

Кто-нибудь может направить меня в правильном направлении относительно того, какие из них мне абсолютно необходимы, а какие являются необязательными? Я планирую запустить Symfony, но не смог найти никаких требований к Symfony, чтобы все это заработало.

Ответ 1

Ну, вы можете начать с отключения всех модулей auth/authz, если у вас нет работы Apache для аутентификации, и в этом случае включите только модуль auth, который вы фактически собираетесь для использования.

Вам может не понадобиться модуль autoindex; вам нужно только это, если вы хотите, чтобы Apache автоматически создавал индексные файлы.

deflate - вы действительно этого хотите, поэтому Apache может gzip-сжимать данные перед отправкой обратно клиенту (значительно снижает трафик).

reqtimeout - тот экспериментальный. Не уверен, если вы включили его намеренно или нет.

Ответ 2

Недавно я прочитал веб-страницу, в которой подробно описаны какие модули Apache можно безопасно удалить. Он считает наиболее распространенные случаи использования, но вы всегда должны проверять и снова использовать то, что вам нужно:

Это список модулей, которые автор оставил включенными:

core_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
mpm_event_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
authn_file_module (shared)
authz_host_module (shared)
authz_user_module (shared)
expires_module (shared)
deflate_module (shared)
headers_module (shared)
dir_module (shared)
mime_module (shared)
setenvif_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_fcgi_module (shared)

Страница содержит подробную информацию о CentOS, а также сервере Ubuntu. Я настоятельно рекомендую прочитать всю страницу, так как содержит подробную информацию о том, почему некоторые пакеты были оставлены или были отключены, а также советы.

Ответ 3

Я использую только: dir, php5, authz_host, mime, rewrite.

Отключение бесполезных модулей позволит вам сэкономить массу ресурсов.

Я порекомендовал вам отключить один за другим и каждый раз перезапускать apache и тестировать. Также обратите внимание на то, какие модули у вас были в начале, в случае ошибки, чтобы вернуться назад.

Ответ 4

Я создал небольшой скрипт на Python, чтобы помочь вам с этим. Пожалуйста, посмотрите на https://github.com/zioalex/unused_apache_modules

Вот что вы можете ожидать от этого:

curl http://localhost/server-info > http_modules_test.txt
cat http_modules_test.txt| python find_unused_apache_mod.py

1
Module name mod_python.c
Configuration Phase Participation: 4
Request Phase Participation: 11
Current Configuration: 3

2
Module name mod_version.c
Configuration Phase Participation: 0
Request Phase Participation: 0
Current Configuration: 1

3
Module name mod_proxy_connect.c
Configuration Phase Participation: 0
Request Phase Participation: 0
Current Configuration: 0

To remove safely:
 ['mod_proxy_connect.c']
POPPED:  mod_proxy_connect.c

To KEEP:  ['mod_python.c', 'mod_version.c', 'mod_proxy_connect.c']

Ответ 5

Комментировать или отключить все модули.

while fails $(apachectl configtest) # or apache2ctl configtest on debian
do
 if directive needed
  Add in the module that supplies the directive complained about.
 else
  delete directive
 fi
done

Это проще, чем комментировать их один за другим, в итоге вы получаете минимальный набор. Проверите ли вы после этого, что все это работает, но я использовал его как процесс несколько раз без каких-либо серьезных проблем, но модуль с конфигурацией без ошибок теоретически может потерпеть неудачу (если такая вещь существует).

Ответ 6

Я резко сократил список включенных модулей от actions alias auth_basic auth_digest authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi dav dav_fs dav_svn deflate dir env fcgid mime negotiation php5 proxy proxy_balancer proxy_connect proxy_http reqtimeout rewrite ruby setenvif ssl status suexec до гораздо легче: authz_host deflate dir fcgid mime php5 rewrite.