2012-09-28 40 views
9

Tôi biết rằng câu hỏi này đã được hỏi rất nhiều lần. Tôi tin rằng tôi hiểu câu trả lời, nhưng tôi vẫn không có may mắn.Ubuntu + SVN: Không thể mở hệ thống tập tin SVN được yêu cầu

Tôi đã thử cả hai cấu hình one repomultiple repos, có cùng vấn đề với cả hai cấu hình này.

Như vậy, với cấu hình tôi mong muốn:

<Location /svn> 
    DAV svn 
    #SVNPath /media/ssd/svn/test 
    SVNParentPath /media/ssd/svn 
    SVNListParentPath On 
    AuthType Basic 
    AuthName "Subversion Repository" 
    AuthUserFile /etc/apache2/dav_svn.passwd 
    Require valid-user 
</Location> 

kho My

[email protected]:/media/ssd/svn$ ls -lart 
total 16 
drwx------ 7 luso  luso 4096 2012-09-15 16:20 .. 
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:13 test 
drwxrwsr-x 4 www-data svn 4096 2012-09-24 22:31 . 
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:31 test2 

Bên trong một dự án

[email protected]:/media/ssd/svn/test$ ls -lart 
total 32 
-rw-r--r-- 1 www-data svn 229 2012-09-24 22:13 README.txt 
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 locks 
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 hooks 
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 conf 
-r--r--r-- 1 www-data svn 2 2012-09-24 22:13 format 
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:13 . 
drwxrwsr-x 4 www-data svn 4096 2012-09-24 22:31 .. 
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:40 db 

người dùng Lusowww- dữ liệu có trong cả hai nhóm svn và www-data. Tuy nhiên, khi/hệ thống/quản trị/người dùng và nhóm, nếu tôi chọn người dùng www-data có cảnh báo: Tài khoản này bị vô hiệu hóa ¿¿?? Nếu tôi cố gắng kích hoạt nó, nó sẽ yêu cầu tôi đặt mật khẩu. Tôi không làm điều đó ...

/media/ssd là/dev của tôi/sdc ổ đĩa (ổ ssd)

tôi có thể cùng sử dụng file: // giao thức

[email protected]:~$ svn co file:///media/ssd/svn/test test 
A test/.classpath 
A test/.project 
A test/target 
A test/target/test-my-app-0.0.1-SNAPSHOT.jar 
... 
... 

Tuy nhiên ,

[email protected]:~$ svn co http://localhost/svn/test test and 
[email protected]:~$ svn co http://localhost/svn/test/trunk test 

đưa tôi đến với:

Authentication realm: <http://localhost:80> Subversion Repository 
Password for 'luso': 
svn: Could not open the requested SVN filesystem 

chính xác hơn

<D:error xmlns:D="DAV:" xmlns:m="http://apache.org/dav/xmlns" xmlns:C="svn:"> 
<C:error/> 
<m:human-readable errcode="13">Could not open the requested SVN filesystem</m:human-readable> 
</D:error> 

Tất nhiên, tương tự xảy ra nếu tôi cố gắng truy cập qua trình duyệt web ...

Và tương tự xảy ra nếu tôi thay đổi

#SVNPath /media/ssd/svn/test 
SVNParentPath /media/ssd/svn 
SVNListParentPath On 

với:

SVNPath /media/ssd/svn/test 
#SVNParentPath /media/ssd/svn 
#SVNListParentPath On 

và tải lại/khởi động lại apache2

Ngoài ra, điều tương tự cũng xảy ra khi cố gắng truy cập qua https: // đang hoạt động tốt.

Tôi đã đọc thứ gì đó cho biết SELinux có việc cần làm nhưng tôi không dám thay đổi điều này. Tôi thực sự không biết làm cách nào để ...

Có thể có một số loại xung đột với quyền? Ổ đĩa/media/ssd thuộc sở hữu của luso ... (không có ý tưởng, chỉ cần đoán)

Vì vậy, bất kỳ đầu mối khác?

Tôi đang chạy Ubuntu 10.04, Apache2 và StackOverflow: D

Cảm ơn tất cả.

EDIT: Theo đề nghị của p_strand, tôi đã thêm một dòng

AuthzSVNAccessFile /etc/apache2/svn-policy-file 

trong dav_svn.conf cấu hình

Bây giờ, nếu tôi cố gắng http://localhost/svn/test nó vẫn giữ nguyên, và nếu tôi cố gắng http://localhost/svn tôi nhận được một 403 Forbidden

Trả lời

11
[email protected]:/media/ssd/svn$ ls -lart 
total 16 
drwx------ 7 luso  luso 4096 2012-09-15 16:20 .. 

Đây là có thể là vấn đề của bạn - trong khi các thư mục kho lưu trữ có thể truy cập được đối với người dùng www-data, thư mục mẹ của chúng là /media/ssd thì không. Nó và tất cả các thư mục cha của nó lên cây cần ít nhất là sự cho phép thực thi trên toàn thế giới (rwx--x--x hoặc 711). Người dùng www-data không cần phải được phép đọc các thư mục này nhưng nó cần phải có khả năng đi sâu vào chúng (đó là những gì bit thực thi có nghĩa là cho một thư mục).

+3

Tuyệt vời, nó đã hoạt động! Tôi đoán nó có liên quan gì đó. – luso

0

Trong trường hợp bất kỳ ai gặp vấn đề tương tự, đây là độ phân giải của tôi: Tôi có tệp "/ var/svn/format" do root sở hữu và mặc dù tất cả các quyền được đặt (777), apache không muốn đọc tệp thuộc sở hữu của root. Chỉ cần một lệnh chown đơn giản đã khắc phục được sự cố.