WinXp下Apache+TortoiseSVN安裝配置版本控制的環(huán)境
1、軟件準(zhǔn)備
① 到 apache官方網(wǎng)站下載 apache_2.2.14-win32-x86-openssl-0.9.8k.msi安裝包(下載附件也可以)
② 到 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100 頁(yè)面下載
Setup-Subversion-1.6.6.msi 安裝包
③ 到http://tortoisesvn.net/downloads 下載TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi ,
2、軟件安裝
① 安裝apache 一般來(lái)說(shuō)直接點(diǎn)下一步就可以了,在設(shè)置domain以及host的時(shí)候,沒(méi)有自己的域名可以設(shè)置為localhost,Email填你自己的Email
下面兩個(gè)選擇項(xiàng)
for All Users,on port 80, as a Service –Recommended.
only for Current User, on port 8080, when started Manually.
意思是
為所有用戶安裝程序和快捷方式,端口80,作為服務(wù)安裝,推薦
僅為當(dāng)前用戶安裝程序和快捷方式,端口8080,啟動(dòng)apache服務(wù)手動(dòng)啟動(dòng)
選擇第一個(gè)注意80端口有沒(méi)被占用,第二個(gè)則注意8080端口占用問(wèn)題。
裝好apache以后,這個(gè)時(shí)候,它已經(jīng)在運(yùn)行了,
你可以在瀏覽器的地址欄輸入http://localhost看看頁(yè)面是否出現(xiàn)
It works!
出現(xiàn)則表明安裝成功,沒(méi)有出現(xiàn),檢查可能出現(xiàn)的問(wèn)題。
(Here我就遇到了端口號(hào)被占用的情況,于是修改端口號(hào))
打開(kāi):C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
找到: Listen 80
為防止端口號(hào)被占用我改成了: Listen 8888
所以我訪問(wèn)的apache時(shí)候路徑就得跟端口號(hào):http://localhost:8888
② 安裝Setup-Subversion-1.6.6.msi ,這個(gè)簡(jiǎn)單,沒(méi)有什么特別的
③ TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi 安裝,簡(jiǎn)單,不用細(xì)說(shuō)。
3配置
在C:\Program Files\Subversion\bin\目錄下復(fù)制下面兩個(gè)文件
mod_authz_svn.so
mod_dav_svn.so
粘帖到C:\Program Files\Apache Software Foundation\Apache2.2\modules,
然后我們?cè)俅蜷_(kāi)C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件.
找到
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
去掉前面的注釋符號(hào)#
然后再下面添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
注意不要隨意改變順序。可能出現(xiàn)其它錯(cuò)誤。
模塊的加載設(shè)置完成,下面我們要設(shè)置SVN的版本庫(kù)目錄,以使我們的apache能知道訪問(wèn)不同的URL的時(shí)候,它去哪里尋找這個(gè)URL所對(duì)應(yīng)的SVN目錄.
在httpd.conf文件中,增加如下內(nèi)容:
1 |
<Location /svn/myproject> |
上面使用了access.auth,和users.auth兩個(gè)文件,我們后面創(chuàng)建。
在d:\創(chuàng)建svnroot 文件夾,然后通過(guò)svn的svnadmin命令創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)
(注意:D:\svnroot\myproject 這個(gè)路徑是區(qū)分大小寫(xiě)的,如果建議都小心。否則你就等著重新操作吧!)
svnadmin create D:\svnroot\myproject
如果運(yùn)行成功的話,什么也沒(méi)有輸出,
也可以按如下操作來(lái)創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)
在e盤(pán)下新建D:\svnroot\下創(chuàng)建myproject文件夾,通過(guò)TortiseSVN來(lái)創(chuàng)建。
選中myProject 右鍵選擇TortiseSVN ,選擇二級(jí)菜單 create repository here 在這個(gè)目錄創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)
在創(chuàng)建的myProject文件夾下面我們會(huì)發(fā)現(xiàn)多了幾個(gè)文件夾和文件,打開(kāi)conf文件夾,然后使用editplus(如果沒(méi)有安裝editplus,可以用記事本或者寫(xiě)字板打開(kāi))再打開(kāi)svnserve.conf文件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示myProject是需要密碼驗(yàn)證的.再打開(kāi)conf文件夾下面的passwd文件,用文本編輯器打開(kāi),在[users]下面加上我們需要的用戶和密碼,比如
[users]
admin=admin
tom=123456
我們就啟動(dòng)了兩個(gè)用戶,一個(gè)叫admin,密碼是admin,一個(gè)叫tom,密碼是123456.
然后保存為passwd文件.
我們?cè)俳ㄒ粋€(gè)文件,叫access.auth,這個(gè)文件是設(shè)置訪問(wèn)權(quán)限的,里面內(nèi)容如下:
[myproject:/]
admin = rw
[myproject:/module1]
tom=rw
admin=rw
rm表示可讀可寫(xiě),這表示,myproject下面的所有子目錄admin都是有權(quán)限讀寫(xiě)的,但是tom只有權(quán)限讀寫(xiě)此項(xiàng)目下面的module1目錄,這個(gè)各自的訪問(wèn)權(quán)限就分的更細(xì)致了.
命令行模式下,到apache安裝目錄下的bin目錄下 操作如下
C:\Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -cb users.auth admin adminAutomatically using MD5 format.
Adding password for user jamC:\Program Files\Apache Software Foundation\Apache2.2\bin>
為admin用戶設(shè)置好密碼,創(chuàng)建第一個(gè)用戶時(shí)創(chuàng)建文件,添加第二個(gè)用戶則不用創(chuàng)建,具體命令參數(shù)有細(xì)微區(qū)別,請(qǐng)注意-cb
C:\Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -b users.auth tom 123456Automatically using MD5 format.
Adding password for user tomC:\Program Files\Apache Software Foundation\Apache2.2\bin>
此時(shí)把C:\Program Files\Apache Software Foundation\Apache2.2\bin 目錄下的 users.auth 復(fù)制粘貼到
D:\svnroot\myproject\conf 目錄下
重新啟動(dòng)apache服務(wù),通過(guò)http://localhost:8888/svn/myproject/
注:沒(méi)改端口號(hào)的訪問(wèn) (http://localhost/svn/myproject/)
訪問(wèn)出現(xiàn)
myproject – Revision 0: /
表示配置成功,客戶端TortiseSVN 配合使用。
好了,部署第一個(gè)項(xiàng)目:
在cmd命令行里輸入: svn import E:\test\ file:///D:/svnroot/myproject/ -m “test import”
注意:
1.(D:\test\ ) 是你要部署的項(xiàng)目
2.(file:///D:/svnroot/myproject/)這是你建立版本控制的倉(cāng)庫(kù)路徑
— 里面的 / 千萬(wàn)注意別寫(xiě)成 \ ,否則會(huì)操作失敗。—
最后:
打開(kāi)網(wǎng)址:http://localhost:8888/svn/myproject/
注:沒(méi)改端口號(hào)的訪問(wèn) (http://localhost/svn/myproject/)
訪問(wèn)會(huì)列出你項(xiàng)目的版本信息
方案二: 使用VisualSVN Server 軟件使用操作易用方便。
VisualSVN Server是用于Subversion管理的windows程序,它整合了Subversion, Apache和一個(gè)命令行管理工具。提供了完全可視化的Subversion版本庫(kù)創(chuàng)建,管理,人員管理的操作界面。
網(wǎng)方網(wǎng)址及下載地址:http://www.visualsvn.com/server/
1. 安裝
2. 指定端口及授權(quán)方式, 使用 Subversion 授權(quán)方式或系統(tǒng)授權(quán)方式:
3. 一路"Next"安裝, 安裝完成后,可以查看相應(yīng)信息,也可以創(chuàng)建新的版本庫(kù), 添加組, 添加用戶:
4. 在 Repositories 上點(diǎn)右鍵,選擇 ”Create New Repositories” ,創(chuàng)建新的版本庫(kù):
可以選擇生成默認(rèn)的結(jié)構(gòu) (trunk, branches, tags) ,還可以通過(guò) ” 新建 ”->”Folder…” 來(lái)創(chuàng)建其它目錄。
另外, VisualSvn Server 已經(jīng)將 Apache 和 Subversion 集成好了,生成 HTTP 的訪問(wèn)方式 :http://PC_NAME:PORT/svn/Project_Name 。
并且在 E:/Repositories 目錄下生成相應(yīng)的結(jié)構(gòu):
5. 為版本庫(kù)添加用戶及設(shè)置用戶權(quán)限:
在 MyProject 上點(diǎn)右鍵, ” 所有任務(wù) ” -> “Manager Security…” ( 也可以選擇 ”Properties”) :
可以看到,權(quán)限設(shè)置界面與系統(tǒng)的權(quán)限設(shè)置界面基本一致,可以通過(guò) ”Add…” 來(lái)添加相應(yīng)的用戶:
完成之后,就可以在瀏覽器中查看:
安裝成功VisualSVN-Server后,我們啟動(dòng)登錄程序,如圖
參數(shù)Repositories表示版本庫(kù)目錄,Users代表用戶,Groups代表組;
怎么新建版本庫(kù)呢?我們右鍵點(diǎn)擊Repositorites找到new目錄,點(diǎn)擊Repository,然后VisualSVN會(huì)讓你輸入新建版本庫(kù)的名稱(chēng),點(diǎn)擊確認(rèn)即可。如圖
新建用戶與新建用戶組,如上相似,接下來(lái)我們做比較重要的步驟,用戶權(quán)限控制。
首先我們先右鍵版本庫(kù)inms-->All Tasks-->manager Security會(huì)出現(xiàn)版本權(quán)限分配頁(yè)面,如圖:
Permissions表示版本庫(kù)的權(quán)限,Inherit from parent(Read/Write)表示讀與寫(xiě)的權(quán)限,no Access表示沒(méi)有權(quán)限,Read Only表示只有讀取的權(quán)限。
我們已經(jīng)清楚了版本庫(kù)有幾種權(quán)限了,接下來(lái)我們給用戶或者用戶組分配權(quán)限,怎么分配呢?
我們點(diǎn)擊Add按鈕會(huì)出現(xiàn),權(quán)限分配頁(yè)面。如圖:
然后我們點(diǎn)擊所相對(duì)于的用戶或者用戶組,點(diǎn)擊Ok就已經(jīng)完成了。
OK,我們部署好服務(wù)器后,我們來(lái)測(cè)試一下,我們安裝SubVsion客戶端TortoiseSVN,安裝成功后我們點(diǎn)擊鼠標(biāo)右鍵,找到TortotiseSVN程序目錄,如圖
我們點(diǎn)擊Import,彈出如下窗體,https://172.18.10.78/是服務(wù)器地址,svn是代碼倉(cāng)庫(kù)的根目錄,inms是版本庫(kù)名稱(chēng)。點(diǎn)擊Ok確認(rèn);
點(diǎn)擊OK按鈕確定后,將會(huì)彈出下面窗體,要求你輸入密碼,如圖
然后我們?cè)邳c(diǎn)擊OK確認(rèn);
如上圖所示源碼已經(jīng)成功導(dǎo)入到版本庫(kù)里面去了,這時(shí)候團(tuán)隊(duì)成員就可以遷出svn服務(wù)器代碼到本機(jī)機(jī)器上面了。 好了我們服務(wù)器已經(jīng)部署好了,等會(huì)我們?cè)诩尤雃clipse svn客戶端。謝謝大家!!剛剛不好意思,圖片被我誤操作刪除了!!!接下來(lái)我會(huì)補(bǔ)充。