標籤:height auth oca ref 9.png add 產生 ever white
SVN版本控制伺服器搭建
Svn(subversion)是一個開原始程式碼控制的控制系統,用來管理和儲存開發的原始碼,基於C/S模式。可以單獨提供服務,也可以結合http服務來實現。
| 運行方式 |
運行連接埠 |
存取方法 |
| svn單獨服務 |
3690 |
svn:// |
| http結合服務 |
80 |
http:// |
下面開始搭建svn服務
1.環境準備
(1)安裝svn 和 apache 服務,其中mod_dav_svn是用來銜接svn和apache的。
yum –y install subversion httpd mod_dav_svn
(2)查看是否註冊連接埠
cat /etc/services | grep svn –color
(3)建立存放版本庫
mkdir /web
(4)建立web項目執行個體
svnadmin create /web/www.demonxian3.cnsvnadmin create /web/www.demonxian2.cn
(5)查看svn版本相關檔案
可以在通過svnadmin建立的目錄看到會產生一些檔案。
| 目錄 |
作用 |
| dav |
提供apache和mod_dav_svn使用的目錄,這個要自己手動建立 |
| db |
存放版本控制的資料庫檔案 |
| hooks |
存放hook指令檔 |
| locks |
存放svn監控鎖定資料的目錄,用來追蹤存取檔案庫的用戶端 |
| conf |
存放設定檔(使用者訪問帳號和許可權等) |
| format 檔案 |
存放一個整數表示當前的檔案庫配置的版本 |
下面是conf目錄的檔案內容
| 檔案 |
作用 |
| authz |
認證許可權的配置 |
| passwd |
使用者密碼的配置 |
| svnserve |
伺服器相關配置 |
2.修改配置
(1)修改svnserve服務配置
vim /web/www.demonxian3.cn/conf/svnserve.conf
下面幾個欄位預設都是注釋的,需要把注釋去掉
anao-access = read #表示匿名使用者可讀 值有:read write none
auth-access = write #表示認證使用者可寫,值同上
password-db = passwd #表示指定密碼庫的設定檔
authz-db = authz #表示指定認證許可權設定檔
realm = www.demonxian3.cn #登入提示資訊
注意上面欄位必須頂格,即前面不能留空格,否則會報錯
(2)修改passwd使用者密碼配置
vim /web/www.demonxian3.cn/conf/passwd
添加三個使用者,密碼均為123456
(3) 修改authz許可權配置
vim /web/www.demonxian3.cn/conf/authz
在groups域 裡定義一個CG組,組員有demon1,dmeon2
在 根域(自己寫上的)裡定義許可權,CG組只有讀許可權,demon3可寫可讀,其他人無許可權
3.啟動服務
svnserve -d -r /web/ #-d 以守護運行 -r 以root使用者運行 web 就是自己建立的軟體版本庫
查看連接埠
svn常用的命令
| import |
上傳代碼 |
| checkout |
下載代碼 |
| update |
更新代碼 |
| status |
查看狀態 |
| diff |
差異檢測 |
| log |
記錄 |
| list |
顯示目錄 |
| cat |
查看內容 |
| resolve |
解決衝突 |
| switch |
切換版本庫 |
| revert |
恢複 |
| add |
增加 |
| delete |
刪除 |
| copy |
複製 |
| move |
移動 |
更多請參見http://blog.csdn.net/ithomer/article/details/6187464
4.svn服務簡單的使用測試
mkdir local #建立本地開發目錄touch local/1.html local/2.html #建立類比web頁面svn import /root/local/ file:///web/www.demonxian3.cn/ -m "first edit" #匯入svn checkout svn://192.168.1.112/www.demonxian3.cn/ download #取出代碼
1.取代碼時會彈出身分識別驗證,預設是root使用者,斷行符號即可輸入使用者名稱和密碼。
2.需要注意登入的使用者需要有讀取許可權否則不能下載
3.取出代碼後會在當前產生download目錄,在裡面進行相關的代碼開發即可
下面類比代碼開發後的更新。
touch download/3.htmlecho “hello world” > 2.htmlsvn add 3.html #在svn裡同步添加新檔案svn commit –m “second edit” #提交代碼,這裡也需要使用者驗證。
如果輸入的帳號和密碼沒有寫入的許可權,會寫入失敗
下面來搭建http + svn 服務
1.查看apache是否引入svn模組
vim /etc/httpd/conf.d/subversion.conf
如果看到兩個欄位則表示引入成功
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
兩個模組的實體路徑
/etc/httpd/modules/mod_authz_svn.so
/etc/httpd/modules/mod_dav_svn.so
2.編輯subversion模組設定檔
vim /etc/httpd/conf.d/subversion.conf #在參照末尾location標籤添加下面的內容
<Location /web>
DAV svn
SVNParentPath /web #指定svn根目錄
AuthType Basic #Basic認證方式
AuthName ”www.demonx.cn” #認證顯示提示資訊
AuthUserFile /web/svn/passwd #使用者密碼檔案
AuthzSVNAccessFile /web/svn/authz #使用者設定檔
Require vaild-user #要求使用者認證不許匿名
</Location>
3.建立apache訪問svn相關設定檔
mkdir /web/svn
建立使用者密碼檔案並配置密碼
htpasswd –c /web/svn/passwd dem1 #參數-c表示建立檔案htpasswd /web/svn/passwd dem2
建立許可權設定檔
vim /web/svn/authz #添加下面的內容
[groups]
all = dem1,dem2
[/]
dem1 = rw
[www.demonxian3.cn:/]
@all = rw
[www.demonxian2.cn:/]
dem1 = rw
dem2 = r
service httpd restart
然後使用瀏覽器訪問,會發現需要使用者認證
下面使用小烏龜工具來訪問svn
使用小烏龜進行代碼的上傳和下載,雖然這個是開發人員做的事,但作為營運人員多少也應該瞭解一點。下面是小烏龜的下載的地址
http://tortoisesvn.net/downloads.html
下載好後會在右鍵產生svn相關外掛程式
配置相關選項,使用svn服務訪問配置如下
注意URL上不能把根目錄/web也填寫上去了。
輸入使用者名稱和密碼,不要儲存
如果使用httpd服務訪問svn版本管理器,配置如下
成功把代碼down下來了,提交一樣點擊右鍵commit即可,如果有時候上交失敗如下
很有可能你的目錄許可權不夠,修改一下即可 如我的: chmod -R 777 /web
轉載請指明出處:http://www.cnblogs.com/demonxian3/p/6910206.html
SVN版本控制系統搭建(結合http服務)