在svn create之后,比如創(chuàng )建了一個(gè)myproject項目,myproject目錄下會(huì )生成許多文件,配置文件位于myproject/conf下。需要改的地方有svnserve.conf, passwd, authz。
首先,svnserve.conf把以下行的注釋去掉。
anon-access = read (匿名用戶(hù)只讀,也可以設成none,不可訪(fǎng)問(wèn))
auth-access = write
password-db = passwd (svn密碼文件,如果有多個(gè)項目,建議將該文件放到公共位置)
authz-db = authz (目錄權限文件,建議同上)
real = My First Repository (認證域,相同認證域下的項目使用相同的passwd和authz,暫時(shí)不用理會(huì ))
接下來(lái),passwd文件中添加明文的用戶(hù)名/密碼。authz文件中設置別名和用戶(hù)組,并針對不同目錄對不同的用戶(hù)或組分配權限(r,w,rw)。設置權限時(shí),用戶(hù)組前面要加@,別名前面要加&。
這樣配置好后,就可以通過(guò)svn://來(lái)訪(fǎng)問(wèn)了。
如果要想通過(guò)Apache來(lái)訪(fǎng)問(wèn)svn,還需要進(jìn)行下面的配置。
假定Apache服務(wù)器已經(jīng)安裝好。
1. 創(chuàng )建一個(gè)svn用戶(hù)組,將www-data(apache的默認用戶(hù)名)加入到svn組中。
2. 將資源庫的owner設成www-data,group設成svn。下面三條用于修改權限
sudo chown -R www-data myproject
sudo chgrp -R svn myproject
sudo chmod -R g+rwx myproject 這條命令允許用戶(hù)對版本庫進(jìn)行讀寫(xiě)操作,即可以更新,可以提交
3. 確認libapache2-svn已經(jīng)安裝,/etc/apache2/mods-enabled下面有dav.load,dav_svn.load和dav_svn.conf三個(gè)文件。
4. 修改dav_svn.conf文件。去掉下面行的注釋。
<Location /svn> (apache下的位置)
DAV svn
SVNPath /home/svn/myproject (指明資源庫的路徑)
或
SVNParentPath /home/svn (如果有多個(gè)庫,使用該選項)
SVNListParentPath on (打開(kāi)這個(gè)選項可以列出ParentPath下面的所有庫)
AuthType Basic (認證類(lèi)型為基本認證 )
AuthName "Subversion Repository" (認證名稱(chēng),將在IE界面彈出一個(gè)對話(huà)框,其標題)
AuthUserFile /etc/apache2/dav_svn.passwd (認證密碼文件)
# AuthzSVNAcessFile /etc/apache2/dav_svn.authz (目錄權限文件)
Require valid-user (要求驗證用戶(hù),即不能匿名訪(fǎng)問(wèn))
</Location>
5. 通過(guò)sudo htpasswd -c /etc/apache2/dav_svn.passwd abc創(chuàng )建用戶(hù)abc并按照提示設置密碼,網(wǎng)頁(yè)認證的時(shí)候使用該用戶(hù)名和密碼登錄。后面再添加用戶(hù)的時(shí)候去掉-c選項。
配好以后就可以通過(guò)Http頁(yè)面來(lái)訪(fǎng)問(wèn)SVN了。
聯(lián)系客服