Virtuelle Hosts
Nachdem nun alle funktioniert, konfigurieren wir ein neuen Virtuellen Server und lösen das Geheimnis des ANY Hosts und dessen Anomalie
Der ANY Server frisst alles. Ob man den Server nun mit einer IP Anspricht oder einem Hostnamen. Vollkommen egal. Er nimmt es sich. Es sei denn .... ja es sei denn es gibt eine Virtuelle Konfiguration wo der Servername passt. Und genau das ist der Trick
Man kann jetzt zum Beispiel ein Virtuellen Server erstellen mit dem Namen : "admin.egal". Nun den gibt es im offiziellen DNS nicht. Was uns aber nicht daran hindert den Hostnamen in unsere persönliche HOSTS Datei ein zu pflegen .... und schon haben wir ein Virtuellen Server auf den nur wir zugreifen können. Und genau da besteht der Trick. Das gibt uns eine zusätzliche Sicherheit
Auch wenn man mehrere Domains verwalten will hat man am Schluss immer ein Server der auf alles reagiert den man dann entsprechend mit einem Redirect bestücken kann. Oder einfach nur eine leere Seite ausliefert. Ganz egal. Damit binden wir ein Host Namen direkt auf ein Virtuellen Server
Zur Demonstation erstelle ich mal ein zweiten Virtuellen Host mit dem Hostnamen der Maschine.
mkdir -p /pool/famp-tutorial/htdocs
mkdir -p /pool/famp-tutorial/logs
echo 'Das ist mein Hostname der Maschine' >/pool/famp-tutorial/htdocs/index.html
cd /etc/apache/
cp vhost-ANY.conf vhost-famp-tutorial.conf
In der /etc/apache/vhost-famp-tutorial editiert man so das sie dann so aussieht :
<VirtualHost MEINE_IP:80>
ServerName famp-tutorial.MEINE_DOMAIN
DirectoryIndex index.html
ErrorDocument 404 /index.html
DocumentRoot "/pool/famp-tutorial/htdocs"
CustomLog /pool/famp-tutorial/logs/access_log combined
ErrorLog /pool/famp-tutorial/logs/error_log
</VirtualHost>
Danach tragen wir den Virtuellen Hosts als Include noch in die /etc/apache/httpd.conf ein
include /etc/apache/vhost-famp-tutorial.conf
Danach restarten mit
/usr/local/etc/rc.d/apache22 restart
Wichtig beim Testen ist nun das der Hostname famp-tutorial auf MEINE_IP geht und MEINE_DOMAIN mit dem Hostnamen auch funktioniert, sonst klappt es natürlich nicht
Hostnamen Tests :
host famp-tutorial
famp-tutorial.MEINE_DOMAIN has address MEINE_IP
host famp-tutorial.MEINE_DOMAIN
famp-tutorial.MEINE_DOMAIN has address MEINE_IP
So und nun testen wir es
cd
wget -O - http://10.0.0.134/index.html 2>/dev/null
Hallo
wget -O - http://famp-tutorial/index.html 2>/dev/null
Hallo
wget -O - http://famp-tutorial.MEINE_DOMAIN/index.html 2>/dev/null
Das ist mein Hostname der Maschine
Und siehe da ... unser Server reagiert NUR noch auf diesen einen Namen ... Das ist genau das was wir wollen