Linux下安裝配置SVN服務器

開發人員經常會上傳代碼,或者改對代碼做一些更改。svn就是用來將修改后的代碼更新到服務器上的。下面就來看一下怎么在Linux環境下搭建svn服務(subversion)。

步驟:?

1、檢查是否已經有svn?

2、安裝subversion?

3、檢查是否安裝成功?

4、創建svn資源倉庫?

5、新增用戶及密碼,配置權限,配置資源庫權限?

6、啟動或者重啟服務?

7、測試、從機安裝subversion

一、檢查是否已經有svn

如果沒有安裝就會是下面的樣子,提示找不到命令。

1、[root@localhost ~]# svnserve --version

2、-bash: svnserve: command not found

如果已經安裝,會顯示版本信息:

[root@localhost ~]#? svnserve --version

二、安裝?

在Linux下安裝的是subversion,直接用yum 安裝即可。

[root@localhost~]# yum install -y subversion

三、檢查安裝是否成功?

同樣用的是 svnserve –version成功安裝會顯示版本信息

[root@localhost~]# svnserve --version

四、創建svn資源倉庫?

配置文件就是在這一步生成。

cd /usr/local/ ? ? ? ? ? ? ? ? ? ?? //進入目錄,準備創建svn目錄

mkdir svnRepo ? ? ? ? ? ? ? ?? //創建一個svn目錄

chmod -R 777? svnRepo ? //修改目錄權限為777

svnadmin create /usr/local/svnRepo/test //創建一個svn版本倉庫test(test可以隨便起名字)

cd test/conf ? ? ? ? ? ? ? ? ? ? ?? //進入test版本倉庫下的配置文件目錄

authz passwd svnserve.conf

五、新增用戶及密碼,配置權限?

已經看到在倉庫下面生成了三個文件?

authz #權限配置文件?

passwd #用戶名密碼文件?

svnserve.conf #資源庫配置文件

(1) svnserve.conf //配置版本庫信息和用戶文件和用戶密碼文件的路徑、版本庫路徑

anon-access = none???????? //默認是只讀read

readauth-access = write???????? //認證后有寫入權限

password-db = passwd???????? //帳號密碼配置文件

authz-db = authz??????????????? //權限配置文件

realm = first???????????????????? //改成自己的版本庫 生效范圍

(2) authz? ? //文件,創建svn組和組用戶的權限

[group]?

first = ddl,shl,yunwei ????????? //創建一個first的組,并制定兩個用戶ddl和shl

[test:/]??????? // //指定版本庫跟目錄下的權限?

@first= rw??????? //first組用戶權限為讀寫?

* = r??????? //其他用戶只有讀權限

(3) passwd? //創建或修改用戶密碼

[users]?

ddl =123456?????? //用戶名 = 密碼?

shl =123456??????? //用戶名 = 密碼

yunwei=123456

例子:

(4)然后設置自啟動

cd/etc/rc.d/

vi rc.local

添加下面這行

//--listen-port 3690 是指定端口啟動,默認是3690,--log-file 是SVN日志文件 ,當然兩個參數都可以不指定

svnserve -d -r /usr/local/svnRepo --listen-port 3699 --log-file=/var/log/svnserver.log

(5)SVN命令

lsof -i :3690?????????????????? ? ? ? ?? ? 查看svn是否啟動

ps aux |grep 'svn'??????????????????? ? 查找所有svn啟動的進程

kill-9 2505??????????????????????????????? 殺死2505這個查找到的svn進程

svnserve -d -r /usr/local/svnRepo/first 啟動svn(可以把這個放到/etc/local/rc.local文件中,實現開機自啟動)

netstat -anp|grep svnserve查看一下SVN信息

SVN版本庫起動方式,現在svnRepo下面有 test、test2 兩個版本庫

1:單版本庫起動? ? svnserve -d -r /usr/local/svnRepo/test

2:多版本庫起動? ? svnserve -d -r /usr/local/svnRepo

區別在于起動svn時候的命令中的啟動參數-r指定的目錄。

六、啟動或者重啟服務

[root@localhost? conf]# /etc/init.d/svnserve start

Startingsvnserve:???????????????? [OK]

如果要指定目錄要加參數:

[root@localhost svndir]# mkdir /svndir/svn

[root@localhost svndir]# svnserve -d -r /svndir/svn? ####(只是看一下可以指定目錄,這個實驗不需要)

svnserve:Can't bind server socket: Address already in use

七、測試,從機安裝subversion

linu環境訪問:

在次從機安裝也安裝一個subversion 用來測試。

注:?

服務主機:192.168.1.99

從機:192.168.1.26

在從機上checkout 根目錄

[root@localhost ~]# svn checkout svn://192.168.1.99:3699/test/


需要注意的這里check的目錄跟服務主機里面定義的[test要一樣。

window客戶端訪問:

假設客戶端使用tortoiseSVN

打開資源庫瀏覽器輸入地址, svn://你的svn服務器ip:3690/你的項目名

輸入用戶名uername 密碼123456

因為沒有網資源庫里放文件所以需要你用客戶端右鍵【create forder】,然后【add forder】

Linux環境下常用命令

1、查詢是否安裝SVN?

rpm -qa subversion? ? ? //查看svn的安裝包

2、檢查SVN安裝信息

svnserve --version

3、得到svn安裝包的信息

rmp -qi subversion

4、卸載舊版本svn

yum remove subversion

5、安裝SVN

yum install -y subversion

6、svnserve --help

7、通過進程檢測

ps -ef|grep svn

8、通過端口3690檢測

netstat -lntup|grep 3690

9、通過文件檢測,需要root用戶才可以執行

lsof -i:3690

10、查看安裝位置

rpm -ql subversion

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容