2012-10-03 21 views
8

WebサイトのAzureにアップロードする前にEtherpad LiteサイトをIIS上で起動してIISで実行しようとしていますが、Error:EPERM、Node.jsおよびEtherpad Liteでの操作が許可されていません

iisnode encountered an error when processing the request. HRESULT: 0x2 HTTP status: 500 HTTP reason: Internal Server Error

You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process to stdout and stderr is shown below: fs.js:520 return

 binding.lstat(pathModule._makeLong(path)); 
      ^Error: EPERM, operation not permitted 'C:\Users\Matthew' 
at Object.fs.lstatSync (fs.js:520:18) 
at Object.realpathSync (fs.js:1047:21) 
at tryFile (module.js:142:15) 
at Function.Module._findPath (module.js:181:18) 
at Function.Module._resolveFilename (module.js:336:25) 
at Function.Module._load (module.js:280:25) 
at Module.runMain (module.js:492:10) 
at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

がEtherPadではのディレクトリにはfs.jsファイルがありませんので、私はそれが問題を抱えていますNode.jsの一部の一部だと仮定します:私は(http://pastebin.com/4rZWbqix)してみてください。私はNode.jsを初めて使っているので、どんな助けもありがたいです。

編集1:私は現在、Azureの代替案を検討しており、C:\ Users \ Matthewに権限を与えています。しかし、何とかfs.jsを修正してbinding.lstatをtry/catchすることは可能でしょうか?

EDIT 2:それをちょっと遊んだあと(権限が追加されました!)、私はそれを動作させました。しかし、今127.0.0.1:81リターンロード:

iisnode encountered an error when processing the request. HRESULT: 0x2 HTTP status: 500 HTTP reason: Internal Server Error

You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process to stdout and stderr is shown below:

[x1B][33m[2012-10-03 20:28:13.587] [WARN] console - [x1B][39mNo settings file found. Continuing using defaults!

[x1B][32m[2012-10-03 20:28:14.338] [INFO] console - [x1B][39mInstalled plugins:

を)これはエラーではありません好きなものを出力していますが予想されるものですので、それは、と思われるが、それはplugins.formatPlugins(で停止しているようです。

+0

これを修正するために何をしましたか?私は 'C:\ Users \ langdonx \ Documents \ WebStorm Projects \ x'に自分のファイルを持っていますが、エラーには「C:\ Users \ langdonx」と表示されます。私はIIS_IUSRSに私の全ユーザディレクトリへのアクセスを許可したくありません。私は何が欠けていますか? – Langdon

+0

残念ながら、回避策が見つかりませんでした:\ – MatthewSot

答えて

8

node.jsアプリケーションを実行しているIISアプリケーションプールに関連付けられているユーザーIDが、アプリケーションを展開した場所(この場合はc:\users\matthewのように見えます)に対する適切なファイルシステムのアクセス許可を持っていることを確認してください。

あなたはデフォルトのアプリケーションプール内のアプリを実行すると、デフォルトのIISのユーザーを使用している場合は、あなたが必要な権限を付与することができるはずです。

% SYSTEMDRIVE%の\ウィンドウ\ SYSTEM32 \ます。icacls.exe C:\ユーザー\ matthew/grant IIS_IUSRS:(OI)(CI)F

+0

私はこのエラーに遭遇しました。私は 'C:\ Users \ langdonx \ Documents \ WebStorm Projects \ x'に自分のファイルを持っていて、' Everyone'への完全なアクセス権を与えていますが、エラーは 'C:\ Users \ langdonx '私はIIS_IUSRSに私の全ユーザディレクトリへのアクセスを許可したくありません。私は何が欠けていますか? – Langdon

+0

「操作が許可されていません」の後に記載されているフォルダを再度確認してください。私はよく入れ子になったフォルダに自分自身のローカルnode_modulesを持っていて、このエラーを受け取りました。そのノードはnode_modulesフォルダを探しているフォルダツリーを再帰し、それはc:\ users \ bob \ node_modulesとそれは私がアクセスを与えることにひどい問題を抱えていたところです。開発目的のために、私はちょうど "LocalService"にアプリケーションプールのアイデンティティを設定し、それが働いた。 c:\ users \ bobフォルダにアプリケーションプールのアクセス許可を与えても機能しませんでした。 –

-3

AzureはEtherpad Liteのホスティングにはお勧めできません。Microsoftのサービスに最適化されていません。これにはMicrosoft Windowsが含まれます。オプションの場合は、linuxを使用してノードインスタンスをホストしてください。私の経験ではもっと幸せになれます。

+0

node.jsホストをお勧めしますか?私が出会った他のほとんどのものはWindowsでうまく動かないので、Azureで解決したのです。 – MatthewSot

+0

ドキュメントでは、インストールの一部はWindowsから始まります。 https://github.com/ether/etherpad-lite lol –

0

これは、フォルダ 'C:\ Users \ Matthew'についてです。所有権を取得し、変更権限を与えます。

関連する問題