Archive for the ‘IIS’ Category

IIS Webseite lässt sich nicht starten und meldet: “Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.”

22 März 2013

Auf einem SBS 2003 ließ sich die die “Virtual Server Administration Website” nicht mehr starten. Der Browser meldete es wäre keine Verbindung zu http://fqdn:1024/VirtualServer/VSWebApp.exe?view=1 möglich.

Der IIS zeigte bei Websites unter Status:

Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

Schön wenn von Prozessen die Rede ist aber eigentlich die Ports gemeint sind. Wer also über diese Meldung stolpert, sollte sich anschauen, welcher Port und welcher SSL-Port verwendet wird.

Der Hintergrund ist: Der Port wird von einem anderen Dienst verwendet, aber welcher wäre das? Es gibt zwei Möglichkeiten, entweder man schaltet den anderen Dienst ab oder man vergibt einen neuen Port. Um den anderen Dienst zu ermitteln, verwendet man am einfachsten Powershell und gibt in einer Adminkonsole ein:

netstat –anb | select-string –Context 1 –Simplematch ":1024", ":1025"

wobei natürlich :1024 und :1025 durch die Ports ersetzt werden, die beim IIS unter Port und SSL-Port genannt sind.

Anschließend werden einem die Prozesse aufgeführt, welche die betreffenden Ports benutzen. Damit wird schnell klar, was Sache ist und welche Lösung die bessere ist.

Wenn der FTP-Client nach Login und Absenden eines Befehls auf einem Windows Server 2008 hängen bleibt

24 Mai 2012

Wenn man einen Windows Server 2008 mit IIS und installiertem FTP-Modul installiert hat und frisch ans Werk gehen möchte um FTP zu nutzen, kann es passieren, dass bei einem einfachen DIR Befehl der Client einfach hängen bleibt.

Die Lösung des Problems ist, dass der Server ausgehende FTP-Anfragen blocken kann. Dieser Artikel beschreibt die Situation sehr schön: http://titlerequired.com/2012/05/03/quick-fix-ftp-on-sbs-2011-server-2008-r2/

Hier wie man einen FTP-Server unter IIS 7.x einrichten kann: https://newyear2006.wordpress.com/2011/05/28/iis-7-oder-7-5-und-ftp-service-benutzer-einrichten/

Eine sehr gute Seite mit schöner Schritt für Schritt Anleitung: http://blogs.technet.com/b/bernhard_frank/archive/2011/05/27/iis-f-252-r-einsteiger-teil-5-ftp-oder-wie-lade-ich-dateien-auf-meinen-webserver.aspx. Die Anleitung ist optisch sehr gut aufbereitet und erklärt auch die verschiedenen Varianten sowie etwaige Problemfälle. Sehr zu empfehlen!

IIS7 oder IIS7.5 mit alten Classic ASP Seiten ans Laufen bekommen, diesmal in Powershell

28 Mai 2011

Dieser Artikel bezieht sich auf den Artikel: https://newyear2006.wordpress.com/2010/07/05/iis7-oder-iis7-5-mit-alten-asp-seiten-ans-laufen-bekommen/. Damit man eine Ahnung hat, worum es geht, sollte man diesen zuerst lesen.

Diesmal soll alles mittels Powershell konfiguriert werden. Dazu werden zuerst die ServerManager-Cmdlets aktiviert:

Import-Module ServerManager

Prüfen ob Classic-ASP schon installiert ist:

Get-WindowsFeature Web-ASP | fl installed

Wenn nicht, also installieren:

Add-WindowsFeature Web-ASP

Dann IIS-Powershellprovider laden

Import-Module WebAdministration

zum IIS wechseln

CD IIS:\

Um die Scriptfehlermeldungen angezeigt zu bekommen, verwendet man diesen Befehl:

set-WebConfigurationProperty /system.webserver/asp/.
-name scriptErrorSentToBrowser -Value $true

den aktuellen Wert abfragen, kann man mit

Get-WebConfigurationProperty /system.webserver/asp/.
-name scriptErrorSentToBrowser

Eine kleine Einführung in Get/Set-WebConfiguration* gibt es hier: http://learn.iis.net/page.aspx/436/powershell-snap-in-changing-simple-settings-in-configuration-sections/

Um die Unterstützung von Access-Datenbanken wieder ans Laufen zu bekommen, muss der 32Bit Modus aktiviert werden:

set-WebConfigurationProperty /system.applicationhost/applicationPools/
applicationPoolDefaults -Name enable32BitAppOnWin64 -Value $true

Die Parent Path Unterstützung wird darüber aktiviert:

set-WebConfigurationProperty /system.webserver/asp/.
-name enableParentPaths -Value $true

Um die Fehlerseiten für die passende Website anzupassen verwendet man

Set-WebConfigurationProperty "/system.webserver/httpErrors/error[@statusCode=’404′]" -pspath "iis:\sites\Default Web Site" -name path -value ‚/fehler/404b.asp‘
Set-WebConfigurationProperty "/system.webserver/httpErrors/error[@statusCode=’404′]" -pspath "iis:\sites\Default Web Site" -name responseMode -value ‚executeURL‘

Die Abfrage, ob alles korrekt gesetzt ist, bekommt man mit

Get-WebConfiguration "/system.webserver/httpErrors/error[@statusCode=’404′]" -pspath "iis:\sites\Default Web Site"

Um das Directory Browsing für die Website zu aktivieren, verwendet man

Set-WebConfigurationProperty "/system.webserver/directoryBrowse" -pspath "iis:\sites\Default Web Site" -name enabled -value $true

 

Eine Seite die ungemein hilfreich zum Finden der richtigen Befehle ist, mit Tonnen von Beispielen: http://blogs.iis.net/jeonghwan/archive/2008/07/30/iis-powershell-user-guide-comparing-representative-iis-ui-tasks.aspx

1&1 Dynamic Cloudserver Firewall und ungebräuchliche Ports

28 Mai 2011

Wer einen Dynamic Cloudserver bei 1&1 (1und1) hat, der benötigt für die eine oder andere Situation einen abweichenden Kommunikationsport.

Bei einem Windows 2008 R2 Web Server ist die Windows Firewall z. B. von Hause aus ausgeschaltet. Statt dessen hat 1&1 eine eigene Firewall davor gesetzt, welche man in seinen Servereinstellungsbereich konfigurieren kann. Hat man dies getan, so kommen aber ungebräuchliche Ports immer noch nicht durch!

Woran liegts? Bei Windows Servern müssen noch zusätzlich IP Sicherheitsfilter verändert werden. Dazu startet man MMC und lädt sich das Snapin “IP Security Policy Manager” oder “IP-Sicherheitsrichtlinienverwaltung” dort fügt man dann bei den Packetfilter-Eigenschaften einen neuen Filter hinzu.

Hier die 1&1 Beschreibung: http://hilfe-center.1und1.de/search/go.php?t=e727340

Übrigens für Scripter: Der passende Bereich kann über “netsh ipsec static” konfiguriert werden.

IIS 7 oder 7.5 und FTP Service Benutzer einrichten

28 Mai 2011

Nicht immer ganz offensichtlich ist, wie der FTP-Dienst unter IIS 7 bzw. 7.5 verwendet wird. Deshalb hier ein paar Notizen, damit es einfacher geht.

FTP installieren: http://learn.iis.net/page.aspx/263/installing-and-configuring-ftp-on-iis-7/

Einer Webseite fügt man FTP-Möglichkeiten hinzu indem man per Rechtsklick auf der Website “Add FTP Publishing” auswählt.

FTP-Benutzer legt man als lokale Benutzer unter Windows an (NET USER /ADD), bei FTP User Isolation verwendet man “User name directory (disable global virtual directories)”, zusätzlich muss auf der Rootfolder das Verzeichnis LocalUser angelegt werden, darunter legt man dann Verzeichnisse mit Benutzernamen an. Basic Authentication muss aktiviert werden. Bei “Authorization Rules” fügt man entweder Gruppen oder den einzelnen Benutzer mit den jeweiligen Rechten hinzu. Bei “FTP Directory Browsing” müssen evtl. noch die “virtual directories” aktiviert werden.

Wenn man einen Admin mit Zugriff auf alle Verzeichnisse benötigt, ist dieser in seinem Homeverzeichnis gefangen. Aber durch Anlegen eines virtuellen Verzeichnis, dessen physikalischer Pfad auf das Root der Webseite zeigt, bekommt der Admin indirekt wieder zugriff auf die gesamte Web Seite.

Hier ein Artikel mit dem Einrichten eines Admins, damit dieser Zugriff auf alles bekommt: http://www.experts-exchange.com/Software/Server_Software/Web_Servers/Microsoft_IIS/
Q_26104650.html

Ein schöner Artikel wo die Leute sich über das komplizierte Einrichten von FTP-Benutzern auslassen: http://forums.iis.net/t/1157475.aspx

Eine bildliche Abhandlung wie man die FTP-Geschichte einrichtet: http://learn.iis.net/page.aspx/305/configuring-ftp-75-user-isolation/

Am Ende nicht vergessen die Firewall beim Hosting Provider aufzumachen, damit auch Port 21 durchkommt.

Eine weitere Möglichkeit FTP-Benutzer anzulegen und zu verwalten: http://learn.iis.net/page.aspx/321/configure-ftp-with-iis-7-manager-authentication/

Hier wird noch beschrieben, wie man die ApplicationHost.config Datei verändert, um eine Ftp-Site anzulegen: http://learn.iis.net/page.aspx/301/creating-a-new-ftp-site/

Und noch etwas Powershell um Ftp-Sites zu Administrieren, z. B. virtuelle Verzeichnisse anlegen und zuordnen:

http://social.technet.microsoft.com/Forums/en/winserverpowershell/thread/1dc6e285-9c92-4765-89cd-f0bafd1c7bb7

oder Authorization Rules verändern:

http://blogs.msdn.com/b/johan/archive/2008/10/02/powershell-advanced-configuration-editing-in-iis7.aspx

netsh http add urlacl und SDDL Fehler 1332

12 November 2010

Weil ich jetzt schon zwei Mal darauf reingefallen bin. Um z. B. beim IIS unter Windows 7 (gilt eigentlich ab Vista und für Server) etwas umzukonfigurieren, muss netsh http bestimmte Rechte vergeben.

Wenn man z. B.

netsh http add urlacl url=http://mypc:8080/ user=everyone

verwendet wie oft in Dokumentationen angegeben, so bekommt man den netten Fehler

Die SDDL konnte nicht erstellt werden. Fehler: 1332
Falscher Parameter

Hä? Wie bitte? Habs beim ersten Mal mehrmals überprüft!

Die Lösung:

netsh http add urlacl url=http://mypc:8080/ user=Jeder

Im Prinzip logisch, aber sowas sollte seit Vista und der internen Umstellung auf Englisch + MUI nicht mehr sein. Danke MS!

IIS7 oder IIS7.5 mit alten ASP Seiten ans Laufen bekommen

5 Juli 2010

Um alte ASP-Seiten unter einem IIS7 oder höher unter Windows Server 2008 mit 64Bit ans Laufen zu bekommen, sind ein paar Dinge zu beachten.

Zu aller erst muss unter den Windows Features bzw. Windows Funktionen der Classic Mode installiert werden bzw. unter Server 2008 (R2) die passende Rolle hizugefügt werden. Näheres erläutert: http://learn.iis.net/page.aspx/562/classic-asp-not-installed-by-default-on-iis-70-and-iis-75/

Um von den Scripten sinnvolle Fehlermeldungen zu erhalten sollte man

%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true

ausführen, erst danach bekommt man altgewohnte Fehlermeldungen mit denen man etwas mehr anfangen kann.

Wenn dann so eine dabei ist:

ADODB.Connection error ‚800a0e7a‘

Provider cannot be found. It may not be properly installed.

muss man beim Application Pool unter den Advanced Settings “Enable 32-Bit Applications” auf True stellen. Wichtig: Funktioniert natürlich nur, wenn man den richtigen Application Pool verändert. Im Zweifel schaut man welcher wirklich aktiv ist. Weitere Infos findet man unter: http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/

Wenn man dann noch diese bekommt:

Active Server Pages error ‚ASP 0131‘

Disallowed Parent Path

/Produkte/Materialverwaltung.ASP, line 23

The Include file ‚..\..\Framework\framehead.inc‘ cannot contain ‚..‘ to indicate the parent directory.

Kann man sich auch wieder mit einer Einstellung helfen. Näheres beschreibt http://learn.iis.net/page.aspx/566/classic-asp-parent-paths-are-disabled-by-default/

Folgende Zeile aktiviert die passende Einstellung:

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/asp /enableParentPaths:"True" /commit:apphost

In Einzelfällen sollte man noch die angepaßten Fehlerseiten nachtragen, diese kann man bei der betreffenden Webseite unter IIS und dann “Error Pages” eintragen. Zuerst wählt man den betreffenden Statuscode aus z. B. 404 und trägt dann die gewünschte “Response Action” ein. Um auf eine Fehler-ASP-Seite zu verweisen aktiviert man “Execute a URL on this site” und trägt “/fehler/404.asp” ein. Damit die individuellen Fehlerseiten auch aktiviert werden muss man noch bei Actions unter “Edit Feature Settings”, “Custom error pages” aktivieren.

Viele weitere Infos zum Thema findet man unter: http://learn.iis.net/page.aspx/559/running-classic-asp-applications-on-iis-70-and-iis-75/