CentOS 5.8(CentOSリリース5.8(最終版))でSubversionサーバーをセットアップしようとしています。CentOSの経験はほとんどありません。私はこれまでSuSEとUbuntuでしか作業していません。
私が抱えている問題は、http://domain.tld/svnを介してSVNリポジトリにアクセスしようとすると、「禁止されています。このサーバーの/svn/にアクセスする権限がありません」というメッセージが表示されることです。
これらは私のセットアップの手順です:
yum install mod_dav_svn subversion
/etc/httpd/conf.d/subversion.confのコンテンツ
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
</Location>
関連するパスを作成する
mkdir -p /var/www/svn && cd /var/www/svn
svnadmin create repos
chown -R apache:apache repos
service httpd restart
わからない、何が悪いのか...
CentOS 5.7の他のソースは、追加の手順としてこれを提案しました。
chcon -R -t httpd_sys_content_t /var/www/svn/repos
chcon -R -t httpd_sys_rw_content_t /var/www/svn/repos
これを実行すると、chcon: can't apply partial context to unlabeled file /var/www/svn/repos
だから私は周りを見回して、私が使うべきだと言ったユーザーを見つけました
chcon -h system_u:object_r:httpd_sys_content_t /var/www/svn/repos
chcon -R -h apache:object_r:httpd_sys_content_t /var/www/svn/repos/*
それ以外の
chcon -R -t httpd_sys_content_t /var/www/svn/repos
だから私はまた2行を追加しましたhttpd_sys_rw_content_t
:
chcon -h system_u:object_r:httpd_sys_content_t /var/www/svn/repos
chcon -R -h apache:object_r:httpd_sys_content_t /var/www/svn/repos/*
chcon -h system_u:object_r:httpd_sys_rw_content_t /var/www/svn/repos
chcon -R -h apache:object_r:httpd_sys_rw_content_t /var/www/svn/repos/*
問題はまだ残っています...
service httpd restart
問題はまだ残っています...
編集
また、subversion.confに認証ルールを追加しました。
<LimitExcept GET PROPFIND OPTIONS REPORT>
AuthzSVNAccessFile /etc/subversion/svn-access
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svn-passwd
Require valid-user
</LimitExcept>
これらの設定ルールは、SuSEで以前に実行されていたインストールからコピーされます。ファイルには有効な内容が含まれています。問題はまだ残っています...
編集
認証が常に適用されるように、<LimitExcept GET PROPFIND OPTIONS REPORT>
と行を削除しました。</LimitExcept>
ブラウザからsvnにアクセスすると、HTTP-Basic-Authウィンドウが表示されます。既存の正しいクレデンシャルを入力すると、「禁止」メッセージが再び表示されます。問題はまだ残っています...
編集
私はついにそれを実行しました。SVNPath /var/www/svn/repos
の代わりにを介してリポジトリパスを設定しましたSVNParentPath /var/www/svn
。今、すべてが大丈夫です...