2012-10-03 24 views
8

Estoy intentando obtener un sitio Etherpad Lite en funcionamiento con IIS en mi computadora antes de subirlo a Azure para sitios web, pero aparece este error cuando trato (http://pastebin.com/4rZWbqix):Error: EPERM, operación no permitida con Node.js y 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) 

no hay ningún archivo en el directorio del fs.js Etherpad, por lo que supongo que es una parte de Node.js que está teniendo un problema. Soy nuevo en Node.js, por lo que cualquier ayuda sería apreciada.

EDIT 1: Actualmente estoy buscando alternativas a Azure, y otorgando permisos a C: \ Users \ Matthew. ¿Pero sería posible de alguna manera modificar fs.js para poner try/catch alrededor de binding.lstat?

EDIT 2: Después de jugar un poco con eso (¡agregando los permisos trabajados!), Lo he hecho funcionar. Pero ahora la carga de 127.0.0.1:81 devuelve:

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:

Parecería como esto no es un error, ya que lo que se da salida es lo que se espera, pero parece que parar en plugins.formatPlugins().

+0

¿Qué terminaste haciendo para arreglar esto? Tengo mis archivos en 'C: \ Users \ langdonx \ Documents \ WebStorm Projects \ x', pero el error dice' 'C: \ Users \ langdonx''. No quiero otorgar acceso a IIS_IUSRS a todo el directorio de usuarios. ¿Qué me estoy perdiendo? – Langdon

+0

Desafortunadamente, nunca encontré una solución alternativa: \ – MatthewSot

Respuesta

8

Asegúrese de que la identidad del usuario asociada al grupo de aplicaciones IIS que ejecuta su aplicación node.js tenga los permisos adecuados del sistema de archivos para la ubicación donde implementó su aplicación (se parece al c:\users\matthew en este caso).

Si está ejecutando la aplicación por defecto dentro del grupo de aplicaciones y el uso de usuario predeterminado de IIS, debe ser capaz de conceder permisos necesarios con:

% systemdrive% \ Windows \ System32 \ icacls.exe C: \ Users \ matthew/grant IIS_IUSRS: (OI) (CI) F

+0

Acabo de encontrarme con este error. Tengo mis archivos en 'C: \ Users \ langdonx \ Documents \ WebStorm Projects \ x', dando acceso completo a' Everyone', pero el error aún cita 'operation not allowed 'C: \ Users \ langdonx''. No quiero otorgar acceso a IIS_IUSRS a todo el directorio de usuarios. ¿Qué me estoy perdiendo? – Langdon

+0

Verifique dos veces la carpeta indicada después de "operación no permitida". Tenía un sitio web en una carpeta bien anidada, con sus propios node_modules locales y recibí este error, y resultó que el nodo vuelve a buscar el árbol de carpetas en busca de carpetas node_modules y llegó hasta c: \ users \ bob \ node_modules y ahí es donde tuve terribles problemas para dar acceso. Para propósitos de desarrollo, simplemente configuré la identidad del grupo de aplicaciones en "Servicio local" y funcionó. Dar el permiso del grupo de aplicaciones a la carpeta c: \ users \ bob no funcionó. –

-3

No recomendaría Azure para alojar Etherpad Lite, no optimizamos para los servicios de Microsoft, esto incluye Microsoft Windows. Si es una opción, use linux para alojar las instancias de su nodo, será mucho más feliz en mi experiencia.

+0

¿Qué host de node.js recomendaría? La mayoría de los otros con los que me he encontrado no juegan muy bien con Windows, por lo que me había acostumbrado a Azure. – MatthewSot

+0

En la documentación, la parte de instalación comienza con Windows. https://github.com/ether/etherpad-lite lol –

0

Se trata de permiso en la carpeta 'C: \ Users \ Matthew'. Toma posesión y dale permisos de modificación.

Cuestiones relacionadas