相關軟體包
httpd-.tar.gz
subversion-.tar.gz
TortoiseSVN-.7501-win32-svn-1.4.0.msi
伺服器端安裝
以root身份執行
# tar xzvf httpd-.tar.gz
# cd httpd-
安裝apr
# cd srclib/apr
# ./configure --prefix=/usr/local/apr
# make
# make install
安裝apr-util
# cd ../apr-util/
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# cd ../../
安裝apache
#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=most --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
安裝Subversion
#tar zxvf subversion-.tar.gz
#cd subversion-
#./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
#make clean
#make
#make install
SVN伺服器安裝結束,确認httpd.conf檔案中有以下内容(安裝SVN後自動加的):
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
安裝window客戶機端
直接安裝TortoiseSVN--UNICODE_svn-1.1.1.msi,方法同一般軟體安裝相同。
建立SVN中央倉儲與test倉庫
# ./svnadmin create /usr/local/svnrepo
# chown –R nobody /usr/local/svnrepo(與apache的httpd.conf的使用者一緻)
進入/usr/local/svnrepo看看是否多了如下檔案:conf/ dav/ db/ format hooks/ locks/ README.txt,如果是說明Subversion安裝成功了
# ./svnadmin create /usr/local/svnrepo/test
# chown –R nobody /usr/local/svnrepo/test
建立認證檔案
# htpasswd –c /etc/.htpasswd usename
然後系統會提示輸入兩次使用者密碼,該使用者名和密碼會儲存在.htpasswd檔案中
接着在/usr/local/apache2/httpd.conf中加入(認證檔案和權限檔案):
<Location /svn >
DAV svn
SVNParentPath /usr/local/svnrepo
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /etc/.htpasswd
#for access
AuthzSVNAccessFile /usr/local/svnrepo/conf/svnserve.conf
#Satisfy Any
Require valid-user
</Location>
設定通路權限
# cd /usr/local/svn/conf
vi svnserve.conf
[/] //所有倉庫的根目錄下
admin = rw
[test:/] //test倉庫的根目錄下的通路權限
user1 = rw //test倉庫user1使用者具有讀和寫的權限
user2 = r // test倉庫user2使用者具有讀的權限
[test:/src] // test倉庫下目錄src下的通路權限
user2 = rw //test倉庫user2使用者具有讀和寫的權限
user1 = //test倉庫user1沒有任何權限
#[/] // 這個表示在所有倉庫的根目錄下
#* = r // 這個表示對所有的使用者都具有讀權限
#[groups] // 這個表示群組設定
#developers = harry, sally // 這個表示某群組裡的成員
#[svn1:/]
#@ developers = rw // 如果在前面加上@符号,則表示這是個群組權限設定
設定完成後,重新開機apache,就可以通過http://IP/svn/test來通路test倉庫。