天天看點

CentOS6.7部署SVN伺服器

SVN的介紹

https://zh.wikipedia.org/wiki/Subversion

安裝說明:

系統環境:CentOS 6.75

安裝方式:YUM安裝

安裝:

先确認本地是否已經安裝subversion

1

<code>rpm -qa subversion</code>

如果有安裝subversion,先删除舊版本

<code>yum remove subversion</code>

安裝svn

<code>yum -y </code><code>install</code> <code>subversion</code>

檢查版本

<code>svnserve --version</code>

安裝後的配置:

建立SVN庫:

<code>mkdir</code> <code>-p </code><code>/opt/svn</code>

建立repo代碼庫

<code>svnadmin create </code><code>/opt/svn/repo</code>

建立完成後,生成以下檔案

2

3

4

5

6

7

8

<code>[root@localhost repo]</code><code># ll</code>

<code>total 24</code>

<code>drwxr-xr-x. 2 root root 4096 Jun 15 20:05 conf</code>

<code>drwxr-sr-x. 6 root root 4096 Jun 15 20:26 db</code>

<code>-r--r--r--. 1 root root    2 Jun 15 19:08 </code><code>format</code>

<code>drwxr-xr-x. 2 root root 4096 Jun 15 19:08 hooks</code>

<code>drwxr-xr-x. 2 root root 4096 Jun 15 19:08 locks</code>

<code>-rw-r--r--. 1 root root  229 Jun 15 19:08 README.txt</code>

配置代碼庫:

cd /opt/svn/repo/conf

添加賬戶密碼psswd配置

修改passwd檔案,通過在檔案中追加 賬号 = 密碼來建立使用者

<code>[</code><code>users</code><code>]</code>

<code># harry = harryssecret</code>

<code># sally = sallyssecret</code>

<code>zeng = 123456</code>

<code>zhou = 123456</code>

權限控制authz配置

svn的權限控制都是在authz檔案中設定,該檔案定義了哪些使用者可以通路哪些目錄

[groups]            #組

admin = hello,www   #建立一個admin組,将使用者hello、www加入到組

[/]                 #根目錄權限設定(就是“svn”這個檔案夾)

aaa = rw            #aaa對svn下的所有版本庫有讀寫權限

[repo:/]            #repo:/,表示對repo版本庫下的所有資源設定權限

@admin = rw         #admin組的使用者對repo版本庫有讀寫權限

[repo2:/occi], ,表示對版本庫repo2中的occi項目設定權限

[repo2:/occi/aaa], ,表示對版本庫2中的occi項目的aaa目錄設定權限  權限主體可以是使用者組、使用者或*,使用者組在前面加@,*表示全部使用者。權限可以是w、r、wr和空,空表示沒有任何權限。

服務svnserve.conf配置

[root@admin conf]#vim svnserve.conf

追加以下内容:

[general]

#匿名通路的權限,可以是read,write,none,預設為read

anon-access = none

#使授權使用者有寫權限

auth-access = write

#密碼資料庫的路徑

password-db = passwd

#通路控制檔案

authz-db = authz

#認證命名空間,subversion會在認證提示裡顯示,并且作為憑證緩存的關鍵字

realm = repo //這裡也可以寫完成路徑 /opt/svn/repo

防火牆配置

使用svn必須在SVN伺服器上開發防火牆端口,或者直接關閉防火牆

防火牆開發svn的端口,編輯/etc/sysconfig/iptables檔案,加入以下配置

<code>-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT</code>

SELinux配置

建議直接disable掉selinux

啟動SVN

<code>svnserve -d -r </code><code>/opt/svn/</code>

停止svn服務

<code>killall svnserve</code>

檢視svn的服務程序

<code>[root@localhost conf]</code><code># netstat -tunlp | grep svn</code>

<code>tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1473</code><code>/svnserve</code>

用戶端的安裝:

windows上安裝用戶端

需要安裝tortoisesvn用戶端和語言包。

安裝完成後,需要重新開機。然後更改語言

<a href="http://s1.51cto.com/wyfs02/M00/83/11/wKiom1dqF4Pgd8X6AAFmDEdn3bU770.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/83/10/wKioL1dqF4WjsoxDAAKRFurgTFU004.png" target="_blank"></a>

測試

在用戶端桌面上建立一個svntest的目錄。然後在桌面上右鍵 ==&gt; SVN檢出

<a href="http://s5.51cto.com/wyfs02/M00/83/11/wKiom1dqGRbgN9c_AADX55TFBeQ200.png" target="_blank"></a>

注意上圖中svn位址不能寫成svn://172.16.42.133/opt/svn/repo的完整路徑,否則會報錯

<a href="http://s4.51cto.com/wyfs02/M00/83/10/wKioL1dqGUCywdK4AAGmR0mgM-Y197.png" target="_blank"></a>

用戶端上傳檔案

将windows上要添加的檔案移動至repo檔案夾進行上傳,上傳哪個檔案就點選右鍵—添加

添加完成後,再次右鍵==&gt;送出

用戶端的具體使用,可以參考下面的官網文檔。

<a href="http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/Documentation/TortoiseSVN-1.9.4-zh_CN.pdf" target="_blank">http://ufpr.dl.sourceforge.net/project/tortoisesvn/1.9.4/Documentation/TortoiseSVN-1.9.4-zh_CN.pdf</a>

修改檔案的正确操作流程:

先更新要修改的檔案,然後将檔案鎖定,這樣别人雖然能同時修改這個檔案,但是不能送出。當你編輯完成并送出後,檔案自動解除鎖定

如何建立并啟用多個代碼庫?

跟前面的操作一樣,建立代碼庫,這裡以建立一個名為it的代碼庫為例

<code>svnadmin create </code><code>/opt/svn/it</code>

然後和前面一樣,修改配置檔案。

啟用代碼庫,監聽在不同的端口上

<code>svnserve -d -r </code><code>/opt/svn/it</code> <code>--listen-port 3691</code>

<code>tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      1740</code><code>/svnserve</code>       

<code>tcp        0      0 0.0.0.0:3691                0.0.0.0:*                   LISTEN      1791</code><code>/svnserv</code>

本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1791678,如需轉載請自行聯系原作者

繼續閱讀