Apache-2.2
同一伺服器上多個 SVN 儲存庫的虛擬主機設置
我的 EC2 實例上有 2 個 svn 儲存庫。
它們位於
/ebs/svn/repo1
&中/ebs/svn/repo2
。我創建了一個域別名
svn.mydomain.com
,以指向上述 (/ebs/svn
) 的父目錄。我想使用以下 URL 格式訪問上述每個 repo:
svn.mydomain.com/repo1
svn.mydomain.com/repo2
目前我有 repo1 使用以下 vhosts 配置。
<VirtualHost *:80> ServerName svn.mydomain.com ServerAlias svn.mydomain.com ErrorLog /var/www/html/log/svn.mydomain.com-log <Location "/" > DAV svn SVNPath /ebs/svn/repo1 AuthType Basic AuthName "SVN - Private - Repos" AuthUserFile /ebs/svn/login/svn-auth-conf Require valid-user </Location> </VirtualHost>
問題是,我只能
repo1
通過上述 vhosts 配置訪問。我想以下列格式訪問這兩個 repo:
svn.mydomain.com/repo1
svn.mydomain.com/repo2
我需要更改什麼才能通過他們的目錄訪問我的 svn 儲存庫?
因為您已經設置了
SVNPath
指令,所以您已經“硬編碼”了路徑:SVNPath /ebs/svn/repo1
嘗試使用該
SVNParentPath
指令來配置將包含所有儲存庫的“頂級”目錄。將上面的行替換為:SVNParentPath /ebs/svn/
如果您想允許使用者在訪問時查看所有可用儲存庫的列表
svn.mydomain.com
,您還應該添加以下行:SVNListParentPath on
這將允許列出您的所有儲存庫。否則,將顯示“禁止”頁面
svn.mydomain.com
而不是儲存庫列表。總而言之,這是一個完整的位置塊範例:
‹Location "/"› DAV svn SVNParentPath /ebs/svn/ SVNListParentPath On SSLRequireSSL AuthType Basic AuthName "svn ebs" AuthUserFile conf/svnpasswd Require valid-user ‹/Location›