Server-Konfiguration

Gehostete Systeme verwenden entweder Subdomains oder einen Verzeichnis pro Kunde.Beide Varianten haben eine Gemeinsamkeit, sie verwenden SymLinks
Natürlich lassen sich auch Domains aufschalten, diese sind ein eigener VHost, welche die Konfiguration der gewählten Variante übernimmt.
  • Verzeichnis pro Kunde
    Bei der Wahl "Verzeichnis pro Kunde", gibt es mehrere Varianten
    • Reales Verzeichnis anlegen
      es wird pro Kunde ein Verzeichnis angelegt
    • Symlinks
      wird ein Verzeichnis emuliert, welches auf einen bestimmtes Verzeichnis zeigt.
    • .htaccess bzw. mod_rewrite
      durch die Verwendung von einer .htaccess-Datei bzw. durch Mod_Rewrite-Regel wird das Verzeichnis emuliert
  • Subdomains
    Bei der Wahl der Subdomain-Variante, gibt es 2 verschiedene Verfahren
    • Eingetragene Sub-Domains
      + eigene Log-Files (Access / Error) pro Kunde
      + mögliche Unterschiedliche Konfiguration des Kunden
      - httpd.conf Änderung
      - Reload / Restart des Apaches
    • Wildcards
      + keine httpd.conf Änderung, aber der Apache tut sich schwerer und wird dadurch langsamer
      + kein Reload / Restart des Apaches
      - Logs (Access / Error) aller Kunden befinden sich in einer Datei (Lösung siehe Artikel: Awstats-Auswertung pro Subdomain)
Um diese Variante realisieren benötigt man einen speziellen VHost
<VirtualHost *.{DOMAIN.TLD}:80>
    ServerName *.{DOMAIN.TLD}
    ServerAlias *.{DOMAIN.TLD}
    ScriptAlias /cgi-bin/ {ABSOLUT_PATH}/html/cgi-bin/
    VirtualDocumentRoot {ABSOLUT_PATH}/html/{CUSTOMER_FOLDER}/%-3+
    DocumentRoot {ABSOLUT_PATH}/html/{CUSTOMER_FOLDER}/%-3+
</VirtualHost>

{DOMAIN.TLD} ....                Domain die verwendet werden soll
{ABSOLUT_PATH} ...            der Absolutepfad zum Web-Verzeichnis
{CUSTOMER_FOLDER}...    Kunden-Verzeichnis

Erklärung:
Servername und ServerAlias werden dazu gebraucht um gegebenenfalls den Kunden zu erkennen, der "*" sind die Zeichen vor dem Domain-Namen.
Beim VirtualDocumentRoot bzw. DocumentRoot wird die statt dem * %-3 verwendet, so wird dynamisch ein Pfad zusammen gesetzt, der je nach Subdomain anders lautet.
Bei der ersten Variante ("eingetragene Sub-Domains") wird "*" bzw. "%-3" durch das jeweilige Subdomain-Verzeichnis ersetzt.