今天自己在vm(centos5.1)中做了一個svn,感覺還不錯,是以把過程寫下來,希望能對他人有所幫助。
svn(subversion)版本管理工具。有利于系統管理者更好的管理共享的技術文檔、開發的項目等等。
我安裝的svn是基于apache的。
步驟如下:
一、安裝lamp環境(linux+apache+myslq+php)。mysql和php可以不裝。在編譯apache的是注意一點:configure的時候加上--enable-dav
二、下載下傳svn軟體。下載下傳位址http://download.chinaunix.net/download/0001000/23.shtml我下載下傳的是subversion-1.5.0.tar.bz2。
安裝subversion
tar -jxvf subversion-1.5.0.tar.bz2
cd subversion-1.5.0
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
make && make install
三、檢視svn是否安裝成功
/usr/local/subversion/svnserver --version
出現下面的畫面就說明成功了.
svnserve, version 1.5.0 (r31699)
compiled Apr 21 2010, 05:50:24
Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.
四、建立svn倉庫
/usr/local/subversion/svnadmin create /data/svnroot/svn1
這裡你可以建立多個
例如:/usr/local/subversion/svnadmin create /data/svnroot/svn2
五、配置apache的httpd.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so //*這2個so子產品在subversion安裝完以後就會自動加載到httpd.conf中*//
<Location /svn>
DAV svn
SVNParentPath /data/svnroot
AuthzSVNAccessFile /data/svnroot/authz.conf //使用者通路控制檔案
AuthUserFile /data/svnroot/authfile //使用者名密碼檔案
Require valid-user
AUthName "Subversion repository"
AuthType Basic
</Location>
六、配置authz.conf和authfile檔案
htpasswd -c /data/svnroot/authfile username
password
這個時候會在/data/svnroot下生成一個authfile檔案如果你還想添加多個使用者htpasswd -m /data/svnroot/authfile username
好了 現在來說說authz.conf檔案
touch authz.conf
它的内容如下
[groups] 設定組
group_one = username group_one成員(username是authfile中的使用者)
[svn1:/] svn1 根目錄
@group_one = rw group_one成員有讀寫權限
* = r 其他的有讀權限
還有一個很重要的檔案需要我們配置svn1/conf/snvserver.conf
anon-access = read
auth-access = write
password-db = /data/svnroot/authfile
authz-db = /data/svnroot/authz.conf
最後了就是權限了
apache啟動的使用者名群組是www www (你可以根據自己的喜好來)
chown -R www:www /data/svnroot/
啟動svn svnserver -d
啟動apache /usr/lcoal/apache2/bin/apachectl start
http://svnip/svn/svn1 就可以通路了出現以下内容
Powered by Subversion version 1.5.0 (r31699).
七、在自己xp上安裝一個svn軟體(TortoiseSVN)
在D盤建一個目錄test。
右鍵單擊test,svn checkout
點選ok
上傳你想上傳是檔案,右鍵點選檔案TortoiseSVN--》add----》ok----》ok
右鍵點選檔案-----》svn commit-----》ok
重新整理就ok了,等新同僚到來的時候隻要給他安裝一個用戶端,伺服器上加一個使用者名密碼,最後svn updata 就ok了
至此svn安裝(伺服器端、用戶端)就完成了。