終於弄好了,雖然用visualsvn server可以很快部署好,但畢竟沒有apache的優勢
學習這個,我花了不少的時間,中間遇到很多問題卡死,不過都解決了,趕快記錄一下,希望對大家有幫助
需要的工具
httpd-2.2.22-win32-x86-openssl-0.9.8t.msi (apache2.2.22)
Setup-Subversion-1.5.3.msi (SVN服務器)
TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi (SVN客戶端工具)
下載地址可以去的資源包:http://download.csdn.net/detail/kimizhou_blog/4242759
1:首先安裝apache
apache的安裝還是簡單的,運行httpd-2.2.22-win32-x86-openssl-0.9.8t.msi ,一直下一步
如果遇到問題,看看是否是80端口被佔用了,如果被佔用了,修改配置文件的默認端口號,我的apache是安裝的D盤,我的配置文件的路徑是:
D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
用記事本打開,找到Listen 80 這一行,把80改成沒有被佔用的號,比如說:81 也可以
apache安裝完以後,在瀏覽器輸入http://127.0.0.1:81/ 如果能夠打開,出現It works!則說明安裝成功 ,我的改成了81端口,所以打開的路徑是127.0.0.1:81
2::安裝SVN服務器
運行Setup-Subversion-1.5.3.msi,這個很智能,他會自動尋找你安裝的apache版本,這裏我們選擇2.2,因爲我們安裝的apache版本是2.2的,然後一直下一步,直到安裝完成
3:配置SVN服務
這個也是最麻煩的步驟,也是最容易出錯的步驟了,一共分爲6個小步驟
(1)複製 文件
找到mod_authz_svn.so 和 mod_dav_svn.so,以及目錄下的所有DLL 結尾的文件 ,在SVN安裝路徑下可以找到,我的路徑是:D:\Program Files\Subversion\bin
(2)粘貼這些文件到以下目錄
也就是Apache的安裝目錄,我的目錄是:D:\Program Files\Apache Software Foundation\Apache2.2\modules
(3)修改配置文件 httpd.conf
我的httpd.conf文件在 D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 中,用記事本打開:
修改3個地方 :
①:#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
修改爲:
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_module modules/mod_dav.so
也就是去掉前面的 #號
②:然後在LoadModule節的最後添加以下兩行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
③:增加SVN配置節點:
<Location /svn>DAV svn
SVNPath C:/svn/test
# 指定版本庫服務器授權類型
AuthType Basic
# 指定版本庫服務器授權名稱
AuthName "Subversion repository"
# 指定用戶文件位置
AuthUserFile C:/svn/passwd
# 指定用戶權限配置文件位置
AuthzSVNAccessFile C:/svn/svnaccessfile
# 強調通過認證的用戶可以訪問
Require valid-user
# 指出可以使用*表示所有人(可以不是用戶文件中指定的用戶)
#Satisfy Any
</Location>
以上代碼添加在記事本最後就可以了 ,注意 版本庫test需要手動創建,passwd文件也需要創建,svnaccessfile也需要創建,下面會有介紹怎麼創建
修改完以上以後,保存,然後關閉,重啓apache服務器,注意,正常情況下apache服務器是可以啓動成功的,如果啓動不成功,說明這個配置文件你有修
改錯誤的地方,哪裏錯了,可以查看apache的日誌,apache的日誌,我的路徑是:
D:\Program Files\Apache Software Foundation\Apache2.2\logs\error.log
(4) 根據配置文件的路徑,創建passwd文件
下面,我們就來創建上面提到的passwd文件,你打開命令行(DOS窗口),將當前目錄切換到apache2目錄(通常爲D:\Program Files\Apache Group\Apache2,
或者是D:\Program Files\Apache Software Foundation\Apache2.2\),
然後打入以下命令以創建文件: bin\htpasswd -c passwd <username>
比如: bin\htpasswd -c c:\svn\passwd admin
命令分析:
c:\svn\passwd 表示會在:c:\svn目錄下創建一個passwd文件
admin 表示用戶名
此命令執行Apahce的bin目錄下的htpasswd.exe來創建一個密碼文件,創建完成之後,重啓Apache服務。如果你是需要創建用戶的話,-c不輸入即可,比如說:
htpasswd c:\svn\passwd zyq ,這樣就等於創建了一個新用戶zyq,如果是修改密碼,也是一樣,-d 是刪除用戶命令
(5)創建權限配置文件
這個也是相當的麻煩,在c:\svn目錄下創件svnaccessfile文件,然後打開進行配置,可以參照下面的示例:
# 爲所有庫指定默認訪問規則
# 所有人可以讀
[/]
* = rw
# 爲test版本庫制定權限
#admin組擁有讀寫權限
#user組只有讀取權限
[test:/svn/test]
* = rw
(6)創建版本庫 test
這個需要你安裝了TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi以後創建
具體方法很簡單,進入C:\svn這個目錄下,C:\svn是我在配置文件中指定的,你也可以自己定義。
右鍵TortoiseSVN->Create repository here 便建立了test版本庫
4:安裝TortoiseSVN
TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi 點擊以後直接安裝,很方便,安裝完以後會重啓電腦哦
安裝完TortoiseSVN,記得回到3-(6),創建版本庫
5:檢測SVN是否可用
在瀏覽器中輸入:http://127.0.0.1:81/svn/test/
然後注入賬號和密碼,如果可以訪問,就成功了,如果不能訪問,具體是哪個步驟錯了,可以訪問apache的日誌,路徑在apache的
安裝目錄下,我的路徑是:D:\Program Files\Apache Software Foundation\Apache2.2\logs\error.log
注意:svnaccessfile文件如果不能正常加載,可能是你語法錯誤,推薦用我上面寫的具有所有權限的代碼,適合新手
或者是 編碼格式不正確,請用ascii格式,記事本打開,另存爲,就能選擇格式保存了,祝你成功。SVN的具體用法,這裏就不做介紹了