1、SVN介紹
2、安裝SVN服務
3、配置SVN服務
1、SVN介紹 SVN,全稱Subversion,是一款跨平台的開源的版本管理控制工具。管理著隨時間改變的各種數據,這些數據存放在一個中央資料檔案庫(repository)中,並會備份和記錄每個文件每一次的修改更新變動。故可以把任意一個時間點的檔案恢復到想要的某一個舊的版本,也可以直接浏覽指定文件的更新歷史記錄。SVN相關站點:
Subversion官網:http://subversion.tigris.org/ http://subversion.apache.org/
SVN客戶端:http://tortoisesvn.net/
SVN中文網站:http://www.iusesvn.com/
中文常見問題解答FAQ:http://subversion.apache.org/faq.zh.html
官方手冊:http://svnbook.red-bean.com/ 中英文都有
SVN服務端運行方式(3種):
1)獨立服務器訪問
訪問地址: svn://192.168.1.123/binDoc
2)借助Apache等http的服務
訪問地址:http://192.168.1.123/binDoc 或 https://192.168.1.123/binDoc
注:這個也有兩種方式:單獨安裝apache和svn;安裝VisualSVN軟件或CSVN軟件
3)本地訪問
訪問地址:file://192.168.1.123/binDoc
SVN檔案庫數據格式
SVN存儲版本數據有2種方式:BDB(一種事務安全型表類型)和FSFS(一種不需要數據庫的存儲系統)。因為BDB方式在服務器中斷時,有可能鎖住數據,所以還是FSFS方式更安全一點。
BDB:
伯克利DB(Berkeley DB),版本庫可以使用的一種經過充分測試的後台數據庫實現,不能在通過網絡共享的文件系統上使用,伯克利DB是Subversion 1.2版本以前的缺省版本庫格式。
FSFS:
一個專門用於Subversion版本庫的文件系統後端,可以使用網絡文件系統(例如NFS或SMBFS),是1.2版本及其後的缺省版本庫格式。
2、安裝SVN服務
1)檢查SVN軟件程序是否已安裝:
[root@Binggo ~]# rpm -qa subversion
subversion-1.6.11-10.el6_5.x86_64 ###若無這提示信息,則說明未安裝
2)如未安裝,則執行下面的命令進行安裝
[root@Binggo ~]# yum -y install subversion
注:無特殊的功能要求,就可以用以上命令安裝通用版本
3、配置SVN服務
建立svn版本庫數據存儲根目錄(svndata)及用戶、密碼和權限目錄(svnpasswd)
[root@Binggo ~]mkdir -p /application/{svndata,svnpasswd}
啟動SVN服務指定服務的SVN根目錄
[root@Binggo ~]svnserve -d -r /application/svndata/ ###-d以守護進程模式運行,-r指定svn的根目錄
查看SVN進程
[root@Binggo ~]ps -ef|grep 3690
檢測SVN端口
[root@Binggo ~]netstat -lnt|grep 3690 或 lsof -i :3690
創建項目版本庫(
不要創建版本庫目錄binDoc)
[root@Binggo ~]svnadmin create /application/svndata/binDoc
調整svn配置文件及權限文件
例如:配置允許用戶binbin讀寫訪問
[root@Binggo ~]cd /application/svndata/binDoc/conf
[root@Binggo ~]cp svnserve.conf svnserve.conf.ori
[root@Binggo ~]cp passwd /application/svnpasswd/passwd
[root@Binggo ~]cp authz /application/svnpasswd/authz
修改配置文件svnserve.conf
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
修改為:
anon-access = none ###是否允許匿名訪問,none為禁止
auth-access = write ###訪問權限
password-db = /application/svnpasswd/passwd ###統一設置管理svn用戶和密碼
authz-db = /application/svnpasswd/authz ###統一設置管理svn權限
修改配置文件/application/svnpasswd/passwd
在[users]下新增一行
binbin = binbin123 ###等號左邊為用戶名,右邊為密碼
修改配置文件/application/svnpasswd/authz
在最下面新增
[binDoc:/]
binbin = rw ###等號左邊為用戶名,右邊為權限
注:版本庫目錄用戶權限格式:
[<版本庫名>:/項目/目錄]
@<用戶組名> = <權限>
<用戶名> = <權限>
注意:
× 權限配置文件中出現的用戶名必須已在用戶配置文件中定義過的
× 對權限配置文件的修改立即生效,不必重啟svn,但是主配置文件svnserve.conf修改則需要重啟服務才能生效
說明:重啟SVN可以先使用命令pkill svnserve 殺死svn進程在使用svnserve -d -r /application/svndata/重啟SVN服務
附錄:
svnserve命令的使用參數 [root@Binggo ~]# svnserve --help
usage: svnserve [-d | -i | -t | -X] [options]
Valid options:
-d [--daemon] : daemon mode
-i [--inetd] : inetd mode
-t [--tunnel] : tunnel mode
-X [--listen-once] : listen-once mode (useful for debugging)
-r [--root] ARG : root of directory to serve
-R [--read-only] : force read only, overriding repository config file
--config-file ARG : read configuration from file ARG
--listen-port ARG : listen port
[mode: daemon, listen-once]
--listen-host ARG : listen hostname or IP address
[mode: daemon, listen-once]
-T [--threads] : use threads instead of fork [mode: daemon]
--foreground : run in foreground (useful for debugging)
[mode: daemon]
--log-file ARG : svnserve log file
--pid-file ARG : write server process ID to file ARG
[mode: daemon, listen-once]
--tunnel-user ARG : tunnel username (default is current uid's name)
[mode: tunnel]
-h [--help] : display this help
--version : show program version information
svnadmin命令的參數[root@Binggo ~]# svnadmin --help
general usage: svnadmin SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...]
Type 'svnadmin help <subcommand>' for help on a specific subcommand.
Type 'svnadmin --version' to see the program version and FS modules.
Available subcommands:
crashtest
create
deltify
dump
help (?, h)
hotcopy
list-dblogs
list-unused-dblogs
load
lslocks
lstxns
pack
recover
rmlocks
rmtxns
setlog
setrevprop
setuuid
upgrade
verify
本文出自 “小斌30” 博客,請務必保留此出處http://xiaobin30.blog.51cto.com/9438146/1791961