Como posso saber quais módulos do Apache estão disponíveis para mim?

Como posso saber quais módulos do Apache estão disponíveis para mim?

Atualmente estou lendo o 'Guia Definitivo para Apache mod_rewrite' e ao longo do livro há outros módulos do Apache mencionados que são alternativas melhores em determinados cenários.

Isso me fez pensar o que está instalado em meu site. Não tenho acesso SSH ao servidor e não tenho acesso a nenhum dos arquivos de configuração (afaik).

Existe alguma maneira de determinar o que está instalado ou preciso perguntar diretamente ao meu host? Suponho que certos comandos possam ser executados dentro do PHP (ou seja, usando crases), mas não tenho certeza de quais são as limitações disso.

Responder1

Existe um método externo, mas será necessário saber se ele está ativado e se está instalado.

A phpinfo()função pode lhe dizer algumas coisas sobre o Apache, mas é principalmente sobre PHP. Se você puder executar comandos através do servidor web, então executando

httpd -t -D DUMP_MODULES

pode funcionar, mas eu não contaria com isso.

Além disso, alguns módulos podem incluir dados nas respostas do servidor, mesmo que não sejam usados ​​atualmente. Verhttp://www.netcraft.com/whatspara um exemplo desse tipo de coisa. Meu servidor atualmente reporta:

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

o que parece correto, o que me lembra, preciso remover a parte do PHP.

Responder2

Você tem acesso .htaccess? Eu presumo que sim, caso contrário você não tem controle sobre o servidor web e não pode fazer nada com ele, então não faz sentido saber quais módulos você possui.

Nesse caso, você poderia adicionar várias <IfModule>diretivas no .htaccessarquivo para fazer alguma coisa (por exemplo, negar acesso a um determinado arquivo). Você pode então tentar acessar o arquivo. Se você puder acessar o arquivo, então você não tem o módulo disponível.

Responder3

Esta é uma resposta não programática.

Pergunte diretamente ao administrador do host, se puder.

Você pode tentar pedir ao administrador para ativar o módulo mod_info do Apache e configurar o arquivo mestre do servidor httpd.conf (e apontar para um URI restrito por segurança) para que você possa obter facilmente as informações completas de configuração usando seu navegador da web.

Você pode pedir ao administrador do host para executar o comando httpd fornecido por outro usuário acima e enviar a saída.

informação relacionada