Spezifika von Windows-Servern

Windows-basierte virtuelle Server haben im Gegensatz zu Linux-Servern andere plattformspezifische Funktionen und Dienste. Diese virtuellen Server können Sie im Rahmen eines Komplet, Firma und Expert Hosting-Pakets bestellen. 

Nachfolgend listen wir die spezifische Funktionen und Dienste der Windows-Lösung auf.

 

 


 

Benennung von Dateien

Der Datei- oder Verzeichnisname darf 256 Zeichen (einschließlich der Erweiterung) nicht überschreiten und darf folgende Zeichen nicht enthalten: ? * "<> | /. Windows unterscheidet nicht zwischen Groß- und Kleinschreibung, so dass es z.B. egal ist, ob der HTML-Link zu einer Datei kleingeschrieben ist und der eigentliche Dateiname groß geschrieben ist.


Einstellungen von Datei-Rechten

Beim Windows-Hosting gibt es zwei Arten der Zugriffsberechtigungen. Diese ändern Sie in den Einstellungen des virtuellen Servers im Kundencenter unter  Server und Hosting / Domain / Servereinstellungen / Rechteeinstellungen. Die Dateirechte können nicht über FTP geändert werden.

  1. Hohe Sicherheit: Mit dieser Einstellung werden alle Windows-Server eingerichtet. Skripte dürfen nur in die „Upload” und „WWWRoot/Dread” Verzeichnisse schreiben.
  2. Standardsicherheit: Entspricht den Rechte-Werten 777 von Linux - voller Schreibzugriff auf alle Ordner und Dateien im /WWWRoot/ und darunter. 
Hinweis: Wenn Ihre Anwendung keine vollständigen Dateirechte erfordert, stellen Sie sie nicht ein. Höhere Dateiberechtigungen erhöhen das Risiko von Missbrauch / Angriff Ihrer Anwendung.

Detaillierte Schrittfolge:

  1. Melden Sie sich im Kundencenter an. 
  2. Wählen Sie das Hosting, bei dem Sie die Dateirechte bearbeiten möchten (Server und Hosting / Domain / Servereinstellungen).
  3. Öffnen Sie die Serverdetail-Seite und klicken Sie bei Rechteeinstellungen auf „Einstellungen”.
  4. Wählen Sie die erforderliche Berechtigung aus. 

Verzeichnisstruktur

Auf dem FTP-Windows-Server finden Sie folgende fünf Verzeichnisse:

  • WWWRoot - Stammordner zum Hochladen Ihrer Webdaten. Dateien, die hierher hochgeladen werden, werden unter der adressierten Domain angezeigt. Das Unterverzeichnis „DRead” ist nur für die Dateien bestimmt, die nicht anonym über http gelesen oder heruntergeladen werden dürfen. Meistens geht es um die Datenbank-Dateien vom Typ MS Access u.ä.
  • Store - Hier können Sie Dateien ablegen, auf die man nur autorisiert per FTP zugreifen kann. 
  • Upload - In diesem Verzeichnis kann ein anonymer Internetnutzer Dateien mit Hilfe von Skripten schreiben und löschen. Das Verzeichnis und die darin enthaltenen Dateien sind anonym im Browser unter „http://www.yourdomain.com/Upload” zugänglich. Dieses Verzeichniss wird meist zum Hochladen von Bildern auf den virtuellen Server verwendet.
  • ErrMsg - Hier liegen html-Dateien, die der Server im Fehlerfall anzeigt, z.B die Fehlerdatei 404.htm.
  • Logs -  Dieses Verzeichnis enthält die Logdateien des virtuellen Servers. Die Logdateien älter als vierzig Tage werden automatisch gelöscht.

ASP.NET-Betrieb

Wenn Sie Ihren Anwendungscode mit „Visual Studio.net” schreiben, wird beim Anlegen eines neuen Projekts, die Anwendung im Unterverzeichnis erstellt. Dies ist verständlich, denn im Stammverzeichnis kann es spezifische Einstellungen für ein anderes Projekt geben, die beim Debuggen von Skripten Probleme verursachen könnten. Unser Hosting ist jedoch nicht für das Code-Debugging ausgelegt, so dass mehrere Anwendungen auf einem virtuellen Server nicht erforderlich sind.

Daraus folgt:

  1. Das Verzeichnis „bin” muss im Stammverzeichnist (im WWW Root) liegen. Die Dateien aus diesem Verzeichnis werden stets ab dem Stammverzeichnis (WWW-Root) gesucht; sollte das „bin” - Verzeichnis im weiteren Unterverzeichnis liegen, werden die Dateien nicht gefunden und es erscheint eine Fehlermeldung. 
  2. In web.config, die sich woanders als im Stammverzeichnis befindet ( z.B. in einem Unterverzeichnis), dürfen die Parameter für die Einstellung der Anwendung nicht angegeben werden. Zum einen haben sie dann keine Bedeutung, zum anderen verursachen sie eine Fehlermeldung, wenn sie versuchen, ein Skript aus diesem Unterverzeichnis auszuführen.
  3. Die Datei global.aspx, die sich woanders als im Stammverzeichnis befindet, wird nicht ausgeführt.

Alles genannte gilt automatisch, wenn ein Projekt in einem Unterverzeichnis mit „Visual Studio.net” erstellt wird; man muss darauf Acht geben. Die Dateien global.aspx und web.config werden immer erstellt und gleich mit ihnen auch einige Dateien im Verzeichnis bin. Diese Dateien sind aber für die Ausführung Ihrer Anwendung nicht immer notwendig. Außerdem verlangsamt jeder unnötige Code die Ausführung Ihrer Anwendung auf dem Webserver und erhöht den Speicherbedarf. Prüfen Sie daher sorgfältig, ob die genannten Dateien tatsächlich notwendig sind.


Anwendungspool

Anwendungen auf einem Shared Hosting-Server können auf verschiedene Anwendungspools verteilt werden. Ein Anwendungspool erlaubt Einstellungen hinsichtlich der Abgrenzung zwischen den einzelnen Anwendungen. Es ist eine Maßnahme, um in erster Linie die Serverüberlastung zu verhindern. Die Überlastung kann durch den starken Traffic auf dem virtuellen Server aber auch durch fehlerhafte (schlecht geschriebene) Skripte und Datenbankabfragen entstehen. 

  • Speicherrecycling

    Beim Anwendungspool, der für jeden virtuellen Server separat läuft, wird die zugeteilte Speicher-Menge überwacht. Zwei Werte werden überwacht: virtueller Speicher (Working Set) und verbrauchter Speicher (Privat). Bei Überschreitung der eingestellten Werte wird ein neuer Prozess gestartet, der den Betrieb der Anwendung des virtuellen Servers übernimmt. Der ursprüngliche (alte) Prozess wird dann beendet. In der Praxis zeigt es sich durch den Abbruch von Sitzungen und die Invalidierung von Viewstate von ASPX-Anwendungen.
  • Überwachung der CPU-Zeitaufnahme

    Beim Anwendungspool, der für jeden virtuellen Server separat läuft, wird die von Anwendungen (Skripten) verbrauchte Prozessorzeit überwacht. Der kumulierte Wert wird periodisch mit dem eingestellten Grenzwert verglichen und wenn er höher ist, wird der Anwendungspool ausgeschaltet. Die Leistungseinschränkung ist nicht skalierbar, die Webseite wird gleich abgestellt. Die CPU-Zeitverbrauchswerte werden nirgendwo erfasst. Beim virtuellen Server mit überschrittenen Prozessorlimits wird die Meldung „Service Unavailable” angezeigt und das auch bei Abfragen statischer Inhalte.
Wichtig: Anwendungspools werden jede halbe Stunde kontrolliert und abgestellte Anwendungspools werden jede halbe Stunde automatisch gestartet.

Die Datei web.config

Die Konfigurationsdatei „web.config” wird für die Einstellungen Ihres virtuellen Servers verwendet. Bei der Erstellung eines neuen virtuellen Servers wird eine web.config Datei mit folgendem Standardinhalt erstellt:

<!--l version="1.0" encoding="utf-8-->
<configuration>

<system.web>
<compilation tempdirectory="P:\%username_without_suffix%\" >
</compilation>

<customerrors mode="on">
</customerrors>

</system.web>

</configuration>

Der Eintrag „tempDirectory” im Abschnitt „compilation” ist für jeden virtuellen Server separat bestimmt. Wenn er nicht existiert oder falsch ausgefüllt wird, funktionieren teilweise oder komplett die kompilierten Bibliotheken *.dll nicht; es erscheint die Meldung „Access is denied”. Außerdem kann es passieren, dass andere Benutzer von virtuellen Servern, die auf derselben Maschine laufen, den Code Ihres virtuellen Servers lesen und schließlich den Zugriff auf die Datenbanken oder auf nicht-öffentliche Teile Ihrer Webseite herausfinden können. Wir empfehlen daher, die „tempDirectory” nicht zu ändern.


Der Eintrag „mode” im Abschnitt „customErrors” bestimmt, ob bei der Verarbeitung von *.aspx oder *.dll die Fehlermeldungen angezeigt werden. Wenn Sie die detaillierten Fehlermeldungen anzeigen möchten, ändern Sie diese auf „Off”.