Apache2 – Domains auflisten
Heute wurde ich mit einem kleinen “Problem” konfrontiert. Ich musste mir alle Domains, die ich im Apache geconft habe, raussuchen. Da ich keine Lust hatte, jedes Skript durchzugehen, habe ich kurzerhand 2 kleine, eigene, Skripte geschrieben. Falls jemand von euch auch ein solches Problem haben sollte, dann kann das Skript ohne weiteres genutzt werden.
Skript 1: Listet alle Domains ungeordnet auf – ServerName und ServerAlias
#/bin/bash
#################################
#Grep Domains used on this Server
#by Apache. It also have to be
#enabled
#################################
echo ‘################# ServerNames #################’
for x in $(cat /etc/apache2/sites-enabled/* | grep ‘ServerName’ | sed ‘s/ //g’ | sed ‘s/ServerName//g’); do echo ‘http://’$x; doneecho -e ‘\n\n################# ServerAliases #################’
for i in $(cat /etc/apache2/sites-enabled/* | grep ‘ServerAlias’ | sed ‘s/ //g’ | sed ‘s/ServerAlias//g’); do echo ‘http://’$i; done
Skript 2: Dieses Skript gibt euch alle Domainnamen, und deren Aliases auch hirarisch aus:
#/bin/bash
if [ “$1” = “-h” ]
then
echo -e ‘Hilfe’
echo -e ‘\n\n\t ./get-domain-tree.sh’
exit 100
fi#################################
#Grep Domains used on this Server
#by Apache. It also have to be
#enabled
#################################APACHE2PATH=’/etc/apache2/sites-enabled/’
echo ‘################# Apache2 Domaintree #################’
for FILES in $(find $APACHE2PATH*)
doecho “### Datei – $FILES ###”
for NAMES in $(cat $FILES | egrep ‘ServerName’ | sed ‘s/ //g’ | sed ‘s/ServerName//g’)
do
echo $NAMES
doneecho -e ‘\n\t### ServerAliases ###’
for ALIASES in $(cat $FILES | grep ‘ServerAlias’ | sed ‘s/ //g’ | sed ‘s/ServerAlias//g’)
do
ALLALIASES=($(echo $ALIASES | sed ‘s/ //g’ | sed ‘s/,/ /g’))
for ALL in “${ALLALIASES[@]}”
do
echo -e ‘\t’$ALL
donedone
echo -e “\n\n”
done
Viel Spaß damit.
Grüße