CentOS 6.5系統上安裝SVN伺服器
有效地管理原始碼的方式是使用工具去幫助我們管理 , SVN(Subversion)就是目前主流的原始碼管理工具 , 也稱為版本控制工具。本文主要介紹CentOS6.5上安裝SVN伺服器,配置SVN伺服器的資料倉庫,SVN服務的啟動檢視和停止,SVN服務的開機自啟動,安裝SVN客戶端等內容。
一 安裝SVN
1 檢查系統是否自帶SVN
svnserve –version
如果沒有安裝,系統會提示svnserve是個無效的命令。
2 安裝SVN
yum –y install subversion
3 檢查安裝是否成功
svnserve –version
返回值:
svnserve, version 1.6.11 (r934486) compiled Aug 17 2015, 08:37:43 Copyright (C) 2000-2009 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_base : Module for working with a Berkeley DB repository. * fs_fs : Module for working with a plain file (FSFS) repository. Cyrus SASL authentication is available.
二 建立SVN資料倉庫
1 建立資料倉庫
首先建立一個資料夾
mkdir -p /opt/svn/repositories
將建立的資料夾設定為資料倉庫
svnadmin create /opt/svn/repositories
執行上面的命令後,自動建立repositories庫,檢視/opt/svn/repositories 資料夾發現包含了conf,db,format,hooks,locks, README.txt等檔案,說明一個SVN庫建立完成。
2 配置資料倉庫
進入上面生成的資料夾conf下,進行配置
cd /opt/svn/repositories/conf
配置使用者名稱和密碼passwd
vi passwd
passwd檔案的內容如下:
### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret test = 123456 ##新增使用者的使用者名稱和密碼
配置許可權控制authz
vi authz
目的是設定哪些使用者可以訪問哪些目錄,authz檔案的內容如下:
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the '$authenticated' token,
### - only anonymous users, using the '$anonymous' token,
### - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
test = rw
設定[/]代表根目錄下所有的資源
配置服務svnserve.conf
vi svnserve.conf
svnserve.conf檔案的內容如下:
[general]
#匿名訪問的許可權,可以是read,write,none,預設為read
anon-access=none
#使授權使用者有寫許可權
auth-access=write
#密碼資料庫的路徑
password-db=passwd
#訪問控制檔案
authz-db=authz
#認證名稱空間,subversion會在認證提示裡顯示,並且作為憑證快取的關鍵字
realm=/opt/svn/repositories
三 SVN服務的啟動、檢視及停止
1 啟動svn服務
svnserve -d -r /opt/svn/repositories
2 檢視SVN監聽的埠
netstat -anp |grep svn
返回:
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2085/svnserve
3 停止啟動SVN
killall svnserve #停止
四 設定SVN的開機自啟動
1 建立svn.sh檔案
在/root資料夾下,建立svn.sh檔案
cd /root
vi svn.sh
編輯svn.sh檔案,加入以下內容
#!/bin/bash
svnserve –d –r /opt/svn/repositories
儲存退出
2.新增可執行許可權
命令列執行chmod ug+x /root/svn.sh
3.新增自動執行
開啟(vi或gedit)/etc /rc.local,在最後新增一行內容如下:/root/svn.sh
儲存退出。
4.檢查
重啟伺服器,使用ps-ef看看svn程序是否啟動了。以後開機就自動啟動svn了。
五 安裝SVN客戶端
以業界流行的TortoiseSVN為例,下載地址:
客戶端連線地址:svn://公網或內網的IP地址(如192.168.0.141):3690
使用者名稱/密碼: test/123456 ##要和之前設定的使用者名稱和密碼匹配。