1

この役立つガイドの指示に従って、svnserve の代わりに Apache を使用して、自分のサイトに Subversion をセットアップしようとしました。すべての設定が完了したら、 code.mydomain.com からアクセスできる /srv/svn/myrepository にリポジトリを作成ます

ただし、上記のリンク先のガイドのすべての手順に従った後、code.mydomain.comにアクセスすると、Apache のデフォルト サイト/var/wwwのコンテンツが表示されます(つまり、「動作します!」)。これにより、Apache ログに次のエラーも生成されます。

[Sat Nov 06 10:11:33 2010] [notice] caught SIGTERM, shutting down
[Sat Nov 06 10:11:34 2010] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Sat Nov 06 10:11:34 2010] [notice] mod_python: using mutex_directory /tmp
[Sat Nov 06 10:11:34 2010] [notice] Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_jk/1.2.26 PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 configured -- resuming normal operations

これが私のサイト構成の編集版です。

<VirtualHost my.server.ip:80>
        ServerAdmin me@mydomain.com
        ServerName code.mydomain.com
        ErrorLog /srv/www/code.mydomain.com/logs/error.log
        CustomLog /srv/www/code.mydomain.com/logs/access.log combined

        <Location />
                DAV svn
                SVNPath /srv/svn/myrepository

                AuthType Basic
                AuthName "Subversion Repository"
                AuthUserFile /srv/auth/svn/myrepository.htpasswd
                Require valid-user
        </Location>
</VirtualHost>

ご提供いただけるご支援をよろしくお願いいたします。


他のユーザーの提案に従って行ったトラブルシューティングの結果を次に示します (どうもありがとうございました)。いずれの場合も、変更後に Apache を再起動し、サイトをチェックして結果を確認しました。

0) SSL 経由で接続していません。

1) SVNParentPath は、複数のリポジトリが使用されている場合にのみ必要です。ここでは、1 つだけを使用しています。それにもかかわらず、テストとして SVNParentPath を使用して構成をやり直したところ、同じ結果が得られました。

2) Auth オプションを Limit スタンザ内に配置しようとしましたが、同じ結果が得られました。次に、すべての Auth オプションを削除しましたが、同じ結果が得られました。

3) 構成ファイルからすべての Auth オプションを削除しても同じ結果が得られましたが、これは認証モジュールに関連しているとは思いません。それにもかかわらず、dav_svn モジュールはロードされていますが、authz_svn モジュールはロードされていないことを確認できます。

4) /srv/svn/myrepositoryという場所にリポジトリを作成済みです。その場所でsvnadmin verifyを実行したところ、ツールはすべてが順調であると報告しました。

5)Apacheがwww-dataとして実行されるDebian 5を使用しています。これに先立って、 /srv/svn/srv/svn/myrepositoryの www-data:www-data 所有権を与えていました。これを確認するために、これらのディレクトリでstatを実行しました。

6) code.mydomain.comに ping を実行すると、実際に正しい IP に解決されていることが示されます。

7) a2ensite code.mydomain.comを実行しましたが、これは明らかに実行されていませんでした (おっと)、Apache を再起動しました。フォルダー/srv/www/code.mydomain.com/logsには現在、access.log と error.log が含まれていますが、両方のファイルは空のままです。一方、code.mydomain.comにアクセスしようとすると、以前と同じ結果が生成され、デフォルトの Apache error.log には以前と同じエラー メッセージが含まれます。

8) NameVirtualHost *:80行を含む Apache 構成ファイルはありません。

4

2 に答える 2

0

svn サイトの仮想ドメインが階層の最上位にあることを確認するだけでよいと思います。デフォルトでは、debian システムにはデフォルト ドメインに設定されたデフォルト ポートがあります。ドメインに合わせて変更したい場合があります。

詳細な手順については、このリンクhttp://www.daniweb.com/forums/thread268331.htmlを確認してください。

最後の行「sudo a2ensite svn.example.com」が重要です。

于 2010-11-07T18:19:20.410 に答える
0

まず、httpsではなくhttpにアクセスすることを確認します。

centos5.5を使用しています。私の /etc/httpd/conf.d/subversion.conf をあなたが提供したものと比較すると、次のことがわかります。

小切手:

  1. SVNPath は SVNParentPath である必要があります
  2. AuthType、AuthName、AuthUserFile、および Require をコメントアウトして、それが機能するかどうかを確認してください。それらを次のように囲みます:

    <LimitExcept GET PROPFIND OPTIONS REPORT>
    ...
    </LimitExcept>
    
  3. これらの行はどこかにあります

    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so
    
  4. あなたがしたこと

    svnadmin create /srv/svn/myrepository
    
  5. あなたがしたこと

    chown -R apache.apache /srv/svn/myrepository
    

    (debian/ubuntu を使用している場合、apache.apache は www-data:www-data になります)。

これらのものをファイル /etc/apache2/sites-available/code.domain.com に入れるべきではないようです。代わりに、/etc/apache2/mods-available/dav_svn.conf を編集する必要があります (既にそこにあり、サイトの conf ファイルに入れようとしているものと多かれ少なかれ同じものを含んでいる (サイトの conf ファイルからすべての重複したものを削除する)。

/svn という場所にパスを入れる必要があります。

于 2010-11-06T16:24:38.353 に答える