Как узнать, какие модули Apache мне доступны?

Как узнать, какие модули Apache мне доступны?

В настоящее время я читаю «Полное руководство по Apache mod_rewrite», и в этой книге упоминаются другие модули Apache, которые являются лучшими альтернативами в определенных сценариях.

Это заставило меня задуматься, что же установлено на моем сайте. У меня нет доступа по SSH к серверу, и у меня нет доступа ни к одному из файлов конфигурации (насколько мне известно).

Есть ли способ узнать, что установлено, или мне нужно напрямую спросить у своего хостера? Я предполагаю, что некоторые команды можно запустить внутри PHP (т. е. с использованием обратных кавычек), но я не уверен, какие ограничения это накладывает.

решение1

Существует внешний метод, но для этого нужно знать, включен ли он и установлен ли вообще.

Функция phpinfo()может рассказать вам кое-что об Apache, но в основном она о PHP. Если вы можете запускать команды через веб-сервер, то запуск

httpd -t -D DUMP_MODULES

может и сработает, но я бы на это не рассчитывал.

Кроме того, некоторые модули могут включать данные в ответы сервера, даже если они в данный момент не используются. См.http://www.netcraft.com/whatsдля примера такого рода вещей. Мой сервер в настоящее время сообщает:

Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.9-dev DAV/2 PHP/5.2.11 Phusion_Passenger/2.2.9

что, похоже, верно, и это напоминает мне, что мне нужно удалить часть PHP.

решение2

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

Если это так, вы можете добавить различные <IfModule>директивы в .htaccessфайл, чтобы сделать что-то (например, запретить доступ к определенному файлу). Затем вы можете попытаться получить доступ к файлу. Если вы можете получить доступ к файлу, то у вас нет доступного модуля.

решение3

Это не программный ответ.

Если у вас есть такая возможность, обратитесь напрямую к администратору хоста.

Вы можете попробовать попросить администратора активировать модуль Apache mod_info и настроить главный файл сервера httpd.conf (и указать ограниченный URI для безопасности), чтобы вы могли легко получить полную информацию о конфигурации с помощью вашего веб-браузера.

Вы можете попросить администратора хоста выполнить команду httpd, предоставленную другим пользователем выше, и отправить вам вывод.

Связанный контент