天天看點

在RedHat下安裝配置SVN

相關軟體包

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倉庫。