8

現在、複数のプロジェクトのリポジトリがあります。プロジェクトごとに SVN リポジトリを持つことができるように、これを再構築しています。

http://www.yolinux.com/TUTORIALS/SubversionRepositoryDataTransfer.htmlをフォローして成功しましたが、問題が発生しました。

新しいリポジトリに、トランク、ブランチ、およびタグのディレクトリを追加します。ファイルをルート ディレクトリからトランク ディレクトリに移動しようとしています。これらのフォルダーを正常に追加できます。問題は、ファイルをトランク ディレクトリに移動しようとしたときです。具体的には、ファイルを ./trunk レベルに追加すると、最も失敗するようです。

Commit failed (details follow):
Could not open the requested SVN filesystem
Could not open the requested SVN filesystem

Apache ログを見ると、エラー ファイルに次のように表示されます。

[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] (20014)Internal error: Can't open file '/var/www/vhosts/site.com/subdomains/repo/error_docs/format': No such file or directory
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not fetch resource information.  [500, #0]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem  [500, #2]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem  [500, #2]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] (20014)Internal error: Can't open file '/var/www/vhosts/site.com/subdomains/repo/error_docs/format': No such file or directory
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not fetch resource information.  [500, #0]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem  [500, #2]
[Fri Aug 10 18:30:00 2012] [error] [client 173.0.0.1] Could not open the requested SVN filesystem  [500, #2]

error_docs ディレクトリで format を探している理由がわかりません。そのディレクトリは存在しますが、名前付きの形式はありません。

私のレポの権限は、機能しているレポと同じです。したがって、アクセス許可エラーのように見えますが、セットアップがどこで失敗したかわかりません

drwxr-xr-x 7 apache apache       4096 Aug 10 17:41 repo

drwxr-xr-x 2 apache apache 4096 Aug 10 17:41 conf
drwxr-xr-x 3 apache apache 4096 Aug 10 17:41 dav
drwxr-sr-x 6 apache apache 4096 Aug 10 19:05 db
-r--r--r-- 1 apache apache    2 Aug 10 17:41 format
drwxr-xr-x 2 apache apache 4096 Aug 10 17:41 hooks
drwxr-xr-x 2 apache apache 4096 Aug 10 17:41 locks
-rw-r--r-- 1 apache apache  229 Aug 10 17:41 README.txt

編集 - 08/17、この問題をさらに掘り下げます。現在のセットアップは次のとおりです。

/pickles.com/
    /trunk
    /branches
    /tags
    pickles.com/
        /app
        /config
        etc...

コードを svn mv pickles.com/pickles.com/* pickles.com/trunk でトランクに配置しようとしています。Apache ログに次のような同じエラーが表示されます。

==> access_log <==
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/pickles.com HTTP/1.1" 207 919 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/!svn/vcc/default HTTP/1.1" 207 606 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/!svn/bln/22 HTTP/1.1" 207 659 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:40 -0400] "PROPFIND /pickles.com/pickles.com HTTP/1.1" 207 919 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:41 -0400] "PROPFIND /pickles.com/!svn/vcc/default HTTP/1.1" 207 672 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:41 -0400] "PROPFIND /pickles.com/!svn/bc/22/pickles.com HTTP/1.1" 207 930 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"
120.0.0.1 - travisks [17/Aug/2012:12:40:41 -0400] "PROPFIND /pickles.com/trunk/pickles.com HTTP/1.1" 500 430 "-" "SVN/1.6.17 (r1128011) neon/0.28.6"

==> error_log <==
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] (20014)Internal error: Can't open file '/var/www/vhosts/publicsite.com/subdomains/svn/error_docs/format': No such file or directory
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] Could not fetch resource information.  [500, #0]
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] Could not open the requested SVN filesystem  [500, #2]
[Fri Aug 17 12:40:41 2012] [error] [client 120.0.0.1] Could not open the requested SVN filesystem  [500, #2]

私のsvn構成:

<location />
  DAV svn
  SVNParentPath /var/www/vhosts/publicsite.com/subdomains/svn
  SVNListParentPath on

  AuthType Basic
  AuthName "svn.publicsite.com"
  AuthUserFile /var/www/vhosts/publicsite.com/subdomains/svn/conf/passwd

  Require valid-user
</location>

この同じ構成は、同じサーバー上の別の仮想ホストで機能します。だから私は問題になるとは思わないでしょう。唯一の変更点は、ParentPath がオンになっていることです。これは、多くのディレクトリを持つ単一のリポジトリではなく、リポジトリのディレクトリです。

編集 - Apache は SVN を error_docs ディレクトリにリダイレクトしています

単一のリポジトリとして機能するように conf を更新しました。

オリジナル:

SVNParentPath /var/www/vhosts/publicsite.com/subdomains/svn2
SVNListParentPath on

単一フォーマットへ:

SVNPath /var/www/vhosts/publicsite.com/subdomains/svn2/pickles.com

そして、すべてが期待どおりに機能しました。SVNParentPath に戻すと、同じ古い問題に戻ります。これで、MediaTemple、Plesk、およびサブドメインのセットアップに関係があることがわかりました。

要約すると、私が得ているエラーは次のとおりです。

Internal error: Can't open file '/var/www/vhosts/publicsite.com/subdomains/svn2/error_docs/format

error_docs に ./subdomains/svn2/pickes.com/format へのシンボリックリンクを作成すると、エラーが次のようになりました。

内部エラー: db lockfile のオープン中にエラーが発生しました

これは権限エラーではありません (私が示したレベルでは)。このプロジェクトは、シングルモードで作業したプロジェクトと同じ権限セットとユーザーを持っています。どこかで Apache が error_docs にデフォルト設定されているため、SVN は URL で指定されたリポジトリではなく、そこにあるディレクトリを探しています。

見つけたすべての httpd ファイルをチェックしましたが、ドメインがサブドメインをどのように処理するかについての参照が見つかりません。

4

2 に答える 2

2

これは、サーバー構成によって混乱する apache の問題です (おそらく Plesk ですが、フォーラムの誰も情報を提供していません)。

問題は、基本サブドメイン ディレクトリが apache によって提供されているため、DAV SVN、 svn faqを介して提供するように構成することもできないことです。

リポジトリを専用のディレクトリに移動することで、ソリューションを実装できました。次に、場所タグを更新し、svn リポジトリが svn2.publicsite.com/repos から正常に提供されるようにしました。

私の次のステップは、URL の冗長性を取り除くことです。svn2.publicsite.com のみをサポートできるように、Plesk の外部に別の vhost を作成する必要があります。または、publicisite.com/repos になるようにディレクトリを再配置します。

于 2012-08-23T19:12:19.243 に答える
1

svn URLと競合するapacheLocationディレクティブの名前の競合はありますか?

于 2012-08-12T19:24:21.473 に答える