2012-10-03 23 views
8

Tôi đang cố gắng để có được một trang web Etherpad Lite và chạy với IIS trên máy tính của tôi trước khi tôi tải nó lên Azure cho Web Sites, nhưng tôi gặp lỗi này khi tôi cố gắng (http://pastebin.com/4rZWbqix):Lỗi: EPERM, hoạt động không được phép với Node.js và 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) 

không có tập tin trong thư mục fs.js Etherpad, vì vậy tôi sẽ giả định rằng đó là một phần của Node.js đó là có một vấn đề. Tôi mới sử dụng Node.js, vì vậy mọi trợ giúp sẽ được đánh giá cao.

EDIT 1: Tôi hiện đang tìm kiếm các lựa chọn thay thế cho Azure và cấp quyền cho C: \ Users \ Matthew. Nhưng nó sẽ có thể bằng cách nào đó sửa đổi fs.js để đặt một thử/catch xung quanh binding.lstat?

EDIT 2: Sau khi chơi xung quanh với nó một chút (thêm quyền làm việc!), Tôi đã nhận nó để làm việc. Nhưng bây giờ tải 127.0.0.1:81 lợi nhuận:

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:

Có vẻ như đây không phải là một lỗi, vì những gì đang outputted là những gì mong đợi, nhưng nó dường như dừng lại ở plugins.formatPlugins().

+0

Bạn đã làm gì để sửa lỗi này? Tôi có các tệp của mình trong 'C: \ Users \ langdonx \ Documents \ WebStorm Projects \ x', nhưng lỗi nói '' C: \ Users \ langdonx''. Tôi không muốn cấp quyền truy cập IIS_IUSRS cho toàn bộ thư mục người dùng của mình. Tôi đang thiếu gì? – Langdon

+0

Thật không may, tôi không bao giờ tìm thấy giải pháp thay thế: \ – MatthewSot

Trả lời

8

Đảm bảo danh tính người dùng được liên kết với nhóm ứng dụng IIS đang chạy ứng dụng node.js của bạn có quyền truy cập hệ thống tệp thích hợp đến vị trí bạn triển khai ứng dụng của mình (trông giống như c:\users\matthew trong trường hợp này).

Nếu bạn đang chạy ứng dụng của bạn trong vòng Default App bơi và sử dụng người dùng IIS mặc định, bạn sẽ có thể cấp quyền truy cập cần thiết với:

% SystemDrive% \ windows \ system32 \ Icacls.exe C: \ Users \ matthew/grant IIS_IUSRS: (OI) (CI) F

+0

Tôi vừa gặp phải lỗi này. Tôi có các tệp của tôi trong 'C: \ Users \ langdonx \ Documents \ WebStorm Projects \ x', cấp quyền truy cập đầy đủ cho' Everyone', nhưng lỗi vẫn trích dẫn thao tác 'không được phép 'C: \ Users \ langdonx''. Tôi không muốn cấp quyền truy cập IIS_IUSRS cho toàn bộ thư mục người dùng của mình. Tôi đang thiếu gì? – Langdon

+0

Kiểm tra kỹ thư mục được lưu ý sau "thao tác không được phép". Tôi đã có một trang web trong một thư mục lồng nhau, với node_modules cục bộ của chính nó và nhận được lỗi này, và hóa ra nút đó đệ quy lên cây thư mục tìm kiếm các thư mục node_modules và nó làm cho nó lên tới c: \ users \ bob \ node_modules và đó là nơi tôi gặp sự cố khủng khiếp khi truy cập. Đối với mục đích dev, tôi chỉ cần đặt danh tính của ứng dụng thành "LocalService" và hoạt động đó. Cấp quyền cho nhóm ứng dụng cho thư mục c: \ users \ bob không hoạt động. –

-3

Tôi không khuyên bạn nên Azure để lưu trữ Etherpad Lite, chúng tôi không tối ưu hóa cho các dịch vụ của Microsoft, điều này bao gồm Microsoft Windows. Nếu đó là một tùy chọn, hãy sử dụng Linux để lưu trữ các phiên bản nút của bạn, bạn sẽ hạnh phúc hơn nhiều trong trải nghiệm của mình.

+0

máy chủ lưu trữ node.js nào bạn muốn giới thiệu? Hầu hết những người khác mà tôi đã gặp không chơi rất độc đáo với Windows, đó là lý do tại sao tôi đã định cư trên Azure. – MatthewSot

+0

Trong tài liệu, phần cài đặt bắt đầu bằng Windows. https://github.com/ether/etherpad-lite lol –

0

Đó là về sự cho phép trên thư mục 'C: \ Users \ Matthew'. Nhận quyền sở hữu và cấp quyền sửa đổi.

Các vấn đề liên quan