linux環(huán)境svn安裝及配置

1. 安裝SVN服務(wù)器:

檢查是否已安裝

# rpm -qa subversion

安裝SVN服務(wù)器

# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
Paste_Image.png
Paste_Image.png

驗(yàn)證安裝

# cd /etc/httpd/modules

# ls | grep svn

mod_authz_svn.so

mod_dav_svn.so
Paste_Image.png

查看版本

# svnserve --version
Paste_Image.png

2. 代碼庫(kù)創(chuàng)建:

安裝完成后要建立
SVN庫(kù)

# mkdir -p /home/svn/yxlsg

# svnadmin create /home/svn/yxlsg

執(zhí)行后,自動(dòng)建立yxlsg庫(kù),查看/home/svn/yxlsg文件夾包含了
conf,db,format,hooks,locks,README.txt等文件,說(shuō)明一個(gè)SVN庫(kù)已經(jīng)建立。

Paste_Image.png

3. 配置版本庫(kù):

進(jìn)入
conf文件夾下,進(jìn)行配置:

# cd /home/svn/conf/

a. 用戶(hù)密碼passwd配置:
新增用戶(hù)和密碼

# htpasswd pwd.conf user  #新增用戶(hù),回車(chē)輸入密碼,再回車(chē)確認(rèn)密碼
Paste_Image.png

b. 權(quán)限控制authz配置:

# vi  authz

設(shè)置哪些用戶(hù)可以訪問(wèn)哪些目錄,向
authz文件追加以下內(nèi)容:

[groups] #用戶(hù)組

admin=admin

dev=user1,user2

test=user3,user4

other=user5

[/]

@admin=rw  //該用戶(hù)組下的所有用戶(hù)
訪問(wèn)所有庫(kù)的權(quán) 或
[yxlsg:/]  //yxlsg庫(kù)的根目錄權(quán)限
@admin=rw

[/01Code]

@admin=rw

/ 表示根目錄及以下,根目錄是svnserve啟動(dòng)時(shí)指定的,我們指定的是/home/svn;/ 就是指對(duì)全部版本庫(kù)都具有權(quán)限

yxlsg:
/ 表示對(duì)庫(kù)yxlsg的根目錄設(shè)置權(quán)限

/01Code 表示對(duì)該目錄設(shè)置權(quán)限

PS:

  • 權(quán)限配置文件中出現(xiàn)的用戶(hù)名必須已在用戶(hù)配置文件中定義。

  • 對(duì)權(quán)限配置文件的修改立即生效,不必重啟svn。

c. 服務(wù)svnserve.con配置:

# vi svnserve.conf

添加一下內(nèi)容:

[general]

#匿名訪問(wèn)的權(quán)限,可以是read,write,none,默認(rèn)為read

anon-access=none

#使授權(quán)用戶(hù)有寫(xiě)權(quán)限

auth-access=write

#密碼數(shù)據(jù)庫(kù)的路徑

password-db=passwd

#訪問(wèn)控制文件

authz-db=authz

#認(rèn)證命名空間,subversion會(huì)在認(rèn)證提示里顯示,并且作為憑證緩存的關(guān)鍵字

realm=/home/svn/yxlsg

這里注意各標(biāo)簽不能錯(cuò),也不能有重復(fù),不然無(wú)法連接。

d.修改ip訪問(wèn)端口:進(jìn)入/etc/httpd/conf目錄,

# vi httpd.conf
Listen 81 #默認(rèn)是80,可以改為自己配置的端口

查找Apache服務(wù)和啟動(dòng)Apache

# find /* -name httpd  #查找
# /usr/local/httpd-2.2.34/httpd  #啟動(dòng),停電需要重啟,81端口

檢測(cè)SVN是否開(kāi)機(jī)啟動(dòng)

# chkconfig --list svnserve
svnserve        0:off   1:off   2:off   3:off   4:off   5:off   6:off

如果2~5是off表示沒(méi)有開(kāi)機(jī)自動(dòng)開(kāi)啟,如果為on則反之。
開(kāi)啟啟動(dòng)命令;

  # chkconfig on svnserve

取消開(kāi)機(jī)啟動(dòng)命令:

  # chkconfig off svnserve

好的就這樣完成了,其他服務(wù)同理。
e.配置權(quán)限目錄和用戶(hù)目錄:進(jìn)入/etc/httpd/conf.d目錄,

   #  vi subversion.conf

編輯或者新增以下內(nèi)容:

<Location /svn>  

DAV svn  

SVNListParentPath on  

SVNParentPath /home/svn  

AuthType Basic  

AuthName "Authorization"  

AuthUserFile /home/svn/conf/pwd.conf   #用戶(hù)賬號(hào)配置路徑,可以新建文件

AuthzSVNAccessFile /home/svn/conf/authz.conf  #用戶(hù)權(quán)限配置路徑,可以新建文件

Require valid-user  

</Location> 

f. 配置防火墻端口(可以不用配置):
不一定每個(gè)人都需要設(shè)置,可以先測(cè)試后再看是否需要打開(kāi)端口

# vi /etc/sysconfig/iptables

添加一下內(nèi)容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存后重啟防火墻

# service iptables restart
Paste_Image.png

4. 查看:

a. 啟動(dòng)SVN

# svnserve -d -r /home/svn/

b. 查看SVN進(jìn)程

# ps -ef|grep svn|grep -v grep

root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /home/svn/

c. 檢測(cè)SVN端口

# netstat -ln |grep 3690

tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

5. 停止重啟SVN:

# killall svnserve //停止

# svnserve -d -r /home/svn/ // 啟動(dòng)

6. 測(cè)試連接:

使用
TortoiseSVN進(jìn)行測(cè)試:

  1. SVN服務(wù)啟動(dòng)后,需要使用客戶(hù)端測(cè)試連接:

客戶(hù)端連接地址:
http://192.168.74.112:81/svn/yxlsg/;然后,輸入用戶(hù)名密碼;

  1. 新建一個(gè)文件夾,即本地的庫(kù)文件夾,右鍵
    checkout,會(huì)svn上相關(guān)目錄檢出到本地庫(kù);

  2. 在此文件夾中放入項(xiàng)目?jī)?nèi)容,然后右鍵點(diǎn)擊commit,就可以上傳本地項(xiàng)目了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容