Sven Rautenberg: Apache / VirtualHost

Beitrag lesen

hallo allesamt

ich mache nebenbei websites für kleinst Firmen und um die seiten local zu testen haben ich apache, php, etc installiert. Soweit läuft alles.

Mich "nervt", nun, da ich immer die httpd.conf editieren muss um die Pfad für die Varibale DocumentRoot anzupassen.

Wie kann ich das elegant über Ports (localhost:PORT#) erledigen?

Nö, aber du solltest es mit virtuellen Hosts erledigen.

Zwei Dinge sind dazu notwendig:

1. Eine entsprechend konfigurierte httpd.conf
2. Ein DNS-Name, der auf deinen Server zeigt - simplerweise in der Datei "hosts".

Nummer 1 sollte sich relativ leicht erledigen lassen. Am Ende einer jeden httpd.conf, die ich bislang gesehen habe, ist ein Beispiel für die Konfiguration eines virtuellen Hosts. Das Beispiel einfach kopieren und je Projekt einmal anlegen. Dabei mußt du im Prinzip nur DocumentRoot und ServerName angeben. Der ServerName sollte nicht mit einem realen Namen im Internet in Konflikt geraten - und auch nicht allzuviel Tipparbeit sein. :) Beispielsweise empfiehlt es sich, eine Top-Level-Domain "test" zu erfinden, und als Subdomain den Projektnamen zu nehmen: projekt1.test, projekt2.test

Diesen Namen benötigst du in Nummer 2. Lege eine Datei "hosts" ohne Endung an (kopiere im Zweifel die Datei C:\WINDOWS\HOSTS.SAM - unter Unix /etc/hosts benutzen) und lege neue Zeilen für jedes deiner Projekte an:

127.0.0.1  projekt1.test
127.0.0.1  projekt2.test

Abspeichern, Server neustarten, http://projekt1.test aufrufen.

PS: Demoeintrag für einen Virtuellen Host:
<VirtualHost *>
  ServerName projekt1.test
  DocumentRoot /pfad/zu/projekt1
  ErrorLog /pfad/zum/errorlog/für/projekt1
  CustomLog /pfad/zum/accesslog/für/projekt1 combined
</VirtualHost>

- Sven Rautenberg