標籤:虛擬機器 centos svn伺服器
其實網路上有不少人都分享過用linux建立svn伺服器的過程,但是實際自己操作起來還是困難重重的,很多錯誤就稀裡糊塗的出現了。鄙人學了2天的linux基本命令操作,就急急跑來完成第一個任務:建立svn伺服器。由於底子薄,出了問題更是比別人付出千百倍的能力去解決,真是不容易啊
言歸正傳,第一步先安裝svn的軟體
# yum install subversion:
然後建立一個專門用來裝SVN東西的目錄
#mkdir /svn/
使用svn自己帶的命令來在這個目錄下面再做一個目錄
#svnadmin create /svn/project
#ls /svn/project/
#conf db format hooks locks README.txt
這裡有四個檔案夾,都是有用的。
l hooks目錄:放置hook指令檔的目錄
l locks目錄:用來放置subversion的db鎖檔案和db_logs鎖檔案的目錄,用來追蹤存取檔案庫的用戶端
l format檔案:是一個文字檔,裡面只放了一個整數,表示當前檔案庫配置的版本號碼
l conf目錄:是這個倉庫的設定檔(倉庫的使用者訪問帳號、許可權等)
而我們要做的就是深入conf目錄裡,把裡面所有的檔案都要一一翻新一下。
配置svn服務的設定檔svnserver.conf檔案
# vi /svn/project/conf/svnserve.conf [general] #注意這裡,一定要保留!!!#anon-access = none #這裡是頂頭的,沒有#啦#auth-access = write password-db = /svn/project/conf/passwd authz-db = /svn/project/conf/authz realm = Chris Test Repository #這是個提示資訊
然後:x儲存一下。
添加兩個訪問使用者及口令
# vi /svn/project/conf/passwd 進入passwd檔案[users] #同上,這個要保留滴!!!#chen = 123456 james = 123456 allen = 123456
我們建立了三個使用者名稱以及他們對應的密碼,儲存。
配置新使用者的授權檔案
# vi /svn/project/conf/authz [groups] admin = chen,james #建立了一個叫admin的組,組員有chen,james#user = allen #又建立了一個叫user的組,組員有allen#[/] #這些人可以訪問根目錄以下的東西#@admin = rw #admin組員的許可權是可讀和可寫#@user = r #user組員的許可權是可讀#* = #不是以上兩個組的使用者,滾犢子~#
* = 這句話很重要,一定要加!
啟動svn服務
svnserve -d -r /svn/project/ 其中,預設svn伺服器連接埠是3690。
然後在虛擬機器上先連網,然後ifconfig一下,查看自己的IP,我的機器是192.168.157.128.那麼返回終端,使用svn checkout svn://192.168.157.128/project (注意!這裡直接是project,不是/svn/project.)
如果這裡命令寫錯了,寫成了svn checkout svn://192.168.157.128,那麼將會報出
svn:No repository found in "svn://192.168.157.128" 的錯誤,所以要注意後面的倉庫路徑。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/79/88/wKiom1aTzlPjipl6AACJSa1v48A506.png" title="QQ圖片20160111234604.png" alt="wKiom1aTzlPjipl6AACJSa1v48A506.png" />這個時候,你的螢幕應該是這樣的,大膽輸入yes,反饋你取出版本0。至於為什麼是版本0,我也不知道,而且這個問題在百度上找不到。
這個時候,在主機端下載好TortoiseSVN和他的中文漢化包,一路next安裝完畢,然後需要重啟一下方可正式使用。
TortoiseSVN他跟以往普通的軟體不同,他沒有案頭捷徑,他的安裝路徑裡也沒有.exe這樣的可執行檔,他就是一個殼檔案,寄生在別的檔案夾裡使用。
重啟完畢之後,在檔案上點擊滑鼠的右鍵就發現多了“SVN檢出”和“Tortoise SVN”這倆東西,在“Tortoise SVN”裡,找到setting,在語言欄選擇“簡體中文”,這樣就完成了漢化。
然後開啟TortoiseSVN Repository Brower工具,在地址欄裡輸入“svn://192.168.157.128/project/”,就應該彈出來輸入使用者名稱和密碼。
但是如果顯示連線逾時,那麼需要用主機和虛擬機器互ping,必須要求雙方能ping通,我的虛擬機器採用的是預設的nat,沒有使用橋接。直接ping通,而且主機和虛擬機器是不用在同一個網段裡的。這裡不用telnet,沒有用的,這個思路是錯的,我在這個思路上糾結了很長的時間。而且也不用在後面加上連接埠號碼3690。
如果雙方能互相的ping通,但是TSVN的瀏覽器還是不能發現虛擬機器裡的伺服器,提示“積極拒絕,無法串連”,那麼果斷的把虛擬機器的防火牆STOP掉,或者把預設的3690連接埠加入到虛擬機器的防火牆裡。
stop防火牆的命令:/etc/init.d/iptables stop
防火牆加入3690連接埠的命令:/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
然後/etc/init.d/iptables restart 重啟一下生效。
這樣應該能連結到虛擬機器的伺服器端了。
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/79/88/wKiom1aT0WPxwjzOAADDoaTCk7Q419.png" title="QQ圖片20160111235915.png" alt="wKiom1aT0WPxwjzOAADDoaTCk7Q419.png" />
這樣,就算徹底的安裝成功了。
如果想要關閉SVN server,那可以使用kill命令,如下例子
# ps -ef|grep svn
root 4642 1 0 16:08 ? 00:00:00 svnserve -d -r /svn/project/
root 4692 3676 0 16:13 pts/2 00:00:00 grep svn
# kill -9 4642
參考資料如下:
http://www.cnblogs.com/see7di/archive/2013/08/03/3234048.html
http://my.oschina.net/lionel45/blog/298305
http://blog.csdn.net/a649518776/article/details/39433883
http://blog.csdn.net/wwww1988600/article/details/24182919
本文出自 “生活就是等待戈多” 部落格,請務必保留此出處http://chenx1242.blog.51cto.com/10430133/1733987
虛擬機器centos上建立svn伺服器