當前位置:首頁 » 操作系統 » svn配置linux

svn配置linux

發布時間: 2023-01-02 19:12:10

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怎麼配置路徑許可權

Linux 下可以直接通過如下命令直接獲取svn server:(我使用的伺服器系統為Debian 7.5 穩定版)
apt-get install subversion

安裝完成後,可通過svnserve --version 查看安裝的版本,我所使用的svn server 版本為1.6.17:

二、創建代碼庫
創建庫(以test庫為例):
sudo svnadmin create /home/user/svn/test

這樣,一個簡單的代碼倉庫就創建完成了。
接下來啟動svn服務:
svnserve -d -r /home/user/svn/test

然後client端就可以通過「svn://ip.ip.ip.ip/test」來訪問svn了。

③ 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 svnserver伺服器

通常,很多Linux發行版已經自帶了svn軟體,安裝系統時候選擇即可。因此,本文並不講解如何安裝svn相關軟體,而是重點總結一下如果使用svnserve伺服器來構建自己的代碼倉庫,並且允許別人遠程訪問。

參考內容如下。
一、新建並初始化版本庫
1.新建代碼倉庫
# svnadmin create /home/myrepos
這樣,我們就在/home目錄下新建了版本庫myrepos。

2.初始化代碼倉庫
#mkdir -p code/{branches,tags,trunk}
按照svn手冊上的建議,我們版本庫的布局採用branches/tags/trunk這樣的三個目錄。然後可以將代碼直接拷貝的trunk目錄,也可以隨後採用svn add的方式添加。

#svn import code file: ///home/myrepos
將我們構造好的版本庫布局(以及代碼,如果已經拷貝到trunk下的話)提交到版本庫。由於這里我們是在本地操作,因此可以直接使用file協議方式提交。格式為:file:// + 版本庫絕對的路徑

OK,到這里我們已經構建了一個本地版本庫,可以再本地使用svn ci的方法得到版本庫的副本了。如果前面只是提交了版本庫布局,而沒有提交代碼的話,則可以通過如下命令,提交版本代碼:
#svn co file: ///home/myrepos/trunk repos
通常只從主線目錄trunk下取出源碼,放在了新建的repos目錄。然後可以將源碼拷貝到repos目錄。
執行以下兩條命令將代碼添加的版本庫。
#svn add *
#svn ci * -m "Committed codes"
首先需要將拷貝的代碼加入到當前的副本中,然後將代碼提交到版本庫。

二、配置並啟動svnserve
1. 配置svnserve
這一步主要完成遠程用戶訪問版本的許可權。
在版本庫目錄下有個conf目錄:home/myrepos/conf,該目錄包含三個文件:authz,passwd,svnserve.conf。
(1)svnserve.conf

此文件重點的設置內容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分別代表設置匿名用戶和授權用戶的訪問許可權。read代表只讀,write代表可讀可寫,還有一個none,代表禁止訪問。如果不想讓匿名用戶訪問的話,可以設置anon-access = none。
password-db為保存版本庫的用戶名和密碼,通常為conf目錄下的passwd文件。
authz-db指向的文件,主要用於將用戶進行分組,並賦予不同的組不同的許可權。譬如有多個目錄時,設置某個組的用戶只可以訪問其中的那些目錄。
(2)passwd
如前面介紹,這個文件的主要內容如下
[users]
harry = harrysecret
sally = sallyssecret
以上兩行就是可以訪問版本庫的用戶名和密碼。格式為:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先給用戶分組,然後分別設置每個組的工作目錄以及許可權等。
本文的講解並未用到authz的配置。

2. 啟動svnserve
#svnserve -d -r /home/
svnserve將以守護進程的方式運行。同時,通過-r選項指定了版本庫的目錄。這個目錄可以是版本庫的上級目錄(/home),也可以是版本庫的目錄(/home/myrepos)。具體的區別會在後面講到。當然,也可以不用-r指定。

三、遠程訪問svnserve。
假設版本伺服器的地址為10.1.1.1,那麼用戶可以在遠程linux端輸入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
這樣版本庫的所有內容都被check出來,存放在當前目錄myrepos下。這里相當於使用svn協議,不用搭建http伺服器。

如果啟動svnserve的時候,-r選項指定的是版本庫的目錄,譬如/home/myrepos,那麼檢出版本的時候,執行的命令為:
#svn checkout svn://10.1.1.1/ myrepos

如果啟動svnserve是沒有指定-r選項,則要輸入版本庫的絕對路徑:
#svn checkout svn://10.1.1.1/home/myrepos myrepos

四、容易出現的問題
在訪問svnserve時,遇到了不少的問題,大致總結一下:
1. 這一步最容易避免,一定要記得啟動svnserve。
2. 記得要正確的修改配置文件svnserve.conf和passwd。
3. 保證版本庫伺服器沒有配置限制遠程訪問svnserve的規則。有時在訪問svn伺服器的時候,會提示伺服器積極拒絕鏈接。簡單起見,可以看看iptables -L INPUT和iptables -L OUTPUT有沒有限制訪問的規則。
4. 要保證輸入版本庫的URL正確。

後記:

1. 版本庫的初次導入可以採用多種方式:
(1)直接構建好版本庫目錄,並將源碼拷貝的對應的位置,然後svn import即可;
(2)先用svn checkout取出版本,然後構建目錄和源碼,執行svn add 並且svn commit即可。
2. 導入或者提交文件類型的控制
svn客戶端是可以配置忽略哪些些文件,比如說我們不想提交*.o之類的文件。那麼可以通過設置svn:ignore或者global-ignore來進行過濾相關的文件。通常默認的情況就會過濾掉*.o, *.so,*.a等被svn認為是中間生成的文件。我本人使用的客服端不管是WIN的還是Linux的都是這種默認情況。
但是,如果有時基於某種需要,或者是導入一個別人之前維護的工程,裡面有些*.so,*.a文件必須保留,那麼如果在第一次import的時候全部導入呢?曾經問過有些朋友說,svn add或者svn import是可以直接把這種文件導入到版本庫的。但是我個人進行測試的時候,確實導入不進去,除非你直接svn add這個文件,然後提交應該就可以了。
如果這樣的文件比較多,而且比較分散,那麼如何解決呢?看一下svn import和svn add這兩個命令的幫助,都有--no-ignore選項。這個選項的功能就是執行相應動作的時候,不忽略任何文件。那麼執行以下兩條命令:
svn import [source] [repository] --no-ignore

svn add [source] --no-ignore
會自動將source目錄下所有的內容全部import或者add。

因此,通過--no-ignore選項,可以滿足提交一些特殊文件的需求。

3. 用一個舊版本的svnadmin創建的版本庫,直接拷貝到另外一台svn版本比較高的PC上使用時,發現提示資料庫版本不匹配。解決的方法:
(1)導出舊的版本庫內容,包含版本信息
具體使用的命令為svnadmin mp, 詳細使用方法參考手冊。該命令的格式為:
svnadmin mp REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
如果我將版本庫完整的信息都倒出來的話,執行如下命令:
# svnadmin mp old_repos > repos.mp

默認版本庫mp的時候是輸出在終端的,通過重定下輸出到repos.mp文件裡面。該文件實際是文本文件。
(2)導入舊版本庫的內容
在需要導入的位置,新建一個版本庫
# svnadmin create new_repos
然後將repos.mp文件導入到新的版本庫:
# svnadmin load new_repos < repos.mp
該命令成功執行完畢之後,新的版本庫中已經包含了old_repos版本庫中的所有版本內容。
svnadmin mp和svnadmin load命令都支持導入/導出某個指定revsion或者某個指定范圍的所有revision。

⑤ linux 已經安裝svn 怎麼配置

代碼庫創建
SVN軟體安裝完成後還需要建立SVN庫
[root@Linux moles]# mkdir -p /opt/svn/repo
[root@Linux moles]# svnadmin create /opt/svn/repo
執行上面的命令後,自動建立repo測試庫,查看/opt/svn/repo 文件夾發現包含了conf, db,format,hooks, locks, README.txt等文件,說明一個SVN庫已經建立。

配置SVN代碼庫
進入上面生成的文件夾conf下,進行配置
[root@Linux moles]# cd /opt/svn/repo/conf

用戶密碼passwd配置
[root@Linux password]# cd /opt/svn/repos/conf
[root@Linux conf]# vim passwd
修改passwd為以下內容:

[users]
# harry = harryssecret
# sally = sallyssecret
root=raykaeso
用戶名=密碼
這樣我們就建立了root用戶, raykaeso密碼
以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.

許可權控制authz配置
[root@Linux conf]# vi + authz
目的是設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:

#設置[/]代表根目錄下所有的資源
[/] 或者寫成[repl:/]
root= rw
意思是root用戶對repo測試庫下所有的目錄有讀寫許可權,當然也可以限定。
如果是自己用,就直接是讀寫吧。
以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.

服務svnserve.conf配置
[root@Linux conf]# vim 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埠為3690
[root@Linux conf]# vi /etc/sysconfig/iptables
添加以下內容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
保存後重啟防火牆
[root@Linux conf]# service iptables restart

啟動SVN
svnserve -d -r /opt/svn/repo

啟動SVN服務
svnserve -d -r /opt/svn/
注意:如果在一台伺服器上同時啟動多個版本管理,那麼啟動路徑必須是所有項目倉庫的根路徑:比如
/opt/svn/project1 /opt/svn/project2 ——————-> /opt/svn/

參考:CentOS 6.2 SVN搭建 (YUM安裝)-http://www.leixuesong.cn/226

⑥ linux 下如何啟動SVN服務

先轉到SVN的安裝目錄,比如,你安裝在/home/svn下面。然後轉到bin目錄下,在這里可以看見一個叫svnserve的文件,我們需要用這個來啟動SVN服務。

⑦ 怎麼在linux上搭建svn伺服器

1,首先安裝好LINUX系統,然後YUM安裝:

#yum -y install svnversion

2,安全完成之後我們來配置:

創建版本庫目錄:

#mkdir -p /banbenku/svn/

3,然後啟用:

#svnserve -d -r /banbenku/svn

然後查看是否啟動了!

ps -ef|grep svn;

[root@207 conf]# lsof -i:3690

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)

4,然後我們來新建版本:

mkdir -p /banbenku/svn/zhoujie/

cd /banbenku/svn/zhoujie/conf

在這里有三個文件:authz passwd svnserve.conf

svnserve.conf是主要配置文件;

vi svnserve.conf

修改如下:

anon-access = read

auth-access = write

password-db = /banbenku/svn/zhoujie/conf/passwd

authz-db = /banbenku/svn/zhoujie/conf/authz

wq!

保存退出:

然後修改passwd:

建立用戶名與密碼內容如下:

zhoujie = 123456

wq

保有存退出:

然後修改:authz:

內容如下:

[groups]

admin = zhoujie

[zhoujie:/]

@admin =rw

wq

保存退出!

這樣我們便配置好了;要使用啟生效,重啟SVN:

ps -ef|grep svn

kill -9 PID

svnserve -d -r /banbenku/svn

然後再檢測:

[root@207 conf]# lsof -i:3690

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)

如果如上所示,那便沒有問題了;

⑧ linux怎麼使用svn進行多個版本庫的配置

1、Linux系統安裝svn服務
# yuminstall subversion<img id="selectsearch-icon" src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/qb/select-search.png" alt="搜索">

2、新建一個目錄用於存儲SVN所有文件

#mkdir -p /cbroot/svnserver/cbweb

3、在上面創建的文件夾中為項目project_1,創建一個版本倉庫

# svnadmin create /cbroot/svnserver/cbweb/trunk

4、為項目配置許可權
①svnserve.conf 是主配置文件

vim /cbroot/svnserver/cbweb/trunk/conf/svnserve.conf
anon-access=none #匿名可讀
auth-access=write #驗證用戶可讀寫
password-db=passwd #指向驗證用戶名密碼的數據文件 passwd
auth-db=authz #指向驗證用戶的許可權配置文件 authz

注意:每一行前方不能有空格,否則會出現 Option expected錯誤!

②passwd用戶名密碼配置文件

vim /cbroot/svnserver/cbweb/trunk/conf/passwd
[users]
=123456
=123456

③authz用戶許可權配置文件

[groups]
trunk=,
[/]
@trunk=rw #定義群組 managers 有讀寫許可權
manager3=r #定義 manager3 有讀許可權
*= #以上沒有定義的用戶都沒有任何許可權

5、啟動SVN伺服器上面的版本庫cbweb

svnserve -d -r /cbroot/svnserver/cbweb/
###啟動多個svn服務
svnserve -d –listen-port 3688 -r /static/

⑨ Linux中svn伺服器安裝與使用

直接開放svnserve的埠就可以了,默認埠是3690

如果selinux開啟了,它會阻止文件的寫入,從倉庫中拉去正常,但上傳的時候會出現 不能打開文件"***/db/txn-current-lock"許可權不夠

如果出現semanage未定義,可以參考 CentOS7 中安裝semanage來設置selinux

倉庫目錄為 /home/svn/test ,如果要刪除版本倉庫直接刪除目錄就可以了 rm -rf /home/svn/test

在倉庫目錄 /home/svn/test 的 conf 目錄中會有三個文件

修改配置

修改配置添加賬號密碼,以 賬號=密碼 的格式配置, = 號二邊盡量不要存在空格

許可權管理分為組管理和目錄許可權管理

多個創建可以共用一套賬號和密碼許可權管理。也可以用不同的賬號密碼管理,如果用不同的配置少單倉庫類似,修改每個倉庫conf下的賬號和許可權文件就可以了。下面說一下共用賬號許可權文件的情況。

在倉庫目錄 /home/svn 目錄中創建authz文件和passwd文件。

修改配置各倉庫下conf/svnserve.conf。將password-db和authz-db指向/home/svn/目錄下的文件

修改/home/svn/passwd配置添加賬號密碼,以 賬號=密碼 的格式配置, = 號二邊盡量不要存在空格

修改/home/svn/authz許可權管理分為組管理和目錄許可權管理

如果單倉庫以/home/svn啟動,此時訪問的地址會有倉庫名。 svn://ip/test

訪問地址分別為:

編輯 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 參數改為svn倉庫目錄 OPTIONS="-r /home/svn"

設置開機啟動

修改後也可以用systemctl來啟動、停止、重啟

svnserve啟動後,修改authz和passwd文件是時實生效的,並不需要重啟服務

有時隨著倉庫越來越多,許可權配置也越來越多時,會出現一些配置錯誤,導致訪問時出現無法載入許可權驗證之前的錯誤,這個時候我們可以將svn伺服器的日誌列印出來,看些配置出錯了。

停止svn伺服器,重新附加log-file參數輸入日誌到指定文件

熱點內容
自製網路存儲 發布:2025-05-10 01:03:29 瀏覽:504
java防重復提交 發布:2025-05-10 01:02:32 瀏覽:736
如何在家用樂高製作解壓玩具 發布:2025-05-10 00:55:07 瀏覽:438
linux的mtu 發布:2025-05-10 00:54:52 瀏覽:154
android判斷root 發布:2025-05-10 00:44:06 瀏覽:688
if條件編譯 發布:2025-05-10 00:21:02 瀏覽:72
圓管根數演算法 發布:2025-05-10 00:18:55 瀏覽:676
中短發編程 發布:2025-05-10 00:16:07 瀏覽:39
安卓相機的解析度在哪裡 發布:2025-05-10 00:15:28 瀏覽:236
拉鉤的雲伺服器 發布:2025-05-10 00:10:29 瀏覽:229