ich bin es leid die seiten auf meinem lokalen server (
xampp) über die url
http://localhost/sehr/langer/pfad/zur/datei.php
aufzurufen - auch da sich schon eine menge an dateien in unterschiedlichen ordnern irgendwo befinden. deshalb will ich mal einen clean-up machen und auch gleich eine ordentliche struktur pflegen. außerdem sieht es viel cooler aus statt dem obigen langen pfad nur zb
http://mailo.at einzugeben ;)
somit habe ich mir folgende struktur überlegt:
mailo.at als pseudo-homepage
testlab.mailo.at für entwicklung bzw als spielwiese
projects.mailo.at für fertige projekte
im grunde genommen ist der
konfigurationsaufwand minimal. nur
kleine änderungen in den folgenden
2 dateien sind notwenig (pfadangabe unter windows - xampp liegt bei mir auf c:/xampp):
hosts [c:/windows/system32/drivers/etc]
httpd-vhosts.conf [c:/xampp/apache/conf/extra]
zuerst ist natürlich eine
xampp-installation (eventuell auch xampp-lite-installation) erforderlich.
xampp steht eigentlich für
x-apache-mysql-php-perl wobei das
x für die plattformvielfalt steht, da es sowohl für
windows (
wampp), für
linux (
lampp) und auch für
mac os (
mampp) erhältlich ist. das beste daran ist: es ist eine
freie software und
kostenlos.
bei der eingabe von zb
http://mailo.at in die adressleiste des browsers fragt dieser zuerst das system und, wenn er nicht fündig geworden ist, dann einen
dns-server nach der dazugehörigen ip-adresse.
hier ist nun die erstgenannte der 2 dateien (
hosts [c:/windows/system32/drivers/etc]) erforderlich. unter
vista muss der
editor (zb notepad)
mit administratorrechten gestartet werden, sonst bekommt man beim versuch zum speichern die meldung, dass dies verwehrt wird bzw dass man nicht die berechtigung dazu hat.
wenn diese datei noch nicht verändert worden ist, sieht sie (ohne den # kommentaren) wahrscheinlich so aus:
127.0.0.1 localhost
::1 localhost
hier fügt man unterhalb die gewünschten domains dazu - inhalt in meinem fall:
127.0.0.1 localhost
::1 localhost
127.0.0.1 mailo.at
127.0.0.1 testlab.mailo.at
127.0.0.1 projects.mailo.at
somit weiß das system, dass unter der eigenen ip adresse (
127.0.0.1) nicht nur der
localhost, sondern nun auch die domains
mailo.at,
testlab.mailo.at und
projects.mailo.at zu finden sind.
in der
httpd-vhosts.conf [c:/xampp/apache/conf/extra], der konfigurationsdatei für virtuelle hosts des apaches, ist sogar ein auskommentiertes beispiel einer konfiguration von virtuellen hosts angeführt. man kann diese kopieren und (auf die eigenen bedürfnisse) anpassen. in der datei wird auch auf die
dokumentation zur konfiguration von virtuellen hosts verwiesen.
die wichtigste einstellung ist das auskommentieren von
NameVirtualHost *:80
damit der apache weiß, dass es virtuelle hosts gibt.
ich habe es weiters wie folgt abgeändert:
NameVirtualHost localhost
da in der
httpd.conf [c:/xampp/apache/conf], der konfigurationsdatei des apaches, bereits vermerkt ist, dass dieser auf port 80 hört (zeile 53)
Listen 80
braucht man dies hier nicht explizit angeben.
vorerst sieht meine konfiguration der vhosts so aus
[httpd-vhosts.conf]:
<VirtualHost localhost>
ServerAdmin admin@localhost
ServerName localhost
DocumentRoot "c:/xampp/htdocs"
ErrorLog "c:/xampp/htdocs/logging/localhost/error.log"
CustomLog "c:/xampp/htdocs/logging/localhost/custom.log" common
DirectoryIndex index.php index.html index.htm
</VirtualHost>
<VirtualHost localhost>
ServerAdmin admin@mailo.at
ServerName mailo.at
DocumentRoot "c:/xampp/htdocs/mailo"
ErrorLog "c:/xampp/htdocs/logging/mailo/error.log"
CustomLog "c:/xampp/htdocs/logging/mailo/custom.log" common
DirectoryIndex index.php index.html index.htm
</VirtualHost>
<VirtualHost localhost>
ServerAdmin admin@mailo.at
ServerName testlab.mailo.at
DocumentRoot "c:/xampp/htdocs/mailo/testlab"
ErrorLog "c:/xampp/htdocs/logging/testlab/error.log"
CustomLog "c:/xampp/htdocs/logging/testlab/custom.log" common
DirectoryIndex index.php index.html index.htm
</VirtualHost>
<VirtualHost localhost>
ServerAdmin admin@mailo.at
ServerName projects.mailo.at
DocumentRoot "c:/xampp/htdocs/mailo/projects"
ErrorLog "c:/xampp/htdocs/logging/projects/error.log"
CustomLog "c:/xampp/htdocs/logging/projects/custom.log" common
DirectoryIndex index.php index.html index.htm
</VirtualHost>
anmerkungen:
die
index-dateien
müssen sich in den angegebenen ordnern befinden, die
log-dateien hingegen werden selbst erzeugt!
man kann sich auf
www.faviconprime.com ein
favicon generieren lassen und muss es nur in den hauptordner platzieren!
weiters können noch
viele weitere einstellungen konfiguriert werden zb auch
sicherheitsrelevante!
vielleicht schreibe ich dazu einen weiteren blogeintrag ;)
behilflich bei der
fehlersuche kann die konsole sein. man navigiert in das
bin-verzeichnis des apaches (bei mir c:/xampp/apache/bin) und kann mit dem befehl
apache -h
die hilfe aufrufen. darunter befinden sich
2 wertvolle parameter.
apache -S
dient zur überprüfung, ob es zu irgendwelchen konflikten gekommen ist.
weiters können durch den befehl
apache -E foo.txt
fehler beim starten des apaches in die datei
foo.txt mitgeloggt werden.
falls es zu folgender fehlermeldung kommt
(OS 10048) Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden.
: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
könnte skype daran schuld sein (oder ein anderes programm, welche auch bereits auf port 80 lauscht).
die lösung zu diesem problem gibt es im
nächsten blogeintrag ;)
mfg mailo
mailo - 23. Okt, 20:00