Apache vhosts

Apache vhosts einrichten

Unter Mac OS X ist die Einrichtung von Apache vhosts, um z.B. PHP Frameworks wie FLOW3 im DocumentRoot laufen zu lassen, ohne Weiteres möglich. Es gibt sogar schon Beispiel-Konfiguration welche nur noch angepasst und aktiviert werden muss.

Beispiel Szenario:

Zum Einrichten von mehreren unterschiedlichen TYPO3 Versionen ohne Unterverzeichnis in der URL brauchen wir 3 vhosts. 45.typo3.local, 47.typo3.local und 60.typo3.local.

Zum Entwickeln von einem FLOW3 package brauchen wir 2 vhosts. dev.flow3.local und flow3.local.

Vhosts-Konfiguration aktivieren und anpassen

  1. "#" von der Zeile Include /private/etc/apache2/extra/httpd-vhosts.conf entfernen
    sudo nano /etc/apache2/httpd.conf
  2. vhosts konfigurieren, siehe Beispiel unten.
    es wurden die Beispiel vhosts kopiert und angepasst.
    sudo nano /etc/apache2/extra/httpd-vhosts.conf
  3. vhosts Namen der lokalen hosts Datei HINZUFÜGEN, siehe Beispiel unten
    sudo nano /etc/hosts
  4. Webserver neustarten
    sudo apachectl restart

httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Library/WebServer/Documents/flow3/Quickstart/Web"
    ServerName dev.flow3.local
    ErrorLog "/private/var/log/apache2/dev.flow3.local-error_log"
    CustomLog "/private/var/log/apache2/dev.flow3.local-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Library/WebServer/Documents/flow3/Quickstart/Web"
    ServerName flow3.local
    SetEnv FLOW3_CONTEXT Production
    ErrorLog "/private/var/log/apache2/flow3.local-error_log"
    CustomLog "/private/var/log/apache2/flow3.local-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/45.typo3.local"
    ServerName 45.typo3.local
    ErrorLog "/private/var/log/apache2/45.typo3.local-error_log"
    CustomLog "/private/var/log/apache2/45.typo3.local-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/47.typo3.local"
    ServerName 47.typo3.local 
    ErrorLog "/private/var/log/apache2/47.typo3.local-error_log"
    CustomLog "/private/var/log/apache2/47.typo3.local-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/60.typo3.local"
    ServerName 60.typo3.local
    ErrorLog "/private/var/log/apache2/60.typo3.local-error_log"
    CustomLog "/private/var/log/apache2/60.typo3.local-access_log" common
</VirtualHost>

Erklärung eines vhosts

<VirtualHost *:80>
    # Email des Webmasters, lokal unwichtig
    ServerAdmin webmaster@dummy-host.example.com
    # Pfad der bereitgestellt werden soll
    DocumentRoot "/Library/WebServer/Documents/flow3/Quickstart/Web"
    # Name den der Webserver für das Verzeichnis erwartet
    ServerName flow3.local
    # Zusätzliche Umgebungsvariable für FLOW3 zum aktivieren des Produktiv-Modus, bei anderen vhosts wird diese Option nicht benötigt 
    SetEnv FLOW3_CONTEXT Production
    # Eigenes ErrorLog für den vhost für eine bessere Übersicht bei eventueller Fehlersuche.
    ErrorLog "/private/var/log/apache2/flow3.local-error_log"
    # Eigenes CustomLog für den vhost.
    CustomLog "/private/var/log/apache2/flow3.local-access_log" common
</VirtualHost>

/etc/hosts

## Apache vhosts:
127.0.0.1	flow3.local dev.flow3.local
127.0.0.1	45.typo3.local 47.typo3.local 60.typo3.local
Stichwörter zu dieser Seite: 
Generator: TYPO3 CMS 6.2
Google Page Speed
@t3easy_de folgen
Google+