linux系統安裝svn

安裝說明php

系統環境:CentOS-6.2
安裝方式:yum install (源碼安裝容易產生版本兼容的問題)
安裝軟件:系統自動下載SVN軟件html

Linux svn服務端配置數據庫

檢查已安裝版本vim

#檢查是否安裝了低版本的SVN後端

[root@localhost /]#rpm -qa subversion

#若是存儲舊版本,卸載舊版本SVN
[root@localhost modules]#yum remove subversion緩存

安裝SVN服務器

[root@localhost modules]#yum install subversiontcp

驗證安裝svn

檢驗已經安裝的SVN版本信息
[root@localhost modules]# svnserve --version測試

svnserve,版本 1.6.11 (r934486)
編譯於 Jun 23 2012,00:44:03

版權全部 (C) 2000-2009 CollabNet。
Subversion 是開放源代碼軟件,請參閱 http://subversion.tigris.org/ 站點。
此產品包含由 CollabNet(http://www.Collab.Net/) 開發的軟件。

下列版本庫後端(FS) 模塊可用:

* fs_base : 模塊只能操做BDB版本庫。
* fs_fs : 模塊與文本文件(FSFS)版本庫一塊兒工做。

Cyrus SASL 認證可用。

 

代碼庫建立

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

配置代碼庫

進入上面生成的文件夾conf下,進行配置
[root@localhost modules]#cd /opt/svn/repo/conf

用戶密碼passwd配置

[root@localhost password]#cd /opt/svn/repo/conf
[root@admin conf]#vim passwd
修改passwd爲如下內容:

[users]
# harry = harryssecret
# sally = sallyssecret

hello = 123

aaa = 123

www = 123

用戶名=密碼

這樣咱們就創建了hello用戶, 123密碼

以上語句都必須頂格寫, 左側不能留空格, 不然會出錯.

權限控制authz配置

[root@admin conf]#vim authz
目的是設置哪些用戶能夠訪問哪些目錄,向authz文件追加如下內容:

[groups]            #組

admin = hello,www   #建立一個admin組,將用戶加入到組

[/]                 #根目錄權限設置(就是「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 = /opt/svn/repo

 

以上語句都必須頂格寫, 左側不能留空格, 不然會出錯.

配置防火牆端口(或直接關閉防禦牆)

[root@localhost conf]#vim /etc/sysconfig/iptables
添加如下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存後重啓防火牆
[root@localhost conf]#service iptables restart

啓動SVN

svnserve -d -r /opt/svn/         #指定SVN根目錄

查看SVN進程

ps -ef|grep svnserve

使用import導入文件

svn import /mnt/ file:///opt/svn/repo/-m "註釋"

增長           /mnt/hgfs

提交後的版本爲 1。

檢測SVN 端口

[root@localhost conf]#netstat -ln |grep 3690
tcp  0  0 0.0.0.0:3690    0.0.0.0:*     LISTEN

中止重啓SVN

[root@localhost password]# killall svnserve //中止
[root@localhost password]# svnserve -d -r /opt/svn/repo // 啓動

若是已經有svn在運行,能夠換一個端口運行
svnserve -d -r /opt/svn/ --listen-port 3391

 

啓服務器及測試:

1,啓SVN服務,並指定SVN的根目錄:

[root@youxia201 test]# svnserve -d -r/opt/svn/

使用checkout導出文件

在這裏特別的要注意,/opt/svn是倉庫的根目錄,不要和[svntest:/]目錄重疊了。若是重疊是會提示錯誤

[root@localhost conf]# svn checkoutsvn://127.0.0.1/repo  #本機測試,必需寫錯127.0.0.1

認證領域: <svn://127.0.0.1:3690>/opt/svn/repo

「root」的密碼: 直接回車

認證領域: <svn://127.0.0.1:3690>/opt/svn/repo

用戶名: hello

「hello」的密碼:

 

-----------------------------------------------------------------------

注意! 你的密碼,對於認證域:

 

 <svn://127.0.0.1:3690> /opt/svn/repo

 

只能明文保存在磁盤上! 若是可能的話,請考慮配置你的系統,讓 Subversion

能夠保存加密後的密碼。請參閱文檔以得到詳細信息。

 

你能夠經過在「/root/.subversion/servers」中設置選項「store-plaintext-passwords」爲「yes」或「no」,

來避免再次出現此警告。

-----------------------------------------------------------------------

保存未加密的密碼(yes/no)?yes

取出版本 1。

不讓它每次輸入都提示yes/on的辦法

編輯vim /root/.subversion/servers   找到下行去掉#號將on改成yes,上面綠色部分已提示

store-plaintext-passwords = no

---------------------------------------------------------------------------------------------------------------------

到此,SVN服務端就配置完成了

 

Linux svn客戶端配置

檢查已安裝版本

#檢查是否安裝了低版本的SVN
[root@localhost /]#rpm -qa subversion

#若是存儲舊版本,卸載舊版本SVN
[root@localhost modules]#yum remove subversion

安裝SVN

[root@localhost modules]#yum install subversion

驗證安裝

檢驗已經安裝的SVN版本信息
[root@localhost modules]# svnserve --version

svnserve,版本 1.6.11 (r934486)
編譯於 Jun 23 2012,00:44:03

版權全部 (C) 2000-2009 CollabNet。
Subversion 是開放源代碼軟件,請參閱 http://subversion.tigris.org/ 站點。
此產品包含由 CollabNet(http://www.Collab.Net/) 開發的軟件。

下列版本庫後端(FS) 模塊可用:

* fs_base : 模塊只能操做BDB版本庫。
* fs_fs : 模塊與文本文件(FSFS)版本庫一塊兒工做。

Cyrus SASL 認證可用。

SVN客戶端下載文件

[root@localhost ~]# mkdir /svn

[root@localhost ~]# cd /svn/        #將svn服務上提取的文件放在此目錄下

[root@localhost svn]# svn checkoutsvn://192.168.233.203/repo              #svn服務器地址

輸入用戶名密碼:hello/123

 

注:可使用帶用戶名和密碼的訪問:

svn co --username hello --password 123svn://192.168.233.203/repo

 

SVN版本庫更新

svn up /svn/repo

上傳文件到服務器

[root@localhost ]# touch /svn/repo/test.php        #全部的動做必須在repo版本庫中完成

[root@localhost ]# svn add /svn/repo/test.php           #上傳test.php文件到svn服務器

刪除服務器上的文件

[root@localhost ]# svn rm /svn/repo/test.php--force

查看版本庫內容

[root@localhost ~]# svn list /svn/repo/

 

------------------------------------------------------------------------------------------------------------------------

到此,SVN客戶端就配置完成了

 

 

建立版本庫:
終端輸入:svnadmin create [路徑]
該路徑能夠是相對路徑,例如,當前在home/user/svn/目錄下,輸入svnadmin create myproject,則該版本庫會被建立在home/user/svn/目錄下,新建一個文件夾名爲myproject,其中即是版本庫的文件了。

將文件導入版本庫:
終端輸入:svn import [源路徑] [目標版本庫路徑] -m [日誌信息]
源路徑能夠是相對路徑,導入時會遞歸導入源路徑下的全部文件和文件夾,目標版本庫路徑須要絕對目錄(反正我試驗是這樣的),例如版本庫的目錄是:home/user/svn/myproject/。則應該這樣寫:file:///home/user/svn/myproject/
例如將當前目錄導入版本庫myproject:
svn import . file:///home/user/svn/myproject -m"導入文件"

從版本庫導出:
導入後原文件並未被歸入版本管理,若想得到受版本控制的文件,就須要從版本庫導出
終端輸入:svn co [版本庫路徑]
例如將myproject庫中的文件導出到當前目錄:svn co file:///home/user/svn/myproject .

 

五,在WindowsXP上安裝svn客戶端:TortoiseSVN(SVN客戶端)

1,英文版下載地址:

http://tortoisesvn.net/downloads.html

 

2,中文版安裝

下載完成後,直接next安裝便可,安裝完成後須要重啓生效(自行選擇32位於64位版本)。,

 

 

 

3,測試:

在桌面上新建一個名稱爲svntest的目錄,在此目錄上點擊右鍵,選擇Checkout,在首行填寫svn服務器的IP地址及倉庫名稱

 

輸入svn服務器ip地址和要鏈接的版本庫,輸出目錄能夠根據本身的愛好更改路徑

 

輸入鏈接服務器端的用戶名稱及密碼後就可使用了

相關文章
相關標籤/搜索