前言
最近買了新服務器,准備開始弄一些個人的開源項目。有了服務器當然是搞一波svn啦。方便自己的資料上傳和下載。於是在此記錄搭建svn的方式,方便以后直接使用。
安裝
使用yum源進行安裝,十分的方便。
yum install subversion
配置svn
創建倉庫
我們這里在/home下建立一個名為svn的倉庫(repository),以后所有代碼都放在這個下面,創建成功后在svn下面多了幾個文件夾。
[root@localhost /]# cd /home
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn
[root@localhost home]# ls svn
conf db format hooks locks README.txt
我們這里特別關注一下conf文件夾,這個是存放配置文件的。
[root@localhost home]# cd svn/conf
[root@localhost conf]# ls
authz passwd svnserve.conf
其中:
authz 是權限控制文件
passwd 是帳號密碼文件
svnserve.conf 是SVN服務配置文件
配置passwd
[root@localhost conf]# vi passwd
[users]
jichi=123456
上面的例子中我們創建了1個用戶jichi。
配置authz
[root@localhost conf]# vi authz
[/]
jichi=rw
*=
上面配置的含義是,jichi對/home/svn/下所有文件具有可讀可寫權限,除此之外,其它用戶均無任何權限,最后一行*=很重要不能少。
使用用戶分組
[root@localhost conf]# vi authz
[groups]
group1 = jichi
group2 = jichi1
[/]
@group1 = rw
@group2 = r
* =
上面配置中創建了2個分組,分組1的用戶可讀可寫,分組2的用戶只讀。
配置svnserve.conf
[root@localhost conf]# vi svnserve.conf
打開下面的5個注釋
anon-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為權限文件
realm = /home/svn # 認證空間名,版本庫所在目錄
最后一行的realm記得改成你的svn目錄
啟動與停止
[root@localhost conf]# svnserve -d -r /home/svn(啟動)
[root@localhost conf]#killall svnserve(停止)
上述啟動命令中,-d表示守護進程, -r 表示在后台執行。停止還可以采用殺死進程的方式:
[root@localhost conf]# ps -ef|grep svnserve
root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn
root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
[root@localhost conf]# kill -9 4908
客戶端連接
這里使用TortoiseSVN,輸入地址svn://你的IP 即可,不出意外輸入用戶名和密碼就能連接成功了。
默認端口3690,如果你修改了端口,那么要記得加上端口號。
yum的安裝路徑
# rpm -qa | grep subversion
subversion-1.6.11-15.el6_7.x86_64
# rpm -ql subversion-1.6.11-15.el6_7.x86_64
...
/usr/share/doc/subversion-1.6.11
/usr/share/doc/subversion-1.6.11/BUGS
/usr/share/doc/subversion-1.6.11/CHANGES
rpm -qa 查詢所有安裝的rpm包,可以配合grep命令。
rpm -qi 查詢某個具體包的介紹。
rpm -ql 列出某個具體包的所有文件
rpm幾個默認安裝路徑:
/etc 一些設置文件放置的目錄
/usr/bin 一些可執行文件
/usr/lib64 一些程序使用的動態函數庫
/usr/share/doc 一些基本的軟件使用手冊與幫助文檔
/usr/share/man 一些man page文件