Какие модули Apache2 можно безопасно отключить? - PullRequest
14 голосов
/ 10 октября 2010

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

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

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

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

Ответы [ 6 ]

10 голосов
/ 10 октября 2010

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

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

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

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

2 голосов
/ 27 октября 2014

Я недавно прочитал веб-страницу, на которой подробно , какие модули 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. Я настоятельно рекомендую прочитать всю страницу, так как она содержит подробную информацию о том, почему определенные пакеты были оставлены или были отключены, а также советы.

1 голос
/ 19 июля 2018

Я создал небольшой скрипт на 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']
1 голос
/ 16 ноября 2010

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

Отключение ненужных модулей сэкономит вам много ресурсов.

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

0 голосов
/ 06 мая 2014

Я резко сократил список включенных модулей с 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.

0 голосов
/ 19 февраля 2014

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

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

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

...