Windows Server 2008 (IIS 7.5)

Transcription

Windows Server 2008 (IIS 7.5)
Windows Server 2008 (IIS 7.5) Häufige Fragen
Contents
Wo findet man die eigenen Einstellungen für IIS Manager? ......................................... 2
Wie meldet man sich im IIS Manager für Remoteverwaltung an? ................................ 3
Wie generiert man eine 'FTP over SSL'-Verbindung mit FileZilla? ............................. 6
Wie erhält man Zugriff auf WebDAV? ......................................................................... 7
Wie verschickt man E-Mails mit ASP.NET 2.0? .......................................................... 9
ASP.NET 4.0 Programmfehler: unbekanntes Attribut 'targetFramework' .................. 11
Wie installiert man Applikationen mit dem Web Platform Installer? ......................... 13
Wie implementiert man ein Webanwendungsprojekt in Visual Studio 2010 mithilfe
von Web Deploy? ........................................................................................................ 19
Wie deaktiviert man in IIS7.5 den anonymen Zugriff auf einen Ordner samt
Unterordner? ................................................................................................................ 21
Wie leitet man eine Subdomain an einen Unterordner weiter? ................................... 22
Wieso kann man nicht alle Dateien aus WebDAV löschen? ....................................... 23
Wie integriert man Google Analytics in seine Website? ............................................. 25
Wo findet man die eigenen Einstellungen für IIS Manager?
Wenn Sie Ihre Einstellungen für IIS Manager nicht finden, kann das folgende Gründe
haben:
1. Die Datei web.config ist gelöscht.
2. Die Datei web.config wurde durch eine eigene Datei ersetzt.
Die meisten individuellen Einstellungen für IIS Manager werden in einer
web.config-Datei gespeichert. Wenn diese gelöscht wird, werden Einstellungen wie z.
B. anonyme/einfache Authentifizierung, Standarddokumente, HTTP-Fehler usw. auf
den Serverstandard zurückgestellt.
Beachten Sie auch, dass Sie Ihre Website beschädigen können, wenn Sie eine eigene
web.config-Datei hochladen: Es besteht die Gefahr, Features zu
überschreiben/entfernen, die über die Systemsteuerung oder IIS Remote Manager
angelegt wurden, oder ggf. Features zu verwenden, die mit der aktuellen
Serverkonfiguration nicht gestattet sind. Im schlimmsten Fall wird die gesamte
Website unbrauchbar.
Wie meldet man sich im IIS Manager für Remoteverwaltung an?
Der IIS Manager for Remote Administration von Microsoft dient zur sicheren
Administration von IIS-7.5-Websites per Fernwartung. IIS Manager kann über die
Website von Microsoft heruntergeladen werden. Den Link dazu finden Sie unter
MyAccount.
Melden Sie sich in MyAccount an. Klicken Sie dann links im Menü auf Windows
Web - GetStarted. Den Link zum IIS Manager (inkl. Anmeldeinformationen) finden
Sie im Bereich IIS Manager for Remote Administration.
Benutzer mit 'User Manager'-Profil können den Zugriff auf den IIS Manager
regeln: Klicken Sie auf Windows Web - User Manager; wenn das Kontrollkästchen
ISS Manager access markiert ist, ist der Zugriff erteilt.
Nachdem das Tool heruntergeladen und installiert ist, kann es über das Windows
Start-Menü geöffnet werden. Das Programm heißt Internet Information Services
(IIS) 7 Manager.
Fügen Sie eine neue Verknüpfung zur Website hinzu, indem Sie auf Connect to a
Site (Mit Website verbinden) klicken.
Tragen Sie den Servernamen unter Server name und den Namen der Website unter
Site name ein. Diese Einstellungen finden Sie in MyAccount unter Windows Web GetStarted. Klicken Sie danach auf Next (Weiter).
Tragen Sie unter User name Ihren Benutzernamen und unter Password das
dazugehörige Kennwort ein. Beide werden dann per E-Mail an den
Domainadministrator weitergeleitet. Klicken Sie auf Next (Weiter).
Sind Benutzername und/oder Kennwort falsch, erhalten Sie eine Benachrichtigung,
wenn Sie auf Next klicken.
Wenn Sie zum ersten Mal eine neue Website hinzufügen, wird evtl. der folgende
Dialog angezeigt. Er informiert darüber, welche Features heruntergeladen werden
können. Wir empfehlen, alle angezeigten Features zu markieren und über Klick auf
OK herunterzuladen.
Zum Schluss müssen Sie der Website-Verknüpfung einen Namen geben. Wir
empfehlen, dafür den Namen der Domain zu wählen. Klicken Sie abschließend auf
Finish (Ausführen). Die Website kann nun gewartet werden.
Wie generiert man eine 'FTP over SSL'-Verbindung mit FileZilla?
Windows 2008 R2/IIS 7.5 ermöglicht eine sichere FTP-Verbindung via 'FTP over
SSL'. Dies ist nicht identisch mit SFTP (FTP via SSH).
1. Klicken Sie auf Open Site Manager (Site Manager öffnen).
2. Klicken Sie auf die Schaltfläche New Site (Neue Site). Geben Sie der Website
einen Namen.
3. Füllen Sie die folgenden Felder aus:
Host: Domainname oder eine alternative FTP-Adresse
Server Type (Art des Servers): FTPES - FTP over explicit TLS/SSL.
Logon Type (Anmeldungsart): Normal.
User (Benutzer): ihr Benutzername, z. B.
ftp.example.com|[email protected].
Password (Kennwort): Kennwort des angegebenen Benutzers.
4. Klicken Sie auf Connect (Verbinden).
Wie erhält man Zugriff auf WebDAV?
Mit WebDAV können Sie Ihre Website via HTTPS-Protokoll als Netzlaufwerk auf
Ihrem PC abbilden.
Zunächst müssen Sie sicherstellen, dass Website und Benutzerkonto unter
MyAccount korrekt aufgesetzt sind. Kontrollieren Sie dafür in MyAccount im Menü
IIS Admin, dass das Kontrollkästchen WebDav access markiert und der WebDAVZugriff somit aktiviert ist:
Über das Menü User Manager stellen Sie sicher, dass Ihr Benutzer WebDAV-Zugriff
hat. Das Kontrollkästchen neben WebDAV access muss dafür markiert sein:
Danach müssen Sie den Zugriff auf WebDAV über Ihr Betriebssystem festlegen.
Wenn Sie Microsoft Windows verwenden, gehen Sie wie folgt vor: Klicken Sie im
Windows Explorer auf Computer und danach auf Map Network drive
(Netzlaufwerk verbinden).
Aus Sicherheitsgründen ist nur WebDAV via SSL möglich. Deswegen ist das
HTTPS-Protokoll erforderlich und Sie müssen die “*.ssl-encrypted.com” SSLDomain verwenden, die Sie in MyAccount unter GetStarted finden.
So verbinden Sie sich mit WebDAV über ein Netzlaufwerk:
1. Wählen Sie unter Drive (Laufwerk) den Laufwerksbuchstaben für Ihre
Website (z. B. Z:).
2. Im Feld Folder (Ordner) Tragen Sie Sie den Text ein, den Sie unter WebDAV
Hostname in MyAccount finden, z. B. https://[id].ssl-encrypted.com.
3. Markieren Sie Connect using different credentials (Verbindung mit anderen
Anmeldeinformationen herstellen).
4. Tragen Sie Ihren Benutzernamen (Username) und Ihr Kennwort (Password)
aus MyAccount ein.
Das Netzlaufwerk Z: sollte nun mit Ihrer Website verknüpft sein.
Wie verschickt man E-Mails mit ASP.NET 2.0?
Mit Version 2.0 stellt ASP.NET eine build-in class zum Versenden von E-Mails zur
Verfügung (System.Net.Mail). Hier ein Beispielcode:
C# ASP.NET
using System.Net.Mail;
[…]
MailMessage objEmail =
new MailMessage(
"[email protected]",
"[email protected]",
"This is the Subject",
"This is the Body.");
objEmail.Priority = MailPriority.Normal;
SmtpClient SMTPServer = new SmtpClient("localhost");
try{
SMTPServer.Send(objEmail);
Response.Write("Email sent sucessfully.");
}
catch (Exception exc){
Response.Write("Send failure: " + exc.ToString());
}
VB ASP.NET
Imports System.Net.Mail
[…]
Dim strFrom = "[email protected]"
Dim strTo = "[email protected]"
Dim MailMsg As New MailMessage(New MailAddress(strFrom.Trim()), New
MailAddress(strTo))
MailMsg.Subject = "This is the Subject"
MailMsg.Body = "This is the Body"
MailMsg.Priority = MailPriority.Normal
Dim SmtpMail As New SmtpClient
SmtpMail.Host = "localhost"
Try
SmtpMail.Send(MailMsg)
Response.Write("Email sent sucessfully.")
Catch exc As Exception
Response.Write(exc.Message)
End Try
PHP
<?php
$to = "[email protected]";
$subject = "This is the subject";
$body = "This is the Body";
$headers = "From: [email protected]\r\n" .
"X-Mailer: php";
if (mail($to, $subject, $body, $headers)) {
echo("<p>Email sent successfully.</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
?>
ASP.NET 4.0 Programmfehler: unbekanntes Attribut
'targetFramework'
Erhalten Sie beim Öffnen Ihrer Webanwendung folgende Fehlermeldung?
Description: An error occurred during the processing of a configuration file required
to service this request. Please review the specific error details below and modify your
configuration file appropriately.
Parser error message: Unrecognized attribute 'targetFramework'. Note that attribute
names are case-sensitive.
Dieser Fehler bedeutet, dass Ihr Konto für ASP.NET 2.0 Framework konfiguriert ist,
Sie aber ASP.NET 4.0 verwenden.
Sie können die Fehlermeldung beheben, indem Sie sich in MyAccount anmelden und
Windows Web - IIS Admin öffnen. Wählen Sie - wie unten im Fenster gezeigt - aus
der Auswahlliste ASP.NET Version den Eintrag 4.0 und klicken Sie danach auf Set
IIS properties (IIS-Eigenschaften festlegen).
Wie installiert man Applikationen mit dem Web Platform
Installer?
Mit dem Web Platform Installer können Sie gängige Webanwendungen leicht auf
Ihrer Website zu publizieren. Im folgenden Beispiel wird ein Blog-System namens
Wordpress installiert.
Die meisten Applikationen benötigen eine Datenbank. Wenn Ihr Produkt keine
Datenbank enthält, wenden Sie sich zu diesem Zweck an unser Vertriebs-Team. Ist
Ihre Datenbank noch nicht erstellt, können Sie sie über den SQL-Bereich in
MyAccount erstellen.
Der Web Platform Installer ist Teil des Tools IIS Manager for Remote
Administration und wird separat über Microsofts Website heruntergeladen. Den
betreffenden Link finden Sie in MyAccount unter Windows Web - GetStarted.
Um den Web Platform Installer zu starten, öffnen Sie zunächst den IIS Manager
for Remote Administration und wechseln dort in den Bereich Management.
Doppelklicken Sie auf das folgende Symbol.
Das Installationsprogramm wird geladen und gestartet. Das kann etwas Zeit in
Anspruch nehmen.
Wählen Sie What’s New? (Neuerungen) oder Web Applications
(Webanwendungen) links aus dem Menü. Sie können dann durch die Anwendungen
blättern, die installiert werden können.
Die Auswahl Web Applications enthält meherere Kategorien mit unterschiedlichen
Anwendungsarten:
Klicken Sie auf das Informationssymbol rechts vom Anwendungstitel, wenn Sie
Details zu einer Anwendung sehen möchten.
In diesem Beispiel installieren wird WordPress aus dem Bereich Blogs. Wählen Sie
das Programm und klicken Sie auf Install (Installieren).
Es wird ein Fenster geöffnet, in dem alle Anwendungen aufgelistet sind, die Sie
ausgewählt haben. Klicken Sie auf I Accept (Ich akzeptiere). Der Download-Vorgang
wird jetzt gestartet.
In den nächsten Schritten werden Angaben zu Ihrer Website und Datenbank
abgefragt. Die Daten dazu finden Sie in MyAccount. Die Passwörter (Passwords)
werden dem Administrator Ihrer Website per E-Mail zugeschickt.
Tragen Sie zunächst den Namen der Anwendung ein (application name).
Wenn Sie die Anwendung im Website-Root-Verzeichnis installieren wollen, lassen
Sie das Feld leer. Sie erhalten einen Warnhinweis, dass das Zielverzeichnis nicht leer
ist. Bestätigen Sie, dass die vorhandenen Dateien überschrieben werden sollen.
Wenn das Programm in einem eigenen Unterverzeichnis installiert werden soll,
schreiben Sie den Namen der Applikation in das Feld. Klicken Sie danach auf
Continue (Fortsetzen).
Im letzten Schritt tragen Sie u.a. Angaben zur Datenbank und zum Kennwort ein.
Wichtiger Hinweis!
Einige Anwendungen verwenden eine MSSQL-Datenbank, andere eine MySQLDatenbank. Der Web Platform Installer nennt Ihnen die verwendete Datenbank.
Öffnen Sie das betreffende Produkt in MyAccount für weitere Hinweise.
In unserem Beispiel wird eine MySQL-Datenbank verwendet.
Im Feld Create a new or use an existing database (Neue Datenbank erstellen oder
vorhandene Datenbank verwenden) müssen Sie Use existing database (Vorhandene
Datenbank verwenden) wählen.
Geben Sie die Hinweise zur Datenbank an, z. B. Benutzername (unter Database User
Name), Kennwort (unter Database Password) und den Ort des Datenbankservers
(unter Database Server). Klicken Sie danach auf Continue (Fortsetzen).
Wenn Sie eine Fehlermeldung zu fehlenden Komponenten erhalten (z. B. MySQL
Connector for .NET), klicken Sie auf OK.
Die Applikation wird im Netz und auf dem Datenbankserver installiert. Nach
Abschluss der Installation erhalten Sie eine Hinweismeldung. Klicken Sie auf Launch
(Start), wenn Sie die Website im Browser ansehen möchten, oder auf Finish
(Ausführen), um zum Installationsprogramm Web Platform Installer
zurückzuwechseln.
Möchten Sie mehrere Programme gleichzeigit installieren, markieren Sie einfach alle
betreffenden Kontrollkästchen, bevor Sie auf Install (Installieren) klicken. Der
Installationsassistent fragt dann nacheinander für jede der Applikationen die
benötigten Angaben ab.
Wie implementiert man ein Webanwendungsprojekt in Visual
Studio 2010 mithilfe von Web Deploy?
Hinweis! Die folgende Anleitung gilt nur für Webanwendungsprojekte
(Webapplikationenprojekte) in Visual Studio, nicht für Websites.
Web Deploy ist eine neue Methode zum Publizieren Ihrer Webanwendung. Web
Deploy gibt es nur für Websites mit Windows-2008-Server.
Um die Web-Deploy-Methode mit Visual Studio 2010 zu verwenden, muss unter
MyAccount der IIS-Manager-Zugang aktiviert sein (IIS Manager access).
So publizieren Sie Ihre Webanwendung mit Web Deploy:
1. Öffnen Sie das Projekt in Visual Studio 2010.
2. Klicken Sie auf Build (Bauen) – Publish (Veröffentlichen). Der Publish-WebDialog wird geöffnet.
3. Ändern Sie die Veröffentlichungsmethode (Publish method) zu Web Deploy.
4. Schreiben Sie den folgenden Text in das Feld Service URL:
https://<Webserver>.active24.com:8172/MsDeploy.axd
(<Webserver> steht für den Servernamen, z. B. ho01-is-s701)
5. Unter Site/application (Website/Anwendung) tragen Sie Folgendes ein:
<Name der Domain>/<Unterverzeichnis>
(<Unterverzeichnis> steht für den Zielordner der Applikation. Beispieleintrag:
beispiel.de/app1)
6. Markieren Sie Mark as IIS application on destination (Als IIS-Anwendung
im Ziel markieren).
7. Markieren Sie Allow untrusted certificate (Nicht vertrauenswürdiges
Zertifikat zulassen).
8. Tragen Sie unter User name Ihren Web-Deploy-Benutzernamen ein. Diesen
finden Sie unter MyAccount.
9. Tragen Sie unter Password Ihr Kennwort ein.
10. Klicken Sie auf Publish (Veröffentlichen).
Wie deaktiviert man in IIS7.5 den anonymen Zugriff auf einen
Ordner samt Unterordner?
Sie können den anonymen Zugriff auf einen bestimmten Ordner und dessen
Unterordner unterbinden. Dafür erstellen Sie einfach eine web.config-Datei in dem
betreffenden Order (oder ergänzen die vorhandene web.config-Datei) mit den
folgenden Zeilen.
Hinweis! Für die Website muss Windows Authentication (WindowsAuthentifizierung) aktiviert sein. Verwenden Sie dafür den IIS 7 Manager.
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
<allow users="[email protected]"/>
</authorization>
</system.web>
</configuration>
Auf diese Weise stellen Sie sicher, dass nur der angebene Administrator auf den
Ordner und dessen Unterordner zugreifen kann.
Wie leitet man eine Subdomain an einen Unterordner weiter?
Dieses Beispiel enthält die Domain "example.com" mit den zwei Hostnamen:


www. example.com (example.com)
shop. example.com
Hinweis! Hostnamen werden in MyAccount unter Domain Admin angelegt.
Folgende Ordnerstruktur der Website ist gegeben:
\wwwroot\default.aspx (Startseite für www.example.com)
\wwwroot\web.config (config-Datei für die Root-Anwendung)
\wwwroot\shop\default.aspx (definierte Startseite für for shop.example.com)
Bevor eine eingehende Anfrage für "shop.example.com" an den Unterorder "shop"
weitergeleitet werden kann, muss folgender Text in die web.config-Datei (unter
\wwwroot\web.config) geschrieben werden:
<system.webServer>
<rewrite>
<rules>
<rule name="Shop Subdomain Redirect" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^shop.example.com$" />
<add input="{REQUEST_URI}" negate="true" pattern="/shop" />
</conditions>
<action type="Redirect" url="http://shop.example.com/shop/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
Das wirkt sich wie folgt aus:


Eingehende Anfragen an www.example.com (example.com) laden Inhalte von
\wwwroot\
Eingehende Anfragen an shop.example.com laden Inhalte von \wwwroot\shop\
Wieso kann man nicht alle Dateien aus WebDAV löschen?
Die folgenden Dateien sind auf Serverebene so konfiguriert, dass sie Änderungen
seitens WebDAV abweisen.
<requestFiltering>
<fileExtensions allowUnlisted="true" applyToWebDAV="true">
<add fileExtension=".asax" allowed="false" />
<add fileExtension=".ascx" allowed="false" />
<add fileExtension=".master" allowed="false" />
<add fileExtension=".skin" allowed="false" />
<add fileExtension=".browser" allowed="false" />
<add fileExtension=".sitemap" allowed="false" />
<add fileExtension=".config" allowed="false" />
<add fileExtension=".cs" allowed="false" />
<add fileExtension=".csproj" allowed="false" />
<add fileExtension=".vb" allowed="false" />
<add fileExtension=".vbproj" allowed="false" />
<add fileExtension=".webinfo" allowed="false" />
<add fileExtension=".licx" allowed="false" />
<add fileExtension=".resx" allowed="false" />
<add fileExtension=".resources" allowed="false" />
<add fileExtension=".mdb" allowed="false" />
<add fileExtension=".vjsproj" allowed="false" />
<add fileExtension=".java" allowed="false" />
<add fileExtension=".jsl" allowed="false" />
<add fileExtension=".ldb" allowed="false" />
<add fileExtension=".dsdgm" allowed="false" />
<add fileExtension=".ssdgm" allowed="false" />
<add fileExtension=".lsad" allowed="false" />
<add fileExtension=".ssmap" allowed="false" />
<add fileExtension=".cd" allowed="false" />
<add fileExtension=".dsprototype" allowed="false" />
<add fileExtension=".lsaprototype" allowed="false" />
<add fileExtension=".sdm" allowed="false" />
<add fileExtension=".sdmDocument" allowed="false" />
<add fileExtension=".mdf" allowed="false" />
<add fileExtension=".ldf" allowed="false" />
<add fileExtension=".ad" allowed="false" />
<add fileExtension=".dd" allowed="false" />
<add fileExtension=".ldd" allowed="false" />
<add fileExtension=".sd" allowed="false" />
<add fileExtension=".adprototype" allowed="false" />
<add fileExtension=".lddprototype" allowed="false" />
<add fileExtension=".exclude" allowed="false" />
<add fileExtension=".refresh" allowed="false" />
<add fileExtension=".compiled" allowed="false" />
<add fileExtension=".msgx" allowed="false" />
<add fileExtension=".vsdisco" allowed="false" />
<add fileExtension=".rules" allowed="false" />
<add fileExtension=".asa" allowed="false" />
</fileExtensions>
<verbs allowUnlisted="true" applyToWebDAV="true" />
<hiddenSegments applyToWebDAV="true">
<add segment="web.config" />
<add segment="bin" />
<add segment="App_code" />
<add segment="App_GlobalResources" />
<add segment="App_LocalResources" />
<add segment="App_WebReferences" />
<add segment="App_Data" />
<add segment="App_Browsers" />
</hiddenSegments>
</requestFiltering>
Wie integriert man Google Analytics in seine Website?
1. Registrieren Sie zunächst ein Google-Analytics-Profil für Ihre Website:
http://www.google.com/analytics/.
2. Öffnen Sie IIS Manager und wechseln Sie ins Modul URL Rewrite.
3. Wählen Sie oben rechts Add Rule (Regel hinzufügen). Wählen Sie danach wie im Beispiel unten gezeigt - unter Outbound rules (Ausgehende Regeln)
den Eintrag Blank rule (Leere Regel):
4. Geben Sie unter Name der ausgehenden Regel einen sinnvollen Namen.
Erstellen Sie dann - wie unten gezeigt - unter Precondition eine neue
Vorbedingung:
5. Tragen Sie den Eingabe-Typ (unter Condition input), den Match-Typ (unter
Check if input string) und das Muster (unter Pattern) ein. Klicken Sie
danach auf OK:
6. Jetzt sollten Sie eine Vorbedingung erstellt haben, die der unten angezeigten
gleicht:
7. Klicken Sie auf OK.
8. Sie sollten nun festlegen, was übereinstimmen soll. Beachten Sie dabei, dass
Sie Exact Match (exakte Übereinstimmung) wählen müssen. Das Muster
(unter Pattern) sollte “</body>” sein. Markieren Sie auch Ignore case (Groß/Kleinschreibung ignorieren). Die Einstellungen sollten wie folgt aussehen:
9. Der Wert unter Action Properties (Aktionseigenschaften) sollte wie folgt
aussehen (den Platzhalter UA-xxxxxx-x ersetzen Sie mit der Profil-ID, die Sie
in Schritt 1 erhalten haben):
<script type="text/javascript">var gaJsHost =
(("https:" == document.location.protocol) ?
"https://ssl." :
"http://www.");document.write(unescape("%3Cscri
pt src='" + gaJsHost + "googleanalytics.com/ga.js'
type='text/javascript'%3E%3C/script%3E"));</scr
ipt><script type="text/javascript">try{var
pageTracker = _gat._getTracker("UA-xxxxxxx");pageTracker._trackPageview();} catch(err)
{}</script></body>
10. Die web.config-Datei sollte nun den folgenden Abschnitt enthalten:
<rewrite>
<outboundRules>
<rule name="Add Google Analytics Code"
preCondition="IsHTML" patternSyntax="ExactMatch">
<match pattern="&lt;/body>" />
<action type="Rewrite" value="&lt;script
type=&quot;text/javascript&quot;>var gaJsHost =
((&quot;https:&quot; == document.location.protocol) ?
&quot;https://ssl.&quot; :
&quot;http://www.&quot;);document.write(unescape(&quot;%3Cscript
src='&quot; + gaJsHost + &quot;google-analytics.com/ga.js'
type='text/javascript'%3E%3C/script%3E&quot;));&lt;/script>&lt;scr
ipt type=&quot;text/javascript&quot;>var pageTracker =
_gat._getTracker(&quot;UA-xxxxxxx&quot;);pageTracker._initData();pageTracker._trackPageview();&lt;
/script>&lt;/body>" />
</rule>
<preConditions>
<preCondition name="IsHTML">
<add input="{RESPONSE_CONTENT_TYPE}"
pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>