0. Download
Zum Herunterladen der aktuellen deutschen Version hier klicken.
 
1. Lizenz Informationen
Die Software SanSites ist Freeware. Sie dürfen sie nach Bedarf kopieren, installieren und verwenden. Sie dürfen sie nicht verkaufen, dürfen keine modifizierten Versionen davon verkaufen und keine Software verkaufen, die sie (in irgendeiner Form) enthält. Sie dürfen sie modifizieren, solange Sie die modifizierten Versionen als solche kennzeichnen und diese Lizenz Informationen erhalten bleiben.
Die Software SanSites wird ohne Zusicherung von Support, Updates oder ähnlichem ausgeliefert. Es besteht keine Garantie für ihr korrektes Funktionieren und jede Haftung für irgendwelche Schäden aufgrund irgendwelcher Verwendung wird abgelehnt.
Wenn Ihnen SanSites gefällt, würden wir es begrüssen, wenn Sie bei Paypal (www.paypal.com) einen Betrag Ihrer Wahl an sales@sansoft.biz spenden würden.
SanSites ist © 2004 by SanSoft
 
2. Allgemeine Informationen
Der Internet-Informationsdienst von Microsoft (IIS) enthält eine gewichtige Einschränkung, wenn er auf einer Client Version von Windows (wie Windows XP Professional) ausgeführt wird: Er verhindert das gleichzeitige Starten von mehreren Websites. Sollten Sie also zwei oder mehr Domänen besitzen, werden Sie Probleme haben, diese auf einem IIS auf einer Client Version von Windows zu unterhalten.
SanSites ist eines von verschiedenen Tools, die eine Lösung für diese Einschränkung anbieten. Der Abschnitt „Technische Informationen“ dient als Übersicht über die verschiedenen Lösungen und erklärt Ihnen, wie SanSites funktioniert und weshalb es anders (und natürlich besser!) als die anderen Tools ist. Lesen Sie die Informationen durch und, wenn Sie Interesse haben, laden Sie das Produkt herunter – SanSites ist Freeware!
 
3. Technische Informationen
Ein IIS, der auf einer Client Version von Windows ausgeführt wird, erlaubt Ihnen das Hinzufügen von beliebig vielen virtuellen Verzeichnissen, hat jedoch keine Funktion zum Hinzufügen von zusätzlichen Websites. Das ist dann ein Problem, wenn Sie mehrere Domänen unterhalten möchten (z.B. „www.domain1.net“ und „www.domain2.net“ oder „shop.domain1.net“), denn wenn Sie diese in virtuellen Verzeichnissen installieren, müssen Sie, wie der Name schon sagt, diese auch als Unterverzeichnisse aufrufen (z.B. www.domain1.net/www.domain1.net/index.htm).
Für dieses Problem gibt es verschiedene Lösungen. Microsoft möchte, dass Sie anstelle einer Client Version eine Server Version von Windows verwenden (was auch der Grund für die Einschränkung ist). Aber leider können oder wollen nicht alle eine solche Server Version bezahlen oder unterhalten, deshalb wird diese „Lösung“ hier nicht weiter behandelt.
Eine andere Lösung ist, zwar eine Client Version von Windows zu verwenden, aber auf den mitgelieferten „eingeschränkten“ IIS zu verzichten und stattdessen einen anderen (kostenlosen) Webserver (wie Apache oder Cassini) zu installieren. Aber leider sind wiederum nicht alle bereit, einen ihnen unbekannten Webserver zu installieren, konfigurieren und unterhalten, und noch wichtiger, es ist nicht sicher, dass dieser Webserver auch dieselbe Funktionalität wie der IIS bietet (gerade das Ausführen von ASP oder ASP.NET Applikationen könnte schwierig werden), deshalb wird auch diese Lösung hier nicht weiter behandelt.
Weiter behandelt werden ausschliesslich Lösungen, bei denen Sie mehrere Domänen auf einem IIS auf einer Client Version von Windows unterhalten können, und soweit uns bekannt ist, gibt es zur Zeit vier Lösungen für dieses Problem:
1. Falls Sie das Unterverzeichnis in Ihrer URL nicht stört, können Sie eine einfache Script-Datei (mit Vorteil eine ASP-Datei) erzeugen, welche den angegebenen Hostnamen (im Header der HTTP Anfrage) auswertet und die Anfrage auf das entsprechende Unterverzeichnis umleitet. In seiner einfachsten Form sieht dies ungefähr folgendermassen aus:
If Request.ServerVariables("SERVER_NAME") = "www.domain1.net" Then
    Response.Redirect "www.domain1.net/www.domain1.net"
End If
    Im Internet finden Sie zahlreiche Beispiele und möglicherweise sogar Tools, die vom Prinzip her alle dem oben aufgeführten Beispiel entsprechen.
Das Gute an dieser Lösung ist, dass Sie mit wenig Aufwand die volle Funktionalität des IIS nutzen können. Das Schlechte daran ist, dass Ihre Besucher sehen können, dass Sie bloss mit Unterverzeichnissen arbeiten und dass jeder Link auf ein bestimmtes Ziel auf Ihrer Website (z.B. auf Ihre Download-Seite) auch das Unterverzeichnis enthalten muss (z.B. www.domain1.net/www.domain1.net/downloads.htm), weshalb die Links sehr lange und schwer lesbar werden, was diese Lösung vielen ungenügend erscheinen lässt.
2. Wenn Sie mehrere Websites unterhalten, aber nur eine gleichzeitig ausführen müssen, können Sie neue Websites programmatisch zum IIS hinzufügen (Beispiele gibt’s im Internet) – und wenn Sie das nicht selber tun wollen, gibt es sogar einige Tools im Internet, die das für Sie erledigen (wie IIS Admin). Nachdem Sie Ihre Websites hinzugefügt haben, können Sie diese wie gewohnt in der IIS-Konsole sehen und bearbeiten (!), aber unglücklicherweise können Sie nur EINE Website gleichzeitig ausführen (starten), weshalb diese Lösung zwar Leuten weiterhilft, die etwas Testen wollen (wie Entwicklern), Ihnen aber kaum etwas bringt, um tatsächlich mehrere Domänen ins Internet zu stellen.
3. Eine weitere Lösung ist eine interne Umleitung, entweder indem eine Script-Datei analog der Lösung 1 aber unter Verwendung der Methode „Server.Transfer“ erzeugt wird, oder unter Verwendung von ISAPI-Filtern: So oder so können Sie den angegebenen Hostnamen (im Header der HTTP Anfrage) auswerten und die Anfrage innerhalb des IIS auf eine bestimmte Seite umleiten. Im Internet gibt es einige Tools, die einfach zu bedienen sind und genau dies tun (wie MultiSite), aber unglücklicherweise können interne Umleitungen Folgefehler verursachen, wenn Seiten aufgerufen werden, die damit nicht umgehen können (das berühmteste Beispiel sind ASP.NET Applikationen, bei denen die angefragte .aspx Datei zwar an einem beliebigen Ort abgelegt werden kann, aber das bin-Verzeichnis und die web.config-Datei werden nach wie vor im wwwroot-Verzeichnis gesucht – womit die ganze Umleitung unbrauchbar wird).
Damit ist die Verwendung von internen Umleitungen zwar eine gute Sache bei Websites, die nur einfache Dateitypen (wie .htm oder .jpg) einsetzen, klappt aber nicht, sobald komplexere Web-Applikationen wie ASP.NET zum Einsatz kommen. (Und übrigens: Unsere Erfahrung zeigt, dass bei der Verwendung von ISAPI-Filtern die Stabilität ein Problem ist und öfters der gesamte IIS abstürzt!)
4. Folglich kann Lösung 3 stets Folgefehler verursachen, weil die Konsequenzen der internen Umleitungen nur schwer vorhersehbar sind. Und Lösung 2 hat eine Einschränkung, die das gleichzeitige Ausführen von zwei Websites verunmöglicht. Nur Lösung 1 bietet die volle Funktionalität und erwartete Stabilität, aber wegen der Unterverzeichnis-Problematik ist auch diese Lösung nicht perfekt. Und hier tritt SanSites in Erscheinung: SanSites macht sich die Vorteile von Lösung 1 zunutze, eliminiert aber die Unterverzeichnis-Problematik! Wie funktioniert das?
SanSites ist eine Art Webserver, aber im Unterschied zu richtigen Webservern (wie IIS, Apache, Cassini) leitet SanSites die Anfragen von Clients nur zu richtigen Webservern weiter, welche die Anfragen dann tatsächlich beantworten, und leitet die Antworten anschliessend zurück zu den Clients. Obwohl dies eher der Funktionalität eines Proxy Servers ähnelt, gibt es einen zentralen Unterschied: SanSites modifiziert die Header der Anfragen und Antworten, so dass eine Anfrage an Domäne www.domain1.net an www.domain1.net/www.domain1.net umgeleitet wird und die Antwort von www.domain1.net/www.domain1.net von www.domain1.net zu kommen scheint. Die folgende Darstellung hilft, den Vorgang zu verstehen:
 
 
Nach der Installation von SanSites werden Sie also über die volle Funktionalität und die erwartete Stabilität von Lösung 1 ohne die Unterverzeichnis-Problematik verfügen. Da die Installation nur etwa eine Minute dauert und keinerlei zusätzliche Konfigurationseinstellungen für SanSites nötig sind, können Sie die Einschränkung des IIS (auf einer Client Version von Windows nur eine Website gleichzeitig ausführen zu können) umgehen, ohne dafür eine teure Server Version kaufen oder viel Zeit in die Installation und Konfiguration einer neuen Webserver-Software stecken zu müssen. Und da SanSites mit externen und nicht mit internen Umleitungen (wie ISAPI-Filter) arbeitet, ist garantiert, dass alle Websites, die auf einem IIS funktionieren, auch mit SanSites funktionieren. (Und da Sie nur die normalen Funktionen des IIS nutzen, ist selbstverständlich auch alles völlig legal.)
Nach so viel Lob muss hinzugefügt werden, dass die Garantie, („dass alle Websites, die auf einem IIS funktionieren, auch mit SanSites funktionieren“) theoretischer Natur ist. Aber die bisherigen Tests haben gezeigt, dass das Herunterladen von verschiedenen Dateitypen (.htm, .jpg, .gif, .mp3, .pdf, .swf, .zip) wie auch Dateigrössen (>650MB) möglich ist, dass die “Integrierte Windows-Authentifizierung” funktioniert und dass ASP und ASP.NET Applikationen einwandfrei ausgeführt werden. Da dies die eigentlichen Ziele bei der Entwicklung von SanSites waren, wurden die Tests eingestellt – weshalb keine effektive Garantie gegeben werden kann, dass andere komplexere Vorgänge (wie SSL?) auch tatsächlich funktionieren. Aber aufgrund von SanSites’ Design SOLLTEN sie funktionieren, sofern die Header korrekt modifiziert werden; wenn sie also auf ein solches Problem stossen sollten, teilen Sie uns dies bitte mit, wir versuchen dann, die Modifzierung der Header so anzupassen, dass auch diese anderen Vorgänge unterstützt werden.
Alles in allem erledigt die Software SanSites ihre Aufgabe und weist eine gute Performance auf – und Software, die ihre Aufgabe mit guter Performance erledigt, ist doch grundsätzlich gute Software, oder?
 
4. Setup Informationen
Wir gehen davon aus, dass Sie Windows XP Professional verwenden und mit einer Standardinstallation des IIS arbeiten – sollte dies nicht der Fall sein, müssen Sie diese Setup Informationen gegebenenfalls Ihrem Betriebssystem und Ihrer Webserver-Installation anpassen. Wir gehen ebenfalls davon aus, dass Sie Ihre Domänen bereits registriert und die Nameserver für Ihren Webservers konfiguriert haben – oder dass Sie wissen, wie Sie dies später tun können.
Bitte beachten Sie, dass unsere Darstellungen von dem, was Sie auf Ihrem Bildschirm sehen, abweichen könnten (da jene auf einer deutschen Version von Windows XP Professional erzeugt worden sind).
Damit SanSites funktioniert, müssen Sie den IIS umkonfigurieren, so dass er Anfragen auf Port 8080 anstelle von Port 80 entgegennimmt. Danach müssen Sie die Software SanSites installieren, welche jetzt Anfragen auf Port 80 entgegennimmt (und diese an und von Port 8080 umleitet).
Um dies zu tun, befolgen Sie folgenden Anweisungen:
1. Öffnen Sie die „Systemsteuerung“ und navigieren Sie zu „Verwaltung“, „Internet-Informationsdienste“.
 
 
2. Öffnen Sie im neuen Fenster „lokaler Computer“, „Websites“, rechtsklicken Sie danach auf „Standardwebsite“ und wählen Sie „Eigenschaften“.
3. Wählen Sie die Registerkarte „Website“, ändern Sie den Wert für „TCP-Anschluss“ von 80 auf 8080 und klicken Sie auf „OK“. Falls Sie gefragt werden, ob der IIS neu gestartet werden soll, sagen Sie „Ja“. Schliessen Sie alle geöffneten Fenster.
 
 
4. Laden Sie die Installationsdatei von SanSites herunter, führen Sie sie aus und befolgen Sie die Anweisungen des Installationsassistenten.
5. Sie können jetzt nach Bedarf Domänen einrichten, indem Sie virtuelle Verzeichnisse zu Ihrer IIS-Standardwebsite hinzufügen. Achten Sie darauf, dass Verzeichnisname und Domänenname exakt übereinstimmen (z.B. www.domain1.net oder shop.domain1.net). Vergessen Sie nicht, auch alle anderen IIS-Einstellungen (wie diejenige des Standarddokuments) vorzunehmen.
 
 
6. HINWEIS: Aufgrund der Umleitung hat der IIS den Eindruck, alle Anfragen kämen von und gingen an den lokalen Computer, weshalb die Standardmethoden zum Ausgeben der IP-Adresse des Clients oder des Hostnamens scheitern. Sollten Sie also solche Standardmethoden verwenden, müssen Sie diese mit speziellen Methoden ersetzen, welche die korrekten Informationen ausgeben, die SanSites in die Header eingefügt hat. Für ASP und ASP.NET Applikationen sind Beispiele erstellt worden, die Sie in der Datei Examples.txt finden. Für andere Applikationen müssen entsprechende Anpassungen vorgenommen werden.
7. HINWEIS: Zum Deinstallieren öffnen Sie einfach die „Systemsteuerung“, navigieren Sie zu „Software“, wählen Sie „SanSites“ und klicken Sie auf „Entfernen“. Befolgen Sie danach die Schritte 1 und 2 und ändern Sie die Einstellung für „TCP-Anschluss“ wieder auf 80.
 
5. Fehlersuche
Zur Zeit gibt es noch keine Fehlersuche, aber Sie können uns stattdessen eine E-Mail an support@sansoft.biz schicken.
 
6. FAQ
Zur Zeit gibt es noch keine FAQ, aber Sie können uns stattdessen eine E-Mail an support@sansoft.biz schicken.
 
7. Technische Spezifikation
Die Software SanSites ist ein Windows Dienst und wurde in C# unter Visual Studio .NET 2003 entwickelt. Sie fungiert als Webserver, der eingehende Anfragen für eine Domäne [x:80] an ein virtuelles Verzeichnis [127.0.0.1:8080/x] umleitet. Der Webserver unterstützt mehrere Prozesse (Multi-Threading) und verwendet synchrone Socket-Kommunikation.