Fehler: EPERM, Operation nicht erlaubt mit Node.js und Etherpad Lite

8

Ich versuche, eine Etherpad Lite Seite mit IIS auf meinem Computer zu installieren, bevor ich sie auf den Server hochlade Azure für Websites, aber ich erhalte diesen Fehler, wenn ich versuche ( Ссылка ):

  

iisnode hat bei der Verarbeitung der Anfrage einen Fehler festgestellt. HRESULT: 0x2   HTTP-Status: 500 HTTP-Grund: Interner Serverfehler

     

Sie erhalten diese HTTP 200-Antwort, weil   system.webServer/iisnode/@devErrorsEnabled Konfigurationseinstellung ist   'wahr'.

     

Zusätzlich zum Protokoll von stdout und stderr des Prozesses node.exe   Erwägen Sie, Debugging - und ETW - Traces zur weiteren Diagnose zu verwenden   Problem.

     

Die letzten 64 KB der Ausgabe, die vom Prozess node.exe an stdout generiert wird   und stderr wird unten angezeigt: fs.js: 520 return

%Vor%

Es gibt keine fs.js-Datei im Etherpad-Verzeichnis, daher würde ich davon ausgehen, dass ein Teil von Node.js ein Problem hat. Ich bin neu in Node.js, also würde jede Hilfe geschätzt werden.

BEARBEITEN 1: Ich suche derzeit nach Alternativen zu Azure und erteile Berechtigungen für C: \ Users \ Matthew. Aber wäre es möglich, fs.js irgendwie zu modifizieren, um einen Versuch / Fang um binding.lstat zu setzen?

EDIT 2: Nachdem ich ein wenig herumgespielt habe (die Berechtigungen wurden hinzugefügt!), habe ich es zum Laufen gebracht. Aber jetzt lädt 127.0.0.1:81:

  

iisnode hat bei der Verarbeitung der Anfrage einen Fehler festgestellt. HRESULT: 0x2   HTTP-Status: 500 HTTP-Grund: Interner Serverfehler

     

Sie erhalten diese HTTP 200-Antwort, weil   system.webServer/iisnode/@devErrorsEnabled Konfigurationseinstellung ist   'wahr'.

     

Zusätzlich zum Protokoll von stdout und stderr des Prozesses node.exe   Erwägen Sie, Debugging - und ETW - Traces zur weiteren Diagnose zu verwenden   Problem.

     

Die letzten 64 KB der Ausgabe, die vom Prozess node.exe an stdout generiert wird   und stderr ist unten gezeigt:

     

[x1B] [33m [2012-10-03 20: 28: 13.587] [WARN]   Konsole - [x1B] [39mKeine Einstellungsdatei gefunden. Fortsetzen mit Standardeinstellungen!

     

[x1B] [32m [2012-10-03 20: 28: 14.338] [INFO] Konsole - [x1B] [39mInstalliert   Plugins:

Es scheint, dass dies kein Fehler ist, denn was ausgegeben wird, ist was erwartet wird, aber es scheint bei plugins.formatPlugins () anzuhalten.

    
MatthewSot 03.10.2012, 23:50
quelle

3 Antworten

8

Stellen Sie sicher, dass die mit dem IIS-Anwendungspool verknüpfte Benutzeridentität, die Ihre Anwendung node.js ausführt, über entsprechende Dateisystemberechtigungen für den Standort verfügt, an dem Sie Ihre Anwendung bereitgestellt haben (sieht in diesem Fall wie c:\users\matthew aus).

Wenn Sie Ihre App im Standard-App-Pool ausführen und den standardmäßigen IIS-Benutzer verwenden, sollten Sie in der Lage sein, die erforderlichen Berechtigungen zu erteilen:

% systemdrive% \ windows \ system32 \ icacls.exe c: \ Benutzer \ matthew / grant IIS_IUSRS: (OI) (CI) F

    
Tomasz Janczuk 04.10.2012, 02:36
quelle
0

Es handelt sich um eine Berechtigung für den Ordner "C: \ Users \ Matthew". Nehmen Sie Besitz und geben Sie Änderungsrechte.

    
Oktay 16.01.2014 12:42
quelle
-3

Ich würde Azure nicht für das Hosting von Etherpad Lite empfehlen, wir optimieren nicht die Dienste von Microsoft, dazu gehört auch Microsoft Windows. Wenn es eine Option ist, benutzen Sie bitte Linux, um Ihre Knoten-Instanzen zu hosten, Sie werden viel glücklicher in meiner Erfahrung sein.

    
John McLear 04.10.2012 02:18
quelle

Tags und Links