2010-04-21 9 views
7

Ejecuto una aplicación django sobre apache con mod_wsgi, usando WAMP.¿Es posible que WAMP ejecute httpd.exe como usuario [yo mismo] en lugar del sistema local?

Una cierta URL me permite transmitir el contenido de los archivos de imagen, cuyas rutas se almacenan en la base de datos.

Los archivos se pueden ubicar ya sea en una máquina local o en una unidad de red (\\my\network\folder).

Con el servidor de desarrollo (manage.py runserver), no tengo ningún problema para leer y transmitir los archivos.

Con WAMP, y con archivos de la unidad de red, aparece un IOError: obviamente, porque la instancia httpd no tiene permiso de lectura en dicha unidad.

En el administrador de tareas, veo que httpd.exe está dirigido por SISTEMA. Me gustaría decirle a WAMP que ejecute el servidor como [yo] ya que he leído y escrito los permisos en la carpeta compartida. (Con el tiempo, el servidor de producción debe ser ejecutado por un usuario 'www-admin' con los permisos)

Mapeo de la carpeta compartida de red en una letra de unidad (Z: por ejemplo), no resuelve en absoluto.

Las directivas de usuario/grupo en httpd.conf no parecen tener ningún tipo de influencia en el comportamiento de Apache.

también he regedited: He intentado duplicar la llave HKLM\[...]\wampapache registro bajo HK_CURRENT_USER\ y cambiar el nombre de la llave original, pero luego no parece la nueva clave que se encuentran cuando CMD este

> httpd.exe -n wampapache -k start 

o cuando Ejecuto WAMP.

he quedado sin ideas :)

Alguien ha tenido el mismo problema?

Respuesta

14

Win + R, servicios.msc

edita wampapache y wampmysqld para iniciar sesión como usuario.

el icono de la bandeja es una interfaz conveniente "wampapache net start" y "wampmysqld net start"

+0

Perfecto, eso funciona. De hecho, el ícono de la bandeja es solo un atajo conveniente, pero me alegro de poder volver a utilizarlo. –

+0

En mi experiencia, tienes que decirle explícitamente qué usuario usar, no "Cuenta del sistema local" http://i.imgur.com/gHKCM6L.png Creo que "Cuenta del sistema local" será admin ya que el panel de control está comenzó como administrador. Solo para cualquiera que tropiece con esto. – Znarkus

1

Las directivas de Usuario/Grupo en httpd.conf no parecen tener ningún tipo de influencia en el comportamiento de Apache.

httpd.exe es iniciado por el usuario raíz (esta es probablemente la razón por la que lo ve ejecutándose en SYSTEM). Las líneas user y group en httpd.conf determinan qué usuario procesará el hijo (que httpd genera). Estas bifurcaciones son las que realmente manejan las solicitudes de página, etc. por lo que es posible que su configuración ya esté haciendo lo que usted desea, simplemente no está claro al mirar el administrador de tareas.

También puede intentar usar runas para iniciar WAMP/Apache, aunque su kilometraje puede variar.

+0

OK, entonces tal vez es una cosa de la sintaxis? Mi inicio de sesión es un inicio de sesión de dominio de Windows, ¿alguna idea sobre cómo formular esto en httpd.conf? –

+1

Nunca lo he probado en Windows, pero hay algunas instrucciones en http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc. Creo que la parte que probablemente le interese comienza con "De forma predeterminada, todos los servicios de Apache están registrados para ejecutarse como el sistema" –

+0

Voy a tratar de verificar y entender lo que vinculó gracias :) –

0

Acabo de enterarme de que la ejecución de httpd.exe me funciona ... Acabo de perder todo el icono de la bandeja de WAMP y el ítem de menú "reiniciar apache", muy útil cuando actualizo el código de mi aplicación ... .

voy a tener que conformarse con esto por el momento ...

Cuestiones relacionadas