web-dev-qa-db-ja.com

http経由でSVNリポジトリにコミットできません

Httpを介してプロジェクトをSubversionリポジトリにインポートしようとすると、次のエラーが発生します。

ディレクトリを作成できません '/usr/local/svn/myproj/db/transactions/0-1.txn':アクセスが拒否されました

Httpd LogLevelをデバッグするように設定し、出力の最後にこれを取得しました。

[2010年2月17日水曜日23:56:33] [エラー] [クライアント24.205.225.190]アクティビティ/ svn/myproj /!svn/act/9c0a8481-8edd-4be0-be2d-164c700616baを作成できませんでした。 [500、#0] 
 [2010年2月17日水曜日23:56:33] [エラー] [クライアント24.205.225.190]はトランザクションを開始できませんでした[500、#13] 
 [2月水曜日17 23:56:33 2010] [エラー] [クライアント24.205.225.190]ディレクトリを作成できません '/usr/local/svn/myproj/db/transactions/0-1.txn':アクセスが拒否されました[500、#13 ]

これが私のhttpd.confファイルの関連セクションです:

<Location /svn>
    DAV svn
    SVNParentPath /usr/local/svn
    AuthType Basic
    AuthName "Subversion Repositories"
    AuthUserFile /etc/svn-auth-conf
    Require valid-user
</Location>

URL http://myhostname/svn/myprojを使用してNetBeansからプロジェクトをインポートしようとしています。

CentOSlinuxを使用しています。

私がオンラインで見つけたこの問題の修正は、リポジトリ(およびそれを囲むフォルダー)をApacheユーザーに属するように設定し、そのアクセス許可を変更することです。私は成功せずに以下を試しました:

$ chown -R Apache.apache /usr/local/svn
$ chmod -R 755 /usr/local/svn
$ service httpd restart

他に何をしようかわからない。助けてください!

2
titaniumdecoy

SELinuxがオンになっていると思います(CentOSのデフォルトインストールでは通常)。 httpdのセキュリティポリシーでは、デフォルトで/var/www以外のファイルへのアクセスが禁止されていると思います。確かに/usr/localへのアクセスは許可されていません。リポジトリの場所として/var/www/svnを使用すると、SELinuxによるアクセス拒否を防ぐことができます。

1
Ophidian

SVNはSVNParentPath/usr/local/svnまたは任意のパスでセットアップできますが、何かをする必要があります。

この手順に従ってください。

  run command 
                chcon -t httpd_sys_content_t  /usr/local/svn

Ps、chconは、ファイルのラベルを変更するコマンドです。

- The httpd_sys_content_t type allows the httpd process to access that file.
1
poopparp

既存のリポジトリディレクトリをすでに作成またはこの場所に移動しましたか?

 svnadmin create /usr/local/svn/insert_your_projectname

次に、権限を更新します

 chown -R httpd:httpd /usr/local/svn
chmod -R 755 /usr/local/svn
service httpd restart 
1
Erik Giberti

どちらが問題だったのかはわかりませんが、次の変更で動作しました。

Svnディレクトリを/ var/wwwに移動し、httpd.confファイルに次の変更を加えました。

<場所/svn>
DAVsvn 
 SVNParentPath/var/www/svn
<LimitExceptGET PROPFIND OPTIONS REPORT> 
 AuthType Basic 
 AuthName " Subversionリポジトリ "
 AuthUserFile /etc/svn-auth-conf
有効なユーザーが必要
 </ LimitExcept> 
 </ Location>
0
titaniumdecoy