0

サードパーティは、Apache と SVN を実行するサーバーを提供しました。ただし、リポジトリとアクセスを設定しています。

何が機能しますか

ブラウザでリポジトリにアクセスできます。私の問題は、バージョンまたはターミナルで SVN コマンドを実行しているようです。

svn+ssh を使用してトランクまたはブランチからチェックアウトし、それらの場所にコミットします。

うまくいかないこと

copy コマンドでブランチを作成する:

svn cp ^/trunk ^/branches/test -m'creating test branch'
svn: Repository moved permanently to 'http://svn.server/repo/'; please relocate

リポジトリのルート ディレクトリへのアクセス

svn ls  http://svn.server/repo
svn: Repository moved permanently to 'http://svn.server/repo/'; please relocate 

私はsvnエラーを赤いニシンとして認識しています。失敗したすべてのリクエストのアクセス ログに次のように表示されます。

60.60.60.60 - - [25/Apr/2012:09:15:24 -0700] "OPTIONS /Repo HTTP/1.1" 401 478
60.60.60.60 - TravisKs [25/Apr/2012:09:15:24 -0700] "OPTIONS /Repo HTTP/1.1" 301 315

ルート ディレクトリへのブラウザ リクエストのアクセス ログを確認する(成功)

60.60.60.60 - - [25/Apr/2012:09:47:31 -0700] "GET / HTTP/1.1" 200 936

私の設定/セキュリティにエラーがあるようですが、それを見つけることができませんでした.

私の仮想ホスト構成

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /var/www/svn/
    ServerName svn.server
    ServerAlias svn.server

        <Directory "/var/www/svn" >
                Options Indexes FollowSymLinks
                AllowOverride All
                Allow from all
                Order allow,deny
        </Directory>

    ErrorLog /var/log/svn.server.com-error_log
    CustomLog /var/log/svn.server.com-access_log common

</VirtualHost>

私のSVN構成

<location "/repo">
  DAV svn
  SVNPath /var/www/svn/repo

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /var/www/svn/repo/conf/passwd
  Require valid-user
</location>

編集

ディレクトリのファイル権限を確認する

/var/www
[TravisKs@server ~]$ ls -la /var/www/svn
total 10032
drwxr-xr-x. 3 root   root       4096 Apr 23 16:46 .
drwxr-xr-x. 7 root   root       4096 Feb 13 14:33 ..
drwxr-xr-x. 7 apache apache     4096 Apr 20 17:19 repo
[TravisKs@server ~]$ ls -la /var/www/svn/repo/
total 1180
drwxr-xr-x. 7 apache apache    4096 Apr 20 17:19 .
drwxr-xr-x. 3 root   root      4096 Apr 23 16:46 ..
drwxr-xr-x. 2 apache apache    4096 Apr 20 15:44 conf
drwxr-xr-x. 3 apache apache    4096 Apr 20 17:19 dav 
drwxr-sr-x. 6 apache apache    4096 Apr 24 19:10 db
-r--r--r--. 1 apache apache       2 Apr 20 14:18 format
drwxr-xr-x. 2 apache apache    4096 Apr 20 14:18 hooks
-rw-r--r--. 1 apache apache 1167874 Apr 20 14:34 import_log.txt
drwxr-xr-x. 2 apache apache    4096 Apr 20 14:18 locks
-rw-r--r--. 1 apache apache     229 Apr 20 14:18 README.txt
4

1 に答える 1

0

したがって、この問題はVirtualHostとSVNの間の競合に起因しているようです。httpd.confファイルを再構成し、仮想ホストを削除して、locationディレクティブを保持しました。

<location "/svn">
  DAV svn
  SVNParentPath /var/www/svn
  SVNListParentPath on

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /var/www/svn/repo/conf/passwd
  Require valid-user
</location>

次のステップは、適切な場所に認証ファイルを作成して使用することです。この時点で、ブラウザを介してSVNリポジトリ全体をナビゲートし、コンソールコマンドとバージョンクライアントで通常どおり機能することができます。

于 2012-04-25T20:48:29.113 に答える