2

チュートリアルHow to setup a Subversion (SVN) server on GNU/Linux - Ubuntu を使用して Ubuntu に SVN をセットアップしましたが、CMD を使用して他のマシンからリポジトリにアクセスしようとすると、 /SVN へのアクセスは禁止されていると表示されます。

フォルダーのアクセス許可を変更し、Apache サーバーの構成などの問題を解決するために他の方法を試しましたが、問題は解決しませんでした。

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

4

Apache はリポジトリを読み書きできますが、そのユーザー ( www-data) にその所有権を与える必要があります。

sudo chown -R www-data:www-data /var/svn/repositories/your_repo

リポジトリにアクセスするユーザーを認証できるようにするには、パスワード ファイルが必要です。

sudo htpasswd -c /etc/subversion/passwd your_user_name

ユーザーのパスワードを入力しますyour_user_name。追加のユーザーについては、オプションを指定せずにコマンドを繰り返して-c、既存のファイルが置き換えられるのではなく追加されるようにします。

次に、Apache 構成ファイルを編集します。

sudo gedit /etc/apache2/apache2.conf

ファイルの末尾に次を追加します。

#svn users
<Location /svn>
     DAV svn
     SVNParentPath /var/svn/repositories/
     SVNListParentPath On
     AuthType Basic
     AuthName "Test"
     AuthUserFile /etc/subversion/passwd
     <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
     </LimitExcept>
  </Location>

構成ファイルを保存し、Apache を再起動します。

sudo /etc/init.d/apache2 restart

テスト リポジトリには、次の方法でアクセスできるようになりました。

http://localhost/svn/your_repo
于 2013-11-05T09:10:11.760 に答える
1

仮想ホストが Apache 用に次のように設定されていることを確認してください。

<VirtualHost *:80>
    DocumentRoot /home/svn/html
    ServerName svn.domainname
    ErrorLog logs/svn.domain.com-error_log
    CustomLog logs/svn.domain.com-access_log common

    <Directory "/home/svn/html">
        Order allow,deny
        Allow from all
        AllowOverride all
    </Directory>

    <Location /repos>
        DAV svn
        SVNParentPath /home/svn/repos

        Require valid-user
        SVNListParentPath on
        AuthType Basic
        AuthName "Your Super SVN"
        AuthUserFile /home/svn/svn-passwords-file-to-be-used-only-when-AuthType-is-used
        AuthzSVNAccessFile /home/svn/svn-repos-acl-file-but-optional
    </Location>
</VirtualHost>

reposまた、Apache が に記載されているフォルダにアクセスできることを確認してくださいSVNParentPath。この問題は主にパーミッションが原因です。もう一度試してみchmod -R 0777 repos-folderてください。

于 2013-11-05T09:01:38.607 に答える