Heute stand ich mal wieder vor dem Problem, das meine Entwicklungsumgebung doch eigentlich sehr un durchdacht ist.

Bis vor einiger Zeit entwickelte ich noch direkt auf dem Zielwebserver, was sich jedoch immer als sehr unproduktiv herausstellte. FTP-Verbindungen und FTP-Clients sind meist nicht die aller schnellsten und haben auch oft nicht den Komfort den man in seiner gewohnten Desktop-Umgebung hat. Der Vorteil war natürlich, das der Kunden ebenfalls direkt den Stand der Dinge einsehen konnte.

Nun habe ich seit einiger Zeit ja eine 16000er Leitung und somit auch gute 120Kb/Sekunde im Upload, was für eine kleine Entwicklungsumgebung durchaus ausreicht. Daher entschied ich mich dafür in meinen eigenen 4 Wänden einen Mini-Office-Server aufzustellen, der dann zur Entwicklung von Projekten und als Datenverteiler dienen sollte.

Da ich nicht der wirkliche Linux-Freak bin und die Vorteile einer GUI nicht missen wollte entschied ich mich damals für Windows 2000. Leider ist der Server mit seinen 500 Mhz und 256MB-SDRAM alles andere als ein Performanceprotz, doch für CakePHP und andere Eigenentwicklungen reicht die Performance noch allemal, zudem sind diese alten PIII 500er kaum zu hören, was mir seeeeehr wichtig war.

Doch, ich schweife ab :) Um nun alle Projekte auf dem Server von außen gut erreichbar zu machen und sowohl in den URLs als auch der Ordnerstruktur eine klare Trennung hinzubekommen wollte ich für jedes Projekt einen eigenen Virtual-Host generieren, der dann später einfach über meinen DynDNS-Eintrag abrufbar sein sollte. Im Klartext wünschte ich mir die URL also in etwa so:

http://projekt1.mynick.dyndns.org/

Sowas erfordert eine sogenannte DNS-Wildcard bei DynDNS, was soviel heißt, dass alle angeforderten Subdomains von meiner registrierten DynDNS-Adresse ebenfalls an die hinterlegte IP-Adresse weitergeleitet werden.

Standardmäßig ist diese Funktion deaktiviert, so dass jemand beim Versuch die obere URL aufzurufen keine Verbindung aufbauen könnte. Ich hätte auch gar nicht gedacht das DynDNS sowas überhaupt anbietet, doch im Adminmenü kann man die Wildcard für seine angelegten Domains einfach mit einem Mausklick aktivieren.

Der Grundstein ist also gelegt, nun müssen wir unserem Apache-Webserver (in meinem Fall ein einfacher XAMPP) nur noch beibringen das er beim Aufruf der jeweiligen Subdomain auch das richtige Projekt direkt lädt.

Dafür müssen wir die Datei /conf/extra/httpd-vhosts.conf in unserem Apache-Ordner editieren.

Aus der Zeile ##NameVirtualHost *:80 machen wir erstmal NameVirtualHost *:80, also nehmen wir die Kommentierung heraus.

Als nächstes fügen wir am Ende der Datei noch die vHosts-Einträge an. Ganz Wichtig dabei ist der erste Eintrag, welcher sicherstellt das man beim Aufrufen der “normalen” DynDNS-Domain auch auf das Hauptverzeichnis zugreifen kann, denn nicht für jedes kleine Miniprojekt benötigt man gleich einen eigenen virtuellen Host.

<VirtualHost *:80>
	ServerName mynick.dyndns.org
	DocumentRoot "E:/xampp/htdocs"
</VirtualHost>
<VirtualHost *:80>
	ServerName projekt1.mynick.dyndns.org
	DocumentRoot "E:/xampp/htdocs/_vhosts/projekt1"
</VirtualHost>

Der erste Eintrag leitet also erst einmal all Anfragen grundsätzlich in das Root-Verzeichnis des Webservers. Der zweite VirtualHost-Eintrag definiert die jeweilige Subdomain sowie den Zielpfad des Projekts. Für jedes Projekt muss nun einfach ein neuer VirtualHost-Eintrag angelegt werden.

Nach einem Neustart des Webservers sollte das Projekt nun über die angegebene URL verfügbar sein.

Die URL kann man jetzt auch einfach dem Kunden weitergeben. Zur Dateiverwaltung empfiehlt sich immer ein Netzlaufwerk das direkt auf den Unterordner des Projekts zeigt, so spart man sich direkt ein paar Klicks.

Einige werden nun sagen das man jedes Projekt auch einfach in einen Unterordner hätte packen können. Ich für meinen Teil habe jedoch leider die Erfahrung machen müssen, dass einige CM-System damit große Schwierigkeiten haben. Zudem ist das URL-Verhalten somit näher an der späteren Realität.

Das ganze hat auch dann Vorteile wenn man für jedes Projekt eine andere Umgebung schaffen will, denn für jeden virtuellen Host können auch eigene Serverkonfigurationen wie z.B. Logfiles und DirectoryIndexes hinterlegt werden.



Kommentare zum Thema Virtual-Hosts und DynDNS zusammen einsetzen:

1 | Michel schrieb am 01.08.2007 um 15:51
Gravatar dieses Kommentators

VirtualHosts nutz ich ja so schon auf meinem Rechner, aber das ist ja jetzt mal der Hammertipp schlechthin!

(Ob ich was überhaupt mal einsetzen werde ist eine andere Sache. Und an die Router-KOnfiguration will ich gar nicht erst denken :D)

2 | Christian schrieb am 01.08.2007 um 15:58
Gravatar dieses Kommentators

Die Routerkonfiguration ist doch in 2 Minuten gemacht. Jeder halbwegs aktuelle Router hat doch die Möglichkeit direkt die DynDNS-Zugangsdaten dort zu hinterlegen, damit dieser immer automatisch die IP aktualisiert.

Ansonsten fehlt nur noch die Portweiterleitung auf deine lokale Netzwerk-IP, damit Anfragen auf Port 80 (HTTP) auf die Netzwerk-IP weitergeleitet werden.

3 | Michel schrieb am 01.08.2007 um 17:10
Gravatar dieses Kommentators

Jo, ist mir gerade auch wieder eingefallen, #weblounge sei Dank ;)

4 | Arne schrieb am 03.08.2007 um 10:45
Gravatar dieses Kommentators

Ja habt Ihr denn alle keinen Server? lol
Netter Tipp, auf jeden Fall. Ich nutz für sowas halt meinen Rootserver. Dazu als Tipp noch das SFTPDrive und gut ist. Sehr leckere Lösung :-)

5 | Hasch schrieb am 03.08.2007 um 12:07
Gravatar dieses Kommentators

Endlich eine Alternative zu Webdrive, hatte die Rootserver Lösung auch schon, leider machte Webdrive immer Mukken, mal schaun, wie sich SFTPDrive schlägt ;) Danke Arne!

6 | Christian schrieb am 03.08.2007 um 12:42
Gravatar dieses Kommentators

Webdrive hatte ich auch mal im Einsatz, aber es war nur noch nervig da es immer bis zu 10 Sekunden gedauert hat bis Webdrive eine geänderte Datei erkannt hat und diese dann aktualisierte, das hat alles immer unnötig verzögert. SFTPDrive hat dieses Problem nicht?

7 | Arne schrieb am 03.08.2007 um 13:10
Gravatar dieses Kommentators

Nicht dass ich wüsste. SFTPDrive lief bei mir wirklich äusserst problemlos. Habs nur nach Ablauf der Evaluation noch nicht registrieren lassen. Mach ich bei Bedarf aber irgendwann sicher mal. SFTPDrive ist übrigens laut Testergebnissen die beste dieser Implementation.

8 | sepi schrieb am 30.01.2009 um 21:02
Gravatar dieses Kommentators

<VirtualHost *:80> ServerName mynick.dyndns.org DocumentRoot “E:/xampp/htdocs”
</VirtualHost>
<VirtualHost *:80> ServerName projekt1.mynick.dyndns.org DocumentRoot “E:/xampp/htdocs/_vhosts/projekt1”
</VirtualHost>
warum geht das nicht mfg

9 | Jörg Durr schrieb am 04.10.2009 um 19:30
Gravatar dieses Kommentators

Hmm, was mir nicht so ganz einleuchtet: Alle meine Domains bei DynDns zeigen doch immer auf meine einzige externe IP. Wie soll der lokale Apache das sortieren? Oder anders gefragt, funktioniert das wirklich wie oben angegeben?
BTW: DynDns lässt sich Wildcards mittlerweile bezahlen – so etwa 15 Euro pro Jahr.
Kostenlos sind nach wie vor 5 Domains – die täten es ja auch erstmal.
Gruß, Jörg

Kommentar-Feed für diesen Artikel


Kommentarfunktion für diesen Artikel geschlossen.



Blogsuche

RSS-Feeds

Plaste & Plastik

plasteundplastik.de - Das Geocaching-Weblog

Die Kategorien


Netz-Fundstücke


Meta / Propaganda