Anleitung Xampp / Virtual Host

evaki

Apropos hosts
127.0.0.2   allesausserhundefutter.de   # kannze haben
127.0.0.3   www .hottehueaepfel.com   # Blumen für ganze Jahr
127.0.0.4   www .mutti.net   # MILF oder Muttertag
Das klappt mit jedem http-Serverchen.

Wer noch mit absoluten Pfaden hantiert, hat damit weniger Probleme.
Man erreicht die Domains nur lokal, also nicht die evtl. schon beim Hoster eingerichtete.
Dafür sind die Einträge wieder zu deaktivieren.
MfG. Evaki

Gast

Xampp arbeitet in der Grundeinstellung mit einem voreingestelltem DocumentRoot, das wäre das jeweils oberste, vom User beschreibbare Verzeichnis auf diesem Server. Bei Xampp heißt dieses Verzeichnis (wie auch bei den meisten Online-Servern) /htdocs und befindet sich unter X:/xampp/htdocs
Im Browser wäre dieser Inhalt dann unter http://localhost erreichbar.

Möchte man hier eigenes Kram testen, legt man dies in einem Unterordner von /htdocs und der Browserlink ändert sich entsprechend, z.b. nach http://localhost/test1
Abhängig von der Anzahl der Projekte wird es hier schnell unübersichtlich. Abhilfe schaffen hier Virtual Hosts
Mit dieser Methode können die Projektverzeichnisse auch außerhalb der Xampp-Struktur liegen, bekommen ihren eigenen Alias, eine eigene Fehler-Log-Datei usw.

Nachfolgend die Schritte zur Einrichtung unter Windows 10

die Windows-Host-Datei


ist im Prinzip eine Liste aller auf diesem Rechner verwendeten Virtual Hosts mit entsprechendem Ziel

  • Zum Bearbeiten der Datei im Suchfeld von Windows (recht neben dem Windows-Button) eintippen: editor
  • Höchste Übereinstimmung hat die App "Editor"
  • Mit Rechtsklick auf dieses Feld wählt man die Option "Als Administrator ausführen" - die folgende Sicherheitswarnung bitte bestätigen. Es öffnet sich ein leeres Editorfenster (von Windows-Notepad)
  • Abhängig von den aktuellen Explorer-Einstellungen kann es notwendig sein, vorher die ausgeblendeten Systemdateien sichtbar zu machen, dazu im Windows-Explorer oben auf Ansicht -> dann ganz rechts auf Optionen -> in aufgehendem Fenster erneut auf Ansicht, in der Liste runterscrollen zu "Versteckte Dateien und Ordner" -> aktiviere "Versteckte Dateien und Ordner anzeigen" - klick auf Übernehmen, dann OK
  • Nun muß man zur hosts-Datei navigieren über Datei -> Öffnen und dann zum Ordner: Windows/system32/drivers/etc
  • ändere rechts unten im Datei-öffnen-Dialog-Fenster den Dateityp (*.txt) auf "Alle Dateien"
  • wähle die Datei "hosts" und öffne sie
  • üblicherweise stehen unter Windows 10 dort schon einige Einträge drin, z.b. 127.0.0.1 apps.skype.com
  • wo du deine Einträge machst, ist für Windows nicht wichtig, es muß nur für jeden Eintrag eine neue Zeile genutzt werden und die beiden Teile werden mit der TAB-Taste getrennt. Möchtest du Kommentare vor deiner Liste angeben, beginne die Zeile mit einer Raute (#). Die Einträge erfolgen immer nach dem Muster: IP-Adresse - Alias. IP: 127.0.0.1 bedeutet: bleibe auf diesem Rechner
  • Ich füge mir gern eine Liste ein, mit der ich die Lokalen Testinstallationen benenne, das sind bei mir laufende Nummer,n aktuell z.b. wb1630 - wb1655, das entspricht test1 - test26. Für jedes Kundenprojekt verwende ich dann bezeichnende Namen wie eben bergmann, hans usw. Dieser Name wird dann der jeweilige Alias. Die Browseradresse heißt dann nicht mehr: http://localhost/test/bergmann, sondern ebnen nur http://bergmann oder http://wb1655
  • Die Einträge beginnen immer mit der IP-Adresse 127.0.0.1, dann die TAB-Taste, dann der Alias. Schließe die Zeile mit der ENTER-Taste ab. Ein Alias mit dabei immer einmalig sein
  • nach Abschluß aller Einträge das Speichern der Datei nicht vergessen
  • es kann vorkommen, das Virenschutzprogramme diese Datei von fremden Einträgen schützen wollen. Sollte der Administrator-Modus nicht ausreichen, muß der Virenschutz kurzeitig deaktiviert werden.

Die Datei apache/conf/extra/httpd-vhosts.conf


  • Diese Datei beinhaltet die Einstellungen zu jedem Virtual Host und kann mit jedem normalen Editor geöffnet werden. Die Programme WORD oder WORDPAD sollten dabei nicht benutzt werden
  • im oberen Teil der Datei finden sich Beispieleinträge, die wir unbeachtet lassen.
  • Nun müssen wir uns überlegen, ob die geplanten Projekte im Ordner C:Xampp/htdocs bleiben sollen oder ggf an einem anderen Ort gespeichert werden. Ich nutze dafür eine oder mehrere Festplatten und dort liegen dann alle Projekte in einem Ordner mit Namen "cms"
  • Ein solch Eintrag muß so aussehen:
    Quote<VirtualHost webagentur>
        DocumentRoot "F:/cms/wb_agentur"
        ServerName webagentur
        ServerAlias webagentur
        ErrorLog "F:/cms/wb_agentur\local_error.log"
        <Directory "F:/cms/wb_agentur">
        Options -Indexes +FollowSymLinks
        Options +SymLinksIfOwnerMatch
        AllowOverride All
        Require all granted
        DirectoryIndex index.php index.shtml index.html index.htm
        </Directory>
    </VirtualHost>
  • das rot markierte ist jeweils der Alias, das grün markierte der Pfad
  • die Datei local_error.log entspricht der error-log auf dem Server und sammelt alles, was WB in seiner cms-eigenen Routine nicht sammelt an Fehlern. Diese Datei muß nicht extra angelegt werden. Ist sie nicht vorhanden, legt Xampp diese Datei selbst an.

Xampp starten

Ist alles entsprechend eingefügt, empfiehlt sich, zuerst den Apache-Server über die Konsole zu starten. Geht dazu im Xampp-Start-Fenster auf "Konsole" und tippt dann den Befehl httpd ein. Erscheinen keine weiteren Meldung, ist alles richtig gelaufen. Im Falle eines Fehlers, z.b. ungültiger Pfad, doppelter Alias, erscheint zu diesem Alias eine Fehlermeldung. Es empfiehlt sich, diese schrittweise abzuarbeiten. Wichtig ist, das jeder angegebene Pfad auch gültig ist.

Bitte im Hinterkopf behalten, das der XAMPP-Server nach jeder Änderung der Konfiguration neu und manuell gestartet werden muß.

Aufgerufen werden die Dateien nun im Browser mit ihrem jeweiligen Alias, also z.b. http://webagentur
Da ich im späterem Verlauf die WB_URL online so oder so anpassen muß, verzichte ich auf Konstruktionen, im Alias, die den echten Domainnamen verwenden, z.b. (online http://testdomain.de - local: http://testdomain.local), das bleibt aber jedem selbst überlassen.

P.S.: es gäbe auch die Möglichkeit, den virtuellen Host so zu definieren, das https simuliert werden kann, dies verlangt aber immer auch gültige Zertifikate. Das z.b. WB aber diese Adresse eh automatisch anpasst, lohnt der Aufwand nicht. Wer da spezielle Anwendungen benutzt, die unbedingtes SSL benötigen, ist wohl auch versiert genug, diese Einstellungen vorzunehmen.

Noch abschließend dazu: hat man bereits nach alter Methode Unter xampp/htdocs Projekte angelegt, die eine Datenbank benutzen, z.b. eine WB-Installation, sind für den Wechsel auf Virtual Host keine Änderung an und für die Datenbank notwendig