Opções para listar a configuração do vache do Apache (olho de pássaro)

2

Estou usando o Ubuntu Linux com Apache2 e vários vhosts, localizados em /etc/apache2/sites-available e ligados simbolicamente (ativados) a partir de /etc/apache2/sites-enabled . A configuração padrão no Ubuntu.

Gostaria de saber se existem ferramentas genéricas disponíveis para o Apache listar todas as informações do vhost:

  • lista de todos os sites disponíveis
  • lista de todos os sites ativados
  • lista de todos os sites ativados usados pelo apache (sites habilitados após um "recarregamento")

Nessas listas, gostaria de ver:

  • o domínio (e porta) para o vhost.
  • o diretório do vhost.
  • Se existem ou não erros (sintaxe) no arquivo vhost.

Obviamente, eu poderia fazer algumas dicas, seduzir e acordar para buscar essa informação, mas tenho certeza que isso foi feito corretamente em algum lugar antes:)

    
por berkes 10.10.2011 / 15:45

2 respostas

2

A ferramenta mais próxima que eu conheço é apachectl -S .

Este comando listará todos os vhosts definidos em sua configuração atual, independentemente de o Apache estar ou não em execução. As informações incluem endereços IP, portas, o valor da diretiva ServerName, os nomes dos arquivos de configuração e qual vhost é o padrão.

Esta é uma ferramenta genérica do Apache e estará disponível no Redhat / CentOS, no Mac OS X, no Solaris e em qualquer outro Unix que você goste, portanto, ele não sabe sobre os mods disponíveis para sites, habilitados para sites e baseados no Debian. -dispositivos disponíveis e mods-habilitados.

apachectl -S não lista a diretiva DocumentRoot, pois ela não é uma diretiva obrigatória e pode não estar presente em alguns vhosts. Ele também não lista nenhuma diretiva ServerAlias porque pode haver qualquer número delas. Como eles (assim como a diretiva ServerName) podem conter curingas, listar domínios pode ser problemático.

apachectl -t fará uma verificação de sintaxe.

Dependendo da sua versão, talvez você precise usar apache2ctl -S .

    
por 10.10.2011 / 16:08
0

Acho que listar os sites disponíveis e ativados continua a usar ls no diretório correto.

Isso pode parecer estúpido, mas pense que você não pode confiar em um arquivo pelo nome: seu conteúdo pode conter vários VirtualHosts.

No entanto, se você quiser mostrar a configuração atual usada pelo Apache, você pode querer olhar para o sinalizador -S .

Conectado como root, esta linha de comando deve ser um bom começo:

# source /etc/apache2/envvars && apache2 -S

Origem: man apache2

    
por 10.10.2011 / 16:04