2010-04-21 3 views
7

Ich verwende eine Django-Anwendung über Apache mit mod_wsgi, mit WAMP.Ist es möglich, dass WAMP httpd.exe als Benutzer [myself] statt als lokales SYSTEM ausführt?

Eine bestimmte URL ermöglicht es mir, den Inhalt von Bilddateien zu streamen, deren Pfade in der Datenbank gespeichert sind.

Die Dateien können lokalisiert werden, entweder auf dem lokalen Computer oder unter dem Netzwerklaufwerk (\\my\network\folder).

Mit dem Entwicklungsserver (manage.py runserver) habe ich keine Probleme beim Lesen und Streamen der Dateien.

Mit WAMP, und mit Netzwerk-Laufwerksdateien, bekomme ich eine IOError: offensichtlich, weil die httpd-Instanz keine Leseberechtigung auf dem Laufwerk hat.

Im Task-Manager, ich sehe, dass httpd.exe von SYSTEM ausgeführt wird. Ich möchte WAMP sagen, dass ich den Server als [mich] ausführen soll, da ich Lese- und Schreibrechte für den freigegebenen Ordner habe. (Schließlich sollte der Produktionsserver von einem 'www-admin' Benutzer mit den Berechtigungen ausgeführt werden)

Zuordnung des freigegebenen Netzwerkordners auf einem Laufwerksbuchstaben (Z: zum Beispiel) löst dies überhaupt nicht.

Die Benutzer/Gruppen-Direktiven in httpd.conf scheinen keinen Einfluss auf das Verhalten von Apache zu haben.

Ich habe auch regedited: Ich habe versucht, die HKLM\[...]\wampapache Registrierungsschlüssel unter HK_CURRENT_USER\ zu duplizieren und den Originalschlüssel umbenennen, aber dann der neue Schlüssel scheint nicht zu finden ist, wenn ich dieses cmd

> httpd.exe -n wampapache -k start 

oder wenn Ich laufe WAMP.

Ich habe die Ideen ausgehen :)

hat das gleiche Problem hatte jemals jemand?

Antwort

14

Win + R, Dienstleistungen.msc

bearbeiten Sie wampapache und wampmysqld, um sich als ein Benutzer anzumelden.

der Tray-Icon ein bequemes Frontend "net start wampapache" und "net start wampmysqld"

+0

Perfekt, das funktioniert. In der Tat ist das Tray-Icon nur eine bequeme Abkürzung, aber ich bin froh, dass ich es wieder benutzen kann. –

+0

Meiner Erfahrung nach, müssen Sie explizit sagen, welcher Benutzer zu verwenden, nicht "Local System Account" http://i.imgur.com/gHKCM6L.png Ich denke, "Local System Account" wird Admin sein, da das Control Panel ist Begann als Admin. Nur für jeden anderen, der darüber stolpert. – Znarkus

1

Die Benutzer/Gruppen-Direktiven in httpd.conf scheinen keinen Einfluss auf das Verhalten von Apache zu haben.

httpd.exe wird vom Benutzer root gestartet (wahrscheinlich deshalb, weil er unter SYSTEM läuft). Die Zeilen user und group in httpd.conf legen fest, unter welchem ​​Benutzer das Kind (unter dem httpd spawns) läuft. Diese Forks sind, was tatsächlich Seitenanfragen behandelt, usw., so ist es möglich, dass Ihre Konfiguration bereits tut, was Sie wollen, es ist nur unklar, wenn Sie sich den Task-Manager ansehen.

Sie könnten auch versuchen, runas zu verwenden, um WAMP/Apache zu starten, obwohl Ihre Laufleistung variieren kann.

+0

in Ordnung ist, dann ist es vielleicht eine Syntax Sache? Mein Login ist ein Windows Domain Login, jede Idee wie man das in httpd.conf formuliert? –

+1

Ich habe es noch nie unter Windows versucht, aber es gibt einige Anweisungen unter http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc. Ich denke, der Teil, an dem Sie wahrscheinlich interessiert sind, beginnt mit "Standardmäßig sind alle Apache-Dienste als System registriert" –

+0

Ich werde versuchen zu überprüfen und zu verstehen, was Sie verlinkt danke :) –

0

Ich habe gerade festgestellt, dass die Ausführung von httpd.exe selbst funktioniert für mich ... Ich verliere nur alle funky WAMP Tray-Icon, und den "Neustart Apache" -Menü, wirklich praktisch, wenn ich meinen Anwendungscode aktualisieren .. .

ich im Moment mit diesem machen zu tun haben würde ...

Verwandte Themen