Obtenir tous les domaines configurés sur un serveur

Guillaume Kulakowski par Guillaume Kulakowski dans Sysadmin 12 février 2007 2
Tags : apache serveur
Sysadmin

Voici une petite astuce pour récupérer tous les domaines configurés sur un serveur apache :

root@borsalino ~> for vhost in /etc/httpd/users/*; do cat "$vhost" | grep '\(ServerName\|ServerAlias\)'; done;

Cela dépend bien sur de la façon dont vos vhost sont configurés. S’ils sont tous dans le fichier httpd.conf :

root@borsalino ~> cat /etc/httpd/conf/httpd.conf | grep '\(ServerName\|ServerAlias\)'

Commentaires

TitaX

De TitaX le 12 février 2007

Bonne astuce !

Damien

De Damien le 12 février 2007

Pourquoi faire simple, quand on peut faire compliquer (mais sans les ServerTruc commentés) :

find /etc/httpd/ -type f -exec egrep "^[ t]*[^#][ t]*Server(Alias|Name)" {} ;

Et même si tu as beaucoup de sites et que tu veux faire une jolie liste en CSV pour mettre dans Excel OpenOffice :

find /etc/httpd/ -type f -exec egrep "^[ t]*[^#][ t]*Server(Alias|Name)" {} ; | sed -e 's/^.*Server(Name|Alias)[ t]+(.*)$/1;2/g'

oui c'est indigeste (surtout la deuxième), mais c'est ça qui est drôle :)

Les commentaires pour ce poste sont fermés.