[轉載+整理]centOS 6.3 上配置SVN伺服器

來源:互聯網
上載者:User

標籤:

1,該文章出處部落格園: http://www.cnblogs.com/zhoulf/archive/2013/02/02/2889949.html

 

 

zhoulf 2013-02-02 原創安裝說明

 

系統內容:CentOS-6.3
安裝方式:yum install (源碼安裝容易產生版本相容的問題)
安裝軟體:系統自動下載SVN軟體

 

檢查已安裝版本

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

#卸載舊版本SVN
[[email protected] modules]# yum remove subversion

安裝SVN

[[email protected] modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

確認已安裝了svn模組

[[email protected] /]# cd /etc/httpd/modules
[[email protected] modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

驗證安裝

檢驗已經安裝的SVN版本資訊 
[[email protected] 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庫 
[[email protected] modules]# mkdir -p /opt/svn/repositories
[[email protected] modules]# svnadmin create /opt/svn/repositories
執行上面的命令後,自動建立repositories庫,查看/opt/svn/repositories 檔案夾發現包含了conf, db,format,hooks, locks, README.txt等檔案,說明一個SVN庫已經建立。

配置程式碼程式庫

進入上面產生的檔案夾conf下,進行配置 
[[email protected] modules]# cd /opt/svn/repositories/conf

使用者密碼passwd配置

[[email protected] password]# cd /opt/svn/repositories/conf
[[email protected] conf]# vi + passwd
修改passwd為以下內容:

[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456許可權控制authz配置

[[email protected] conf]# vi + authz
目的是設定哪些使用者可以訪問哪些目錄,向authz檔案追加以下內容:

#設定[/]代表根目錄下所有的資源 
[/]
zhoulf=rw服務svnserve.conf配置

[[email protected] conf]# 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配置防火牆連接埠

[[email protected] conf]# vi /etc/sysconfig/iptables
添加以下內容: 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
儲存後重啟防火牆 
[[email protected] conf]# service iptables restart

啟動SVN

svnserve -d -r /opt/svn/repositories

查看SVN進程

[[email protected] conf]# ps -ef|grep svn|grep -v grep
root     12538     1  0 14:40 ?        00:00:00  -d -r /opt/svn/repositories

檢測SVN 連接埠

[[email protected] conf]# netstat -ln |grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN

停止重啟SVN

[[email protected] password]# killall svnserve    //停止 
[[email protected] password]# svnserve -d -r /opt/svn/repositories  // 啟動

測試

SVN服務已經啟動,使用用戶端測試連接。 
用戶端串連地址:svn://192.168.15.231
使用者名稱/密碼: zhoulf/123456
測試建立檔案夾等操作。

 

 

 

 

BUT:我遇到了問題一直報

Can‘t connect to host ‘192.168.1.121‘: 由於串連方在一段時間後沒有正確回覆或串連的主機沒有反應,串連嘗試失敗。

解決辦法:1,我找了很久發現是centOS 防火牆問題 

service iptables stop  

關閉防火牆,就可以正常遷入遷出檔案.

2,這點真是日了狗了,我按照上面博主的教程,一直報錯,防火牆也是這樣設定的,後來我發現是插入語句:-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT 放的位置有問題。

現在我的虛擬機器 /etc/sysconfig/iptables 檔案開啟是這樣子

只要將 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT 放到--reject 也就是commit上面兩行的後面就會一直取不到,我放到空格處,就不會報錯會可以正常更新。

 

 

//自動啟動svn服務

 

二,我們已經可以配置自己的庫了,但是每次開機都要手動啟動svn服務台繁瑣,我們設定linux開機啟動服務。

   解決方案1:將啟動命令寫到  svnserve -d -r /opt/svn/repositories  放在  /etc/rc.d/rc.local最後一行

實際上rc.local裡面英文的大致意思就是:等其他初始化指令碼執行完了就會執行該指令碼.這個很容易理解 這裡面可以直接執行shell命令,當然也可以執行其他shell指令碼。

 

格式為  程式名  程式路徑

例如  a.sh  /home/a.sh 將該命令加入到rc.local最後一行

2:自己手寫啟動指令碼(實際上就是將svnserve -d -r /opt/svn/repositories 放到指令碼裡面),並且設定為服務,開機啟動,這個有點冗長:我已經試過了成功:

連結一:http://blog.sina.com.cn/s/blog_5f54f0be0101b3bs.html

連結二: http://blog.csdn.net/jiedushi/article/details/6767445/ 這個有點小問題,讀者自己摸索

 

 

//to-do 配置多個庫

 

三,    解決方案 1,同一目錄下建立兩個svn目錄,最後啟動服務的時候,以父目錄為標準

具體請看:http://blog.sina.com.cn/s/blog_8882a6260101a4ox.html

        解決方案2,http://mw-fang.iteye.com/blog/1787766  方法2這個我嘗試了,有問題,若有朋友測試成功麻煩請告訴我

 

小結:實際上centOS上一次只能啟動一個svn服務(我自己都感覺不妥當,連接埠設定不同的可以開啟多個???)

上面第一種方法確實可以建立多個庫,但是實際上還是兩個庫的根目錄作為 svn總的庫房··

 

和建立一個庫,先取出來  然後建立兩個檔案夾  各自分類管理的 效果是一模一樣···

 

就此作罷!

 

 

  

[轉載+整理]centOS 6.3 上配置SVN伺服器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.