Endlich habe ich meine Antwort bekommen, hier sind die Schritte:
Öffnen Sie den Server-Manager über die Verwaltungswerkzeuge. Fügen Sie die Rolle "Webserver (IIS)" hinzu. Versuchen Sie http://localhost/
von Ihrem Browser aus. Sie sollten die IIS7-Willkommensseite sehen.
Kopieren Sie core.exe nach c:\ (oder an einen anderen Ort), klicken Sie mit der rechten Maustaste auf core.exe und öffnen Sie das Fenster "Eigenschaften", geben Sie unter der Registerkarte "Sicherheit" den Lese- und Ausführungszugriff auf IUSR_xxxx. (Wenn Sie Probleme haben, versuchen Sie, Lese- und Ausführungszugriff für alle zu gewähren)
Öffnen Sie den "Internet-Informationsdienste (IIS)-Manager" aus den Administrator-Tools.
Klicken Sie auf Default Web Sites, doppelklicken Sie auf Handler Mappings, klicken Sie auf Add Module Mapping im rechten Panel und geben Sie die folgenden Daten ein:
Request Path: *.r
Module: c:\core.exe -cs %s %s
Name: Rebol
Wählen Sie Ja, wenn das Dialogfeld Skript Map hinzufügen angezeigt wird. Es fügt die c: \core.exe -cs "%s %s" wie in der Liste der ISAPI- und CGI-Einschränkungen erlaubt.
Erstellen Sie eine Datei test.r im Ordner wwwroot. Meine Datei test.r enthält das folgende Skript:
R E B O L [Title: "Server Time"]
print "content-type: text/html^/"
print [<HTML><BODY>]
print ["Date/time is:" now]
print [</pre></BODY></HTML>]
Und Typ http://localhost/test.r
in Ihrem Browser. Wenn alles gut geht, sollte es funktionieren.
Wenn Sie es mit View.exe versuchen, müssen Sie möglicherweise --noinstall in die Befehlszeile eingeben, da sich sonst beim Start von View mit dem Benutzerkonto IUSR_xxx ein Desktop- und Installationsfenster öffnet und im Hintergrund bleibt (Sie können es im Task-Manager sehen).
c:\view.exe -csi %s %s
Möglicherweise müssen Sie auch doppelte Anführungszeichen um %s setzen, wenn Ihr Skript in einem Pfad mit Leerzeichen liegt. Verwenden Sie die folgende Form:
c:\core.exe -cs "%s %s"
Stattdessen:
c:\core.exe "-cs %s %s" (<-- this won't work!)
Ich hoffe, dies wird Ihnen helfen.
UPDATE: Ich habe ein Problem auf IIS6 (Windows 2003 Server), es gibt 404, wenn ich es wie folgt konfigurieren (es funktioniert auf IIS7, wie oben beschrieben):
c:\core.exe -cs "%s %s"
Aber es läuft als:
c:\core.exe" -cs "%s" %s
Hier ist der Link zur Perl-Installation. http://www.howtogeek.com/50500/how-to-install-perl-on-iis-6-for-Windows-server-2003/
0 Stimmen
Haben Sie CGI unter "Application Development Features" im Dialog "Torun Windows features on or off" aktiviert?
0 Stimmen
Ja, das ist das Erste, was ich getan habe.
0 Stimmen
Normalerweise habe ich Probleme bei der Verwendung von Rebol als CGI auf IIS wegen der Sicherheitseinstellungen von Dateien und Ordnern und/oder der Authentifizierungseinstellungen auf IIS. Ich meine damit, dass man IUSR_xxx Lese- und Ausführungsrechte für die notwendigen Ordner und rebol.exe geben sollte. Versuchen Sie verschiedene Optionen der integrierten Windows-Authentifizierung. Ich verwende sie auf IIS 5, aber meistens habe ich meine Probleme mit diesen Optionen gelöst.
0 Stimmen
Hallo, danke, ich werde es versuchen. Aber IIS 7 ist sehr verschieden von IIS 5, werden Sie nicht auf IIS 7 jederzeit in der Zukunft aktualisieren :)
0 Stimmen
Ich schlage vor, dass Sie es zunächst mit core.exe statt mit rebol.exe (view.exe) versuchen, da View beim ersten Start mit einem Benutzerkonto, in diesem Fall IUSR_xxx, ein Installationsfenster anzeigt und im Hintergrund für Benutzeraktionen bleibt.
0 Stimmen
Und versuchen Sie auch dieses "c: \program Dateien \rebol.exe " -csi "%s %s"