WebSVNを使用して、単一のSubversionリポジトリからパス(チェックアウトディレクトリ)の承認を実装する方法の簡単な「要点」チュートリアルまたはきちんとした例が必要です。
リポジトリが /svn/repos/r_project だとしましょう このリポジトリからの 2 つのチェックアウト (パス) は /svn/repos/path1 と /svn/repos/path2 です ... 各パス (ディレクトリ) を異なるユーザー名/パスワードで保護したい.
Unix Apache (redhat) には Subversion と WebSVN がインストールされています。すでに WebSVN リポジトリのフロント ページに 2 つのパスが表示されています。保護なしで問題なく動作しています。
個々の Web インデックス ページを .htpasswd で保護する方法は知っていますが、WebSVN ページを介してリポジトリ内の個々のパスを保護しようとしても失敗しました。
送信
[nov26 を編集]
明確にするための最新の状況:私が持っているパス:
Home path in unix: '/var/www/'
Path of WebSVN: '/var/www/websvn2'
Path to repository: '/svn/repos'
Created repository is '/svn/repos/r_project') // so r_project is the repository name
Two checkout directories of that repository:'/svn/repos/path1' and '/svn/repos/path2'
httpd.confには、SVN と WEBSVN の場所があります (必要なモジュールはあります)。
<Location /repos>
DAV svn
SVNParentPath /var/www/svn/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
<Location /websvn210/>
Options FollowSymLinks
AuthType Basic
AuthName "Subversion Repository"
Require valid-user
AuthUserFile /etc/svn-auth-file
</Location>
今のところ、'svn-auth-file' には 1 つのユーザー名のパスワードが含まれています。「/etc」ディレクトリに配置します。
WebSVNのconfig.phpファイルには次のものがあります。
$config->parentPath("/var/www/svn/repos");
$config->useAuthenticationFile('/etc/svn-auth-file'); // Global access file
チェックアウト ディレクトリ 'path1' および 'path2' を、ブラウザー内のファイルを含む通常のインデックス ページとして表示できます (例: 'http://mydomain/svn/repos/path1')。ただし、ブラウザで「http://mydomain/websvn210」に移動すると、WebSVN の空のホームページよりもログイン (OK) しか取得できません。つまり、リポジトリやチェックアウト パスはありません。
それが最初の問題です: 空のページです。2 つ目は、パスごとに異なるログインを使用することです。注: これらのパス (チェックアウト) は読み取りまたはダウンロード専用です (Subversion からのコミットは行われません)。
ありがとう。