導航:首頁 > 配伺服器 > 如何在linux上搭建svn伺服器

如何在linux上搭建svn伺服器

發布時間:2023-08-27 07:52:36

linux怎麼配置svn伺服器

1.檢查是否已安裝

rpm -qa subversion
如果要卸載舊版本:

yum remove subversion

2.安裝

yum install subversion
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(這是安裝配合Apache的模塊,我暫時還沒做,做了再補上,你可以只裝subversion,多裝了也無所謂)
3.檢查是否安裝成功

svnserve --version
如果成功會輸出版本號

4.創建倉庫目錄
例如:

mkdir /home/svn/game

5.創建項目

svnadmin create /home/svn/game

6.檢查是否創建成功

cd /home/svn/game
ll
如果成功,game目錄下會多出幾個文件夾

7.進入conf目錄會看到3個配置文件,生成的文件中都有英文注釋說明
示例需求:

策劃組:開策劃、美術讀寫
後端組:開後端讀寫,策劃只讀
前端組:開前端讀寫,策劃、美術只讀
美術組:開美術讀寫,策劃只讀
管理員組:所有的讀寫
authz:用戶許可權配置
示例:

[groups]
#管理組
manager = boss
#服務端用戶組
server = server1,server2
#客戶端用戶組
client = client1,client2
#美術組
art = art1,art2
#策劃組
design=design1,design2
[game:/]
@manager=rw
[game:/server]
@server=rw
[game:/client]
@client=rw
@design=r
@art=r
[game:/art]
@design=rw
@art=rw
@client=r
[game:/design]
@design=rw
@server=r
@client=r
@art=r
passwd:用戶密碼

[users]
boss=123456
server1=123456
server2=123456
client1=123456
client2=123456
art1=123456
art2=123456
design1=123456
design2=123456
svnserve.conf:

#匿名訪問者許可權
anon-access = none
#驗證用戶許可權
auth-access = write
#密碼文件地址
password-db = /home/svn/game/passwd
#許可權文件地址
authz-db = /home/svn/game/authz
#項目名稱(UUID)
realm =game

8.開放svn埠
默認是3690埠,你也可以用別的。已開啟的跳過這一步

修改
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重啟
service iptables restart
查看
/etc/init.d/iptables status

9.啟動SVN服務

svnserve -d -r /home/svn
-d:守護進程
-r:svn根目錄
假設服務端IP為192.168.1.100,那麼如下設置後game的訪問目錄就為:

svn://192.168.1.100/game

⑵ Linux裡面怎麼搭建SVN

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的.

Linux上部署4個項目的svn操作步驟:搭建SVN

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

[root@localhost ~]# svnserve --version

svnserve, version 1.6.11 (r934486)

......
[root@localhost ~]# mkdir -p /a/svn/

[root@localhost ~]# mkdir /a/passwd

[root@localhost ~]# svnserve -d -r /a/svn

[root@localhost ~]# svnadmin create /a/svn/repo1

[root@localhost ~]# svnadmin create /a/svn/repo2

[root@localhost ~]# cp /a/svn/repo1/conf/passwd /a/passwd/

[root@localhost ~]# cp /a/svn/repo1/conf/authz /a/passwd/

[root@localhost ~]# vim /a/svn/repo1/conf/svnserve.conf

[general]

anon-access=none

auth-access=write

password-db = /a/passwd/passwd

authz-db = /a/passwd/authz

realm=1111111111111111

[root@localhost ~]# mv /a/svn/repo2/conf/svnserve.conf

/a/svn/repo2/conf/svnserve.conf.bak

[root@localhost ~]# mv /a/svn/repo3/conf/svnserve.conf

/a/svn/repo3/conf/svnserve.conf.bak

[root@localhost ~]# mv /a/svn/repo4/conf/svnserve.conf

/a/svn/repo4/conf/svnserve.conf.bak

[root@localhost ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo2/conf/svnserve.conf

[root@localhost ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo3/conf/svnserve.conf

[root@localhost ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo4/conf/svnserve.conf

[root@localhost ~]# vim /a/passwd/passwd

[users]

chen=chen123

lu=lu123

zhang=zhang123

wang=wang123

hua=hua123

dong=dong123

[root@localhost ~]# vim /a/passwd/authz

[groups]

java=chen,lu,zhang

ios=wang

web=hua

jishu=dong

[repo1:/]

@java=rw

[repo2:/]

@ios=rw

[repo3:/]

@web=rw

[repo4:/]

@jishu=rw

[root@localhost conf]# chmod 700 /a/passwd/*

[root@localhost ~]# pkill svnserve

[root@localhost ~]# ps -ef |grep svn

root 2405 2106 0 18:59 pts/1 00:00:00 grep svn

[root@localhost ~]# svnserve -d -r /a/svn/

[root@localhost ~]# ps -ef |grep svn

root 2411 1 0 19:00 ? 00:00:00 svnserve -d -r /a/svn/

root 2413 2106 0 19:00 pts/1 00:00:00 grep svn

⑶ 在linux環境下,安裝svn,

./configure是配置信息,作用是告訴系統你這個軟體需要那些軟體做支持,需要安裝在哪裡等
--with-apxs,--with-apr,--with-apr-util,--with-ss,--with-zlib 這些都是裝svn需要用到的軟體,然後你的configure告訴他這些軟體在什麼路徑上
--prefix告訴系統你的svn要裝在什麼目錄
然後配置好以後,通過的話,就可以make,make install安裝了

⑷ 怎麼在linux伺服器上部署svn

1. 安裝SVN伺服器:
檢查是否已安裝
# rpm -qa subversion

安裝SVN伺服器
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

驗證安裝
# cd /etc/httpd/moles
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

查看版本
# svnserve --version

2. 代碼庫創建:
安裝完成後要建立SVN庫
# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories

執行後,自動建立repositories庫,查看/opt/svn/repositories文件夾包含了conf,db,format,hooks,locks,README.txt等文件,說明一個SVN庫已經建立。

3. 配置版本庫:
進入上面conf文件夾下,進行配置:
a. 用戶密碼passwd配置:
# vi + passwd //+表示游標放在文件最低端

修改passwd為一下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456

b. 許可權控制authz配置:
# vi + authz

設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:
[/]
zhoulf=rw //給該用戶訪問所有庫的許可權

[repositories:/project] //repository庫的根目錄許可權
zhoulf=rw
/ 表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定的是/opt/svn;/ 就是指對全部版本庫都具有許可權
repositories:/ 表示對庫repositories的根目錄設置許可權
PS:
* 許可權配置文件中出現的用戶名必須已在用戶配置文件中定義。
* 對許可權配置文件的修改立即生效,不必重啟svn。

c. 服務svnserve.con配置:
# vi + svnserve.conf

添加一下內容:

[general]
#匿名訪問的許可權,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫許可權
auth-access=write
#密碼資料庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示里顯示,並且作為憑證緩存的關鍵字
realm=/opt/svn/repositories

這里注意各標簽不能錯,也不能有重復,不然無法連接。

d. 配置防火牆埠(如果需要):
不一定每個人都需要設置,可以先測試後再看是否需要打開埠
# vi /etc/sysconfig/iptables

添加一下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存後重啟防火牆
# service iptables restart

4. 查看:
a. 啟動SVN
# svnserve -d -r /opt/svn/repositories

b. 查看SVN進程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories

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 /opt/svn/repositories // 啟動

6. 測試連接:
使用TortoiseSVN進行測試:
1. SVN服務啟動後,需要使用客戶端測試連接:
客戶端連接地址:svn://192.168.15.231;然後,輸入用戶名密碼;
2. 新建一個文件夾,即本地的庫文件夾,右鍵checkout,將會得到一個隱藏文件夾.svn;
3. 在此文件夾中放入項目內容,然後右鍵點擊commit,就可以上傳本地項目了。

⑸ linux配置SVN,添加用戶,配置用戶組的許可權

用xshell登陸伺服器,cd切換到伺服器中svn的項目倉庫目錄中,然後切換到conf文件中(也可使用xftp),會看到3個文件,分別是

authz、passwd、svnserve.conf

首先編輯svnserve.conf主配置文件,主要是對以下幾項修改

如果後面大家要用到組許可權的話,大家看authz-db = authz 前面應該會有 # 號鍵,記得去掉,這樣才能在下面分配組許可權的時候,才能起作用。

建立svn用戶以及密碼:

配置組:

配置各個組許可權:

保存修改後的svnserve.conf ,passwd,authz 三個文件

然後用下面的命令重啟一下svn

查看svn進程:ps -ef | grep svn 或者 ps aux | grep svn

強制殺死進程:kill -9 進程號

重啟svn(/home/svn為自己的目錄地址):svnserve -d -r /home/svn

最後看看是不是成功了,可以在本地測試一下,看看賬戶是否可用,對應的許可權是不是已經有了,不是該組的用戶應該不能訪問沒有賦予許可權的目錄的

helloword倉庫:

現在對於def項目中,我不想讓產品部的人看到開發部和數據部的目錄下面的數據怎麼辦?可以通過 = 來設置,沒有設置許可權的人統統不能訪問, = 這一句的目的,就是割斷許可權繼承性,使得管理員可以定製某個目錄及其子目錄的許可權,從而完全避開其父目錄許可權設置的影響

閱讀全文

與如何在linux上搭建svn伺服器相關的資料

熱點內容
程序員網優 瀏覽:459
有沒有極限壓縮方法 瀏覽:79
岳陽hypermill五軸編程 瀏覽:385
超級舒服的解壓神器 瀏覽:450
超短macd源碼 瀏覽:165
群暉怎麼設置用戶訪問指定文件夾 瀏覽:555
安卓怎麼測觸摸屏 瀏覽:595
javastring原理 瀏覽:317
如何關閉手機dhcp伺服器 瀏覽:985
php免費ide 瀏覽:202
程序員詞句 瀏覽:978
伺服器如何禁止某個ip段 瀏覽:331
便簽手機文件夾 瀏覽:770
gameloft的java游戲 瀏覽:112
神佑釋放怎麼轉伺服器 瀏覽:737
洋蔥app軟體怎麼登錄 瀏覽:792
兩相電空氣壓縮機 瀏覽:398
基於51單片機的智能語音密碼鎖設計 瀏覽:845
mac如何用ssh登錄伺服器 瀏覽:446
appstore怎麼設置 瀏覽:954