Win32 Apache2.2.x 上建置SVN服務

Apache官網:http://httpd.apache.org/
文中使用Apache版本:http://archive.apache.org/dist/httpd/binaries/win32/apache_2.2.10-win32-x86-no_ssl.msi
SVN官網:http://subversion.tigris.org/
文中使用SVN版本:http://subversion.tigris.org/files/documents/15/44589/svn-win32-1.5.5.zip
1.Apache2安裝及設定
(使用下一步安裝法…略),開啟防火牆80埠
本人是將Apache安裝於C:\Apache2.2 \bin\httpd.exe
新增 C:\Apache2.2 \bin 到環境變數PATH
svn-win32-1.5.5.zip 解壓縮到 C:\svn-win32-1.5.5 資料夾
新增 C:\svn-win32-1.5.5\bin 到環境變數 PATH
為了讓環境變數 PATH 生效,強烈建議您重新開機
Stop Apache,將 Apache 服務停止
複製 C:\svn-win32-1.5.5\b in\mod_dav_svn.so 及 C:\svn-win32-1.5.5\bin\mod_authz_svn.so
將兩檔案貼至C:\Apache2.2\modules
開啟 C:\Apache2.2\conf\httpd.conf
移除 #LoadModule dav_fs_module modules/mod_dav_fs.so 開頭的#
移除 #LoadModule dav_module modules/mod_dav.so 開頭的#
httpd.conf 的尾端加入

#修改/WEB-INF/及/META-INF/,配合tomcat目錄權限,
#要瀏覽這兩個目錄時,至少要通過基本Apache的帳號認證
<locationmatch>
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all  
  Order deny,allow
  Deny from all
</locationmatch>
<locationmatch>
  AllowOverride None AuthConfig
  Order allow,deny
  Allow from all  
  Order deny,allow
  Deny from all
</locationmatch>

# 添加 SVN 的模組
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

#http://localhost/svn的目錄設定
<location svn="svn">
  DAV svn

  #SVN實體磁碟路徑
  SVNPath C:/svn-win32-1.5.5/svn
  AuthType Basic
  AuthName "Subversion repository"

  #使用者權限設定檔
  AuthzSVNAccessFile C:/svn-win32-1.5.5/auth

  #使用者密碼檔
  AuthUserFile C:/svn-win32-1.5.5/pwd
  Require valid-user
</location>

httpd.conf 存檔
2.權限設定說明
目前有3個帳號,admin_user是總管理者,user_a、user_b都是一般使用 者,http://localhost/svn/project_1可讓一般使用者讀寫,http://localhost/svn/project_2 只可讓一般使用者讀,但不可以寫入
開啟命令提示字元cmd.exe
輸入:svnadmin.exe create C:\svn-win32-1.5.5\svn ,並按 Enter 鍵送出
建立新的純文字文件 C:\svn-win32-1.5.5\auth
注意:auth 是一個無副檔名的純文字檔而非一個目錄

於auth內輸入:

[groups]
admins = admin_user
users = user_a,user_b

[svn:/]
* = r
@admins = rw

[svn:/project_1]
@admins = rw
@users = rw
[svn:/project_2]
@admins = rw
@users = r

auth 存檔
3.使用者的密碼設定
在命令提示字元內
  • 輸入 htpasswd.exe -c C:\svn-win32-1.5.5\pwd admin_userEnter 鍵送出,會提示設定 admin_user 的密碼兩次,-c 代表初始建立密碼檔案
  • 輸入 htpasswd.exe C:\svn-win32-1.5.5\pwd user_aEnter 鍵送出,一樣會提示設定 user_a 的密碼兩次
  • 輸入 htpasswd.exe C:\svn-win32-1.5.5\pwd user_bEnter 鍵送出,一樣會提示設定 user_b 的密碼兩次
4.啟動 Apache
5.建立SVN內的目錄
在命令提示字元內
  • 輸入 svn.exe mkdir -m “project_1″ http://localhost/svn/project_1Enter 鍵送出
  • 輸入 svn.exe mkdir -m “project_2″ http://localhost/svn/project_2Enter 鍵送出
  • 輸入 svn.exe list http://localhost/svnEnter 鍵送出,查看目錄是否建立
6.最後測試
開啟瀏覽器,輸入網址 http://localhost/svnEnter 鍵送出
輸入 admin_user 的帳號密碼
設定Apache2.2+SVN1.5.5成功的畫面
album_photo_9639_031941.jpg

留言