使用subversion搭建SVN需要用到的軟件包有subversion,apr,apr-util,sqlite,zlib,因爲在編譯安裝subversion時需要指明apr、apr-util、sqlite和zlib的安裝路徑,所以建議用源代碼安裝apr、apr-util、sqlite、zlib並在編譯時指定安裝位置。
下載subversion,apr,apr-util,sqlite,zlib軟件包可以使用“wget <網址>”方式;也可以在本地電腦下載好軟件包,使用“rz”命令(服務器需要安裝lrzsz)將壓縮包上傳至服務器。
一、 安裝apr
tar xf 解壓apr壓縮包,cd進入解壓後的文件夾
./configure --prefix=/opt/apr 配置並設置安裝路徑
make && make install 編譯安裝
二、 安裝apr-util
tar xf 解壓apr-util壓縮包,cd進入解壓後的文件夾
./configure --prefix=/opt /apr-util --with-apr=/opt/ apr 設置安裝路徑、指定使用apr的位置
make && make install 編譯安裝
三、 安裝sqlite
tar xf 解壓sqlite壓縮包,cd 進入解壓後的文件夾
./configure --prefix=/opt/sqlite 設置安裝路徑
make && make install 編譯安裝
四、 安裝zlib
tar xf 解壓zlib壓縮包,cd 進入解壓後的文件夾
./configure --prefix=/opt/zlib 設置安裝路徑
make && make install 編譯安裝
五、 安裝svn
tar xf 解壓subversion壓縮包,cd 進入解壓後的文件夾
./configure --prefix=/opt/svn --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-sqlite=/opt/sqlite --with-zlib=/opt/zlib
make && make install 編譯安裝
六、 設置環境變量
vim /etc/profile
在最後添加以下內容:
export PATH=/opt/svn/bin:$PATH
立即生效source /etc/profile
七、 測試是否安裝成功
svnserve --version
八、 創建倉庫
mkdir –p /var/svnroot
cd /var/svnroot
svnadmin create test 創建一個名爲test的倉庫
cd test/conf
九、 配置svnserve.conf
vim svnserve.conf
去掉註釋符#
anon-access = none 未驗證用戶無任何權限
auth-access = write 已驗證用戶有寫權限
password-db = passwd 指定用戶名密碼文件
authz-db = authz 指定權限配置文件
十、 設置訪問權限
添加用戶並設置用戶密碼
vim passwd
添加(用戶名=密碼)
user = password
設置權限
[groups]
用戶組名 = 用戶1,用戶2
[版本庫:/目錄]
@用戶組名 = 權限rw
用戶名 = 權限rw
十一、 運行SVN,默認使用3690端口
svnserve –d –r /var/svnroot/test
也可以指定端口號 svnserve –d –r /var/svnroot/test --listen-port 65432
十二、 查看svn是否運行
ps –ef |grep svnserve
十三、 配置實例
有四個用戶,分別爲boss、d、t1、t2,密碼均爲123,boss隸屬於super組,d隸屬於developer組,t1、t2隸屬於tester組。Super組可對所有文件進行讀寫操作;developer組可對“develop”文件夾進行讀寫操作,對“test”文件夾進行讀操作;tester組可對“test”文件夾進行讀寫操作,對“develop”文件夾進行讀操作
1) passwd文件
[users]
boss = 123 創建四個名爲boss、d、t1、t2用戶,密碼設置爲123
d = 123
t1 = 123
t2 = 123
2) authz文件
[groups]
super = boss 創建三個名爲super、developer、tester組,boss隸屬於super組
developer = d d隸屬於developer組,t1和t2隸屬於tester組
tester = t1,t2
[/]
@super = rw
* = r
[/develop]
@super = rw
@developer = rw
@tester = r
[/test]
@super = rw
@developer = r
@tester = rw
十四、訪問svn
可在客戶端上安裝TortoiseSVN軟件訪問,訪問網址爲“svn://ip地址”或“svn://ip地址:端口號”
十五、 備份
完全備份
svnadmin dump /var/svnroot/test >/home/full.svn.bak |
md5sum >/home/full.svn.bak.md5
將test倉庫完全備份到/home中,命名爲full.svn.bak,並生成名爲full.svn.bak.md5的校驗文件
2.增量備份並生成md5校驗文件
svnadmin dump /var/svnroot/test –r 2 --incremental >/home/svn.bak.2 |
md5sum >/home/svn.bak.2.md5
以增量備份將版本庫2備份到/home路徑下,命名爲svn.bak.2,並生成名爲svn.bak.2.md5的校驗文件
svnlook youngest /var/svnroot/test 查看test倉庫最新的版本號
十六、 還原
svnadmin load /var/svnroot/test </home/full.svn.bak