2010-11-15 33 views
8

Tôi đã cố gắng thiết lập một kho lưu trữ trên máy chủ của mình để nhóm của tôi có thể làm việc với họ. Tôi đang chạy Ubuntu máy chủ 10.4 và tôi đã cài đặt của mercurial sử dụng apt-get. Bây giờ tất cả điều này diễn ra suôn sẻ.HG đẩy không thành công; Quyền hạn bị từ chối .hg/store/lock

tôi init một dir với hg tốt, tôi thiết lập các HGRC như sau:

[web] 
push_ssl = False 
allow_push = * 

[trusted] 
users = * 
groups= 

sau đó tôi chạy hg serve. Máy chủ bắt đầu lắng nghe. Tôi có thể sao chép kho này sang máy tính khác nhưng khi tôi cố gắng và đẩy những thay đổi của tôi, tôi nhận được lỗi:

C:\Users\UserName\Project1>hg push http://MyInternalIP:8000 
pushing to http://MyInternalIP:8000 
searching for changes 
abort: HTTP Error 500: Internal Server Error 

Về phía server tôi nhận được lỗi sau:

LockUnavailable: [Errno 13] Permission denied: '/home/UserName/projects/Project1/.hg/store/lock' 

Nếu ai có một giải pháp cách khắc phục điều này sẽ thật tuyệt vời. Tôi đã googled và tìm thấy những người có vấn đề tương tự và họ nói rằng nó có thể có một cái gì đó để làm với người dùng web không có quyền nhưng tôi mới cho tất cả điều này và không ai trong số họ cung cấp giải pháp về cách khắc phục vấn đề. Cảm ơn vì đã dành thời gian cho tôi.

Trả lời

10

Bạn phải cho phép ghi quyền truy cập vào thư mục lưu trữ cho người dùng đang chạy quy trình máy chủ Mercurial. I.e tài khoản người dùng đang chạy hg serve phải có khả năng ghi vào /home/UserName/projects/Project1/

BTW bạn có thể cung cấp thêm chi tiết về dòng lệnh bạn đã sử dụng để sao chép kho lưu trữ không?

+2

tại sao không chỉ cho người dùng chạy hg phục vụ và chmod -R 644 Project1? –

+0

Nếu bạn đang chạy trên apache2, người dùng mặc định: nhóm là www-data: www-data –

3

Trong trường hợp của tôi với kho lanh lợi trên redmine

HTTP Error: 500 (Permission denied)

Run

chown -R www-data /path/to/repos 

trên máy chủ, nó làm việc cho tôi.

(Fuente)

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