2010-04-21 12 views
7

Tôi chạy một ứng dụng django qua apache với mod_wsgi, bằng cách sử dụng WAMP.Có thể chạy WAMP httpd.exe như người dùng [bản thân mình] thay vì SYSTEM cục bộ không?

Một URL nhất định cho phép tôi truyền trực tuyến nội dung của tệp hình ảnh, đường dẫn được lưu trữ trong cơ sở dữ liệu.

Các tệp có thể được đặt trên máy cục bộ hoặc dưới ổ đĩa mạng (\\my\network\folder).

Với máy chủ phát triển (manage.py runserver), tôi không gặp khó khăn gì khi đọc và phát tệp.

Với WAMP và với các tệp trên ổ đĩa mạng, tôi nhận được IOError: rõ ràng là vì phiên bản httpd không có quyền đọc trên ổ đĩa nói trên.

Trong trình quản lý tác vụ, tôi thấy rằng httpd.exe được điều hành bởi SYSTEM. Tôi muốn nói với WAMP để chạy các máy chủ như [bản thân mình] như tôi đã đọc và ghi cho phép trên thư mục được chia sẻ. (cuối cùng, máy chủ sản xuất phải được điều hành bởi người dùng 'www-admin' có quyền)

Lập bản đồ thư mục dùng chung trên ổ đĩa (ví dụ: Z) không giải quyết được điều này.

Chỉ thị người dùng/nhóm trong httpd.conf dường như không có bất kỳ ảnh hưởng nào đến hành vi của Apache.

Tôi cũng đã regedited: Tôi cố gắng để lặp lại phím HKLM\[...]\wampapache registry dưới HK_CURRENT_USER\ và đổi tên phím ban đầu, nhưng sau đó chìa khóa mới dường như không được tìm thấy khi tôi cmd này

> httpd.exe -n wampapache -k start 

hoặc khi Tôi chạy WAMP.

Tôi đã hết ý tưởng :)

Có ai từng gặp vấn đề tương tự không?

Trả lời

14

Win + R, dịch vụ.msc

chỉnh sửa wampapache và wampmysqld để đăng nhập với tư cách là một số người dùng.

biểu tượng khay là giao diện người dùng thuận tiện cho "net wampapache bắt đầu" và "net start wampmysqld"

+0

Hoàn hảo, hoạt động. Thật vậy, biểu tượng khay chỉ là một phím tắt thuận tiện, nhưng tôi rất vui vì tôi có thể sử dụng lại nó. –

+0

Theo kinh nghiệm của tôi, bạn phải cho biết rõ ràng người dùng nào sử dụng, không phải "Tài khoản hệ thống cục bộ" http://i.imgur.com/gHKCM6L.png Tôi nghĩ rằng "Tài khoản hệ thống cục bộ" sẽ là quản trị viên vì bảng điều khiển là bắt đầu với tư cách quản trị viên. Chỉ cho bất cứ ai khác mà tình cờ về điều này. – Znarkus

1

Chỉ thị người dùng/nhóm trong httpd.conf dường như không có bất kỳ ảnh hưởng nào đến hành vi của Apache.

httpd.exe được bắt đầu bởi người dùng root (đây có thể là lý do tại sao bạn thấy nó đang chạy trong SYSTEM). Các dòng usergroup trong httpd.conf xác định người dùng nào con xử lý (httpd đó sinh ra) sẽ chạy dưới. Những nhánh này là những gì thực sự xử lý các yêu cầu trang, v.v. do đó có thể cấu hình của bạn đã làm những gì bạn muốn, nó chỉ là không rõ ràng khi nhìn vào trình quản lý tác vụ.

Bạn cũng có thể thử sử dụng runas để bắt đầu WAMP/Apache, mặc dù số dặm của bạn có thể thay đổi.

+0

OK, vậy có thể đó là một điều cú pháp? Đăng nhập của tôi là một tên miền đăng nhập cửa sổ, bất kỳ ý tưởng về cách xây dựng này trong httpd.conf? –

+1

Tôi chưa bao giờ thử nó trên Windows, nhưng có một số hướng dẫn tại http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc. Tôi nghĩ rằng phần bạn có thể quan tâm bắt đầu với "Theo mặc định, tất cả các dịch vụ Apache được đăng ký để chạy như hệ thống" –

+0

Tôi sẽ thử và kiểm tra và hiểu những gì bạn liên kết nhờ :) –

0

Tôi vừa thấy rằng việc thực thi httpd.exe chính là công việc của tôi ... Tôi chỉ mất tất cả biểu tượng khay WAMP sôi nổi và mục menu "khởi động lại apache", thực sự tiện dụng mỗi khi tôi cập nhật mã ứng dụng của mình .. .

Tôi sẽ phải thực hiện việc này với thời điểm này ...