私はこの質問が何度も聞かれていることを知っています。私は答えを理解していると思いますが、それでも運がありませんでした。
one repo
とmultiple repos
の両方の構成を試しましたが、どちらも同じ問題がありました。
だから、私が興味を持っている設定で:
<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>
私のリポジトリ
luso@bender:/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
プロジェクト内
luso@bender:/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
ユーザーlusoおよびwww-dataはsvnグループとwww-dataグループの両方にあります。ただし、/ system/Administration/usersおよびgroupsの場合、www-dataユーザーを選択すると、警告が表示されます。このアカウントは無効になっています¿¿??有効にしようとすると、パスワードの設定を求められます。私はやっていない...
/ media/ssdは私の/ dev/sdcドライブ(ssdドライブ)です
File://プロトコルを使用して共同できます
luso@bender:~$ 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
...
...
しかしながら、
luso@bender:~$ svn co http://localhost/svn/test test and
luso@bender:~$ svn co http://localhost/svn/test/trunk test
私を導きます:
Authentication realm: <http://localhost:80> Subversion Repository
Password for 'luso':
svn: Could not open the requested SVN filesystem
より正確に
<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>
もちろん、Webブラウザ経由でアクセスしようとすると同じことが起こります...
そして、私が変更した場合も同じことが起こります
#SVNPath /media/ssd/svn/test
SVNParentPath /media/ssd/svn
SVNListParentPath On
と:
SVNPath /media/ssd/svn/test
#SVNParentPath /media/ssd/svn
#SVNListParentPath On
apache2をリロード/再起動します
また、正常に機能しているhttps://経由でアクセスしようとした場合にも同じことが起こります。
SELinuxに何か関係があることを示す何かを読んだことがありますが、これを変更することはあえてしません。どうすればいいのかわからない...
パーミッションとのある種の競合である可能性がありますか?/media/ssdドライブはlusoが所有しています...(わかりません、推測するだけです)
それで他の手がかりはありますか?
Ubuntu 10.04、Apache2、StackOverflowを実行しています:D
皆さん、ありがとうございました。
編集: p_strandが示唆するように、私は行を追加しました
AuthzSVNAccessFile /etc/Apache2/svn-policy-file
dav_svn.conf構成で
さて、http://localhost/svn/test
を試してみると同じままで、http://localhost/svn
を試してみると403 Forbidden
luso@bender:/media/ssd/svn$ ls -lart
total 16
drwx------ 7 luso luso 4096 2012-09-15 16:20 ..
これはおそらくあなたの問題です-リポジトリディレクトリはwww-dataユーザーがアクセスできますが、その親ディレクトリは/media/ssd
ではありません。それとツリーの上のすべての親ディレクトリには、少なくともワールド実行権限(rwx--x--x
または711)。 www-dataユーザーは、これらのディレクトリにreadを許可する必要はありませんが、それらのディレクトリに降りることができる必要があります(これはディレクトリの実行ビットの意味です)。
誰かが同様の問題でここに来た場合、これが私の解決策です:私はrootが所有するファイル "/ var/svn/format"を持っていました、そしてすべてのパーミッションが設定されているにもかかわらず(777)、Apacheはrootが所有するファイルを読みたくありませんでした。単純なchown
コマンドで問題が修正されました。