標籤:
作為一名“萬能”的碼農,這種活兒你遲早要乾的。----By Jimi沒有bond
準備工作:yum
1.檢查是否已安裝
rpm -qa subversion
如果要卸載舊版本:
yum remove subversion
2.安裝
yum install subversion
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(這是安裝配合Apache的模組,我暫時還沒做,做了再補上,你可以只裝subversion,多裝了也無所謂)
3.檢查是否安裝成功
svnserve --version
如果成功會輸出版本號碼
4.建立倉庫目錄
例如:
mkdir /home/svn/game
5.建立項目
svnadmin create /home/svn/game
6.檢查是否建立成功
cd /home/svn/gamell
如果成功,game目錄下會多出幾個檔案夾
7.進入conf目錄會看到3個設定檔,產生的檔案中都有英文注釋說明
樣本需求:
策劃組:開策劃、美術讀寫後端組:開後端讀寫,策劃唯讀前端組:開前端讀寫,策劃、美術唯讀美術組:開美術讀寫,策劃唯讀Administrator 群組:所有的讀寫
authz:使用者權限配置
樣本:
[groups]#管理組manager = boss#服務端使用者組server = server1,server2#用戶端使用者組client = client1,client2#美術組art = art1,art2#策劃組design=design1,design2[game:/]manager=rw[game:/server]@server=rw[game:/client]@client=rw@design=r@art=r[game:/art]@design=rw@art=rw@client=r[game:/design]@design=rw@server=r@client=r@art=r
passwd:使用者密碼
[users]boss=123456server1=123456server2=123456client1=123456client2=123456art1=123456art2=123456design1=123456design2=123456
svnserve.conf:
#匿名訪問者許可權anon-access = none#驗證使用者權限auth-access = write#密碼檔案地址password-db = /home/svn/game/passwd#許可權檔案地址authz-db = /home/svn/game/authz#項目名稱(UUID)realm =game
8.開放svn連接埠
預設是3690連接埠,你也可以用別的。已開啟的跳過這一步
修改iptables -I INPUT -p tcp --dport 3690 -j ACCEPT儲存/etc/rc.d/init.d/iptables save重啟service iptables restart查看/etc/init.d/iptables status
9.啟動SVN服務
svnserve -d -r /home/svn
-d:守護進程
-r:svn根目錄
假設服務端IP為192.168.1.100,那麼如下設定後game的訪問目錄就為:
svn://192.168.1.100/game
10.安裝用戶端 TortoiseSVN
11.建立子目錄
在用戶端PC上找個目錄,用系統管理員帳戶從svn://192.168.1.100/game遷出game目錄,分別建立art,design,server,client 4個子目錄,然後提交。
這時候你可以用其他組的帳戶測試下是否正常使用了。
12.安裝好的svn服務端,預設是不會開機自啟動的,每次開機自己啟動會很麻煩,我們可以把它設成開機啟動
首先:編寫一個啟動指令碼svn_startup.sh,我放在/root/svn_startup.sh
#!/bin/bash/usr/bin/svnserve -d -r /home/svn/
這裡的svnserve路徑保險起見,最好寫絕對路徑,因為啟動的時候,環境變數也許沒載入。
絕對路徑怎麼查?
which svnserve
這裡還有可能碰到一個問題,如果你在windows下建立和編寫的腳步,拿到linux下,用vi或者vim修改後可能會無法執行,這是檔案格式的問題
vi svn_startup.sh輸入:set ff 斷行符號如果顯示的結果不是fileformat=unix再次輸入set ff=unix就OK了
然後修改該指令碼的執行許可權
chmod ug+x svn_startup.sh或者萬能的chmod 777 svn_startup.sh
最後:加入自動運行
vi /etc/rc.d/rc.local在末尾添加指令碼的路徑,如:/root/svn_startup.sh
現在,你可以重啟一下試試了。 不懂得怎麼確認成功?敗給你了
ps -ef|grep svnserve
好多活,幹不死我
Linux(centOS6.5)下SVN的安裝、配置及開機啟動