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

3

Atualmente estou lendo o 'Definitive Guide to Apache mod_rewrite' e ao longo do livro existem outros módulos do Apache mencionados que são alternativas melhores em determinados cenários.

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

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

    
por AgentConundrum 23.01.2010 / 00:55

3 respostas

1

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

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

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. Veja link para um exemplo desse tipo de coisa. Meu servidor atualmente informa:

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

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

    
por 23.01.2010 / 01:02
1

Você tem acesso a .htaccess ? Eu diria que sim, senão você não tem controle sobre o servidor, e você não pode fazer nada com ele, então não há nenhum ponto em você saber quais módulos você tem.

Nesse caso, você pode adicionar várias diretivas <IfModule> no arquivo .htaccess para fazer algo (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.

    
por 23.01.2010 / 01:23
1

Esta é uma resposta não programática.

Pergunte ao administrador do host diretamente, se puder.

Você poderia 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 para segurança) para que você pudesse obter facilmente as informações completas de configuração usando o seu navegador.

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

    
por 23.01.2010 / 06:01