Zend Framework mit XAMPP und vhosts unter Windows

Heute will ich euch zeigen, wie ihr unter Windows das Zend Framework, den XAMPP und verschiedene vhosts (Virtual Hosts) einrichtet. Das hat den Hintergrund, dass ich mehrere Test-Projekte auf Windows-Maschinen laufen habe und normalerweise bei einem einzelnen Projekt auf localhost arbeiten würde. Um nicht Unterverzeichnisse nutzen zu müssen, ist es sinnig verschiedene vhosts zu verwenden. So kann jedes Projekt unter seiner eigenen ‚Domain‘ aufgerufen werden. Das Ganze funktioniert nur lokal!

Ich selbst nutze für dieses Tutorial hier Windows 7 Professional 64 bit, XAMPP 1.7.7 VC-9 Win32 und das Minimal-Package des Zend Frameworks in der Version 1.11.11. Ich gebe der Vollständigkeit halber auch das mit an, was ich selbst geändert und geschrieben habe, um dieses Tutorial zu erstellen. 

minimale Voraussetzungen:

Windows NT/2000/XP/2003/Vista/7 32 & 64 Bit

Was müsst ihr herunterladen?

XAMPP für Windows unter http://fvrd.de/KZMY3oTg und die Minimal-Version des Zend Frameworks unter http://fvrd.de/NTFUZOfM

XAMPP installieren und vhost einrichten

Die heruntergeladene Datei xampp-win32-1.7.7-VC9-installer.exe ausführen und das Setup durchlaufen lassen und das XAMPP Control Panel nicht starten. XAMPP ist von den Modulen und den Erweiterungen bereit für die Nutzung mit vhosts. Ich habe XAMPP direkt in c:\xampp installiert. Im Endeffekt ist es egal wo es landet.

Öffne die Datei system32\drivers\etc\hosts im Windows-Verzeichnis. Ja, diese Datei hat keine Endung.

Unter dem Eintrag 127.0.0.1 localhost (ist der Standardeintrag) den Eintrag 127.0.0.1 derNameDeinesVhost (das kann alles möglich sein wie meinprojekt oder test1.localhost) einfügen. An dieser Stelle habe ich für die spätere Nutzung des Zend Framework die Domain zf genannt, also den Eintrag 127.0.0.1 zf erstellt.

Somit hört die von euch gewählte ‚Domain‘ auf ihren Namen und Windows leitet euch an die Adresse 127.0.0.1 weiter, was euer eigener Rechner ist. Nun richtet ihr den soeben gewählten vhost im xampp ein:

Nun ändern wir die http-vhost.conf in XAMPP. Diese findet ihr im XAMPP-Unterordner apache\conf\extra\. Dort entkommentiert ihr den Eintrag ##NameVirtualHost *:80. Somit hört XAMPP mit den vhosts auf Port 80. Weiterhin fügt ihr folgenden Code an das Ende der Datei:

<VirtualHost *:80>
    DocumentRoot X:/Pfad/zu/httpdocs
    ServerName derNameDeinesVhost
    DirectoryIndex index.html index.php
    <Directory "X:/Pfad/zu/httpdocs">
    	Options Indexes FollowSymLinks Includes ExecCGI
    	Order allow,deny
    	Allow from all
    	AllowOverride All
    </Directory>
</VirtualHost>

In meinem Fall gebe ich D:/Server/zf/public an. public, weil dort die index.php für das Zend Framework liegt:

<VirtualHost *:80>
    DocumentRoot D:/Server/zf/public
    ServerName zf
    DirectoryIndex index.html index.php
    <Directory "D:/Server/zf/public">
    	Options Indexes FollowSymLinks Includes ExecCGI
    	Order allow,deny
    	Allow from all
    	AllowOverride All
    </Directory>
</VirtualHost>

Dabei ändert Ihr X:/Pfad/zu/httpdocs in den Pfad für euer Projekt-Hauptordner, in dem entweder die index.html oder die index.php liegt. Achtet aber bei der Pfadangabe darauf, dass ihr „/“ statt dem üblichen „\“ verwendet. Weiterhin ändert ihr den Servernamen in den von euch gewählten Namen, also die aufzurufende ‚Domain‘. Damit habt ihr den vhost angelegt und nach eine Reboot ist er startklar und erreichbar. Der Reboot ist dazu notwendig, damit Windows die neue Domain auf die IP 127.0.0.1 routet.

Ihr seid sicher gespannt, ob es wirklich so funktioniert, oder? Der Kunde will ja auch immer was sehen, kennt ihr sicherlich auch. Dann erstellt in dem Projekt-Hauptordner (bei mir ist das D:\Server\zf\public) eine index.html mit einem beliebigen Inhalt, zum Beispiel so:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Es geht :D</title>
</head>
<body>
:D
</body>
</html>

Oder eben eine index.php

<?php
echo ":D";
?>

Nun könnt ihr im Browser Eurer Wahl in die Adresszeile die erstellte Domain eingeben und es wird euch ein kleines Smiley anlächeln. Ab diesem Punkt hier könnt ihr in dem Projektordner Projekte in (X)HTML und/oder PHP anlegen, die dann auch lauffähig sind.  Für neue Projekte könnt ihr euch dann weitere vhosts anlegen.

Damit kommen sind wir auch schon mit dem ersten Teil des Tutorials fertig. Auf geht es zum zweiten Teil dieses Tutorials.


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

3 Antworten zu „Zend Framework mit XAMPP und vhosts unter Windows“

  1. Heinz

    Lieber Ralf
    ich habe dein Tutorial mit Interesse gelesen, weil ich bis anhin meine Projekte unter Xampp immer als Unterverzeichnis im Rootverzeichnis htdocs verwaltet habe (z.b. Webprojekt „Schule“ unter D:/xampp/htdocs/schule).
    Nun habe ich das Problem, dass ich ein CMS testen möchte (Fork CMS), das aber die Installation nur im Root-Verzeichnis zulässt (also im htdocs). Das möchte ich nicht, weil mir sonst alles durcheinander kommt.
    Deshalb kommt mir dein Artikel sehr gelegen. Ich habe das Fork CMS in einem virtuellen Host eingerichtet und das funktioniert, aber jetzt kann ich meine alten Projekte nicht mehr über die Adresse „localhost“ erreichen. Wie kann ich das lösen?
    Für deine Hilfestellung danke ich bestens,
    Grüsse
    Heinz

    1. Du solltest die Einträge die vorher in den zu ändernden Dateien waren nicht ändern, sondern deine Einträge dran hängen.
      Also so wie du es vorher hattest, als das Schule-Projekt noch lief.

      Indem du für deine anderen Projekte ebenfalls lokale Domains anlegst. Also wie von dir geschrieben Schule im Ordner D:/xampp/htdocs/schule.
      In der Datei system32\drivers\etc\hosts fügst du 127.0.0.1 projekt.schule hinzu.
      Es sollte an dieser Stelle weiterhin der Eintrag 127.0.0.1 localhost stehen.

      Und in der apache\conf\extra\http-vhost.conf fügst nach dem Standardeintrag

      
          DocumentRoot D:/xampp/httdocs/
          ServerName localhost
          DirectoryIndex index.html index.php
          
              Options Indexes FollowSymLinks Includes ExecCGI
              Order allow,deny
              Allow from all
              AllowOverride All
          
      

      folgenden Eintrag hinzu:

      
          DocumentRoot D:/xampp/httdocs/schule
          ServerName projekt.schule
          DirectoryIndex index.html index.php
          
              Options Indexes FollowSymLinks Includes ExecCGI
              Order allow,deny
              Allow from all
              AllowOverride All
          
      
  2. Heinz

    Hallo Ralf
    Vielen Dank für den Tipp. Ich hatte den Standardeintrag für localhost nicht in der Datei. Jetzt klappt alles wunderbar.
    Alles Gute
    Heinz

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert