svn遠程修改密碼方法
一.a(chǎn)pache 的安裝和配置 . ..................................................................................
一.a(chǎn)pache 的安裝和配置 . ................................................................................................. - 2 -
二.ApachePasswd 說明 . .................................................................................................... - 7 -
三.a(chǎn)pache 利用外部網(wǎng)修改密碼應用 . ........................................................................... - 10 -
- 1 -
,一apache 的安裝和配置
1. 安裝Apache ,將本機配置成一個Apache 網(wǎng)站服務器,安裝完成后瀏覽 http://localhost/ 若成功,可看到apache 歡迎頁面。如圖

2. 運行subversion 安裝程序,并根據(jù)指導安裝,如果Subversion 認識到你安裝了Apache ,你就幾乎完成了工作,如果它沒有找到Apache 服務器,你還有額外的步驟。 從C:Program FilesSubversionbin 中將
mod_authz_svn.so
mod_dav_svn.so
這兩個文件復制到
C:Program FilesApache Software FoundationApache2.2modules下。 把C:Program FilesSubversionbin里面的所有dll 文件拷貝到C:Program FilesApache Software FoundationApache2.2bin里面 。 找到C:Program FilesApache Software FoundationApache2.2confhttpd.conf文件去掉如下幾行的注釋(刪除 '#'標記):
#LoadModule dav_fs_module modules/mod_dav_fs.so
- 2 -
,#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
注意:在別的網(wǎng)站上可能看到一些資料有的說全拷貝的時候不覆蓋以前apache2.2bin里面的dll ,有的說從Subversion 安裝目錄的 bin 子目錄將 intl3_svn.dll、libdb44.dll 、
mod_authz_svn.so、mod_dav_svn.so 拷貝到Apache 的模塊目錄,但是經(jīng)過我的實踐發(fā)現(xiàn)所有的dll 文件都應該拷貝并且覆蓋apachebin里面的dll 文件。
不能加載模塊的錯誤的原因應該就是沒有把dll 文件拷貝齊全,重啟動apache service 如果成功如下圖

在d:svn下建立版本庫,編輯apache 的配置文件 C:Program FilesApache Software FoundationApache2.2confhttpd.conf
DA V svn
#SVNListParentPath on
- 3 -
,SVNPath "d:svn" # 多庫的話應該寫成SVNParentPath ,我用的單庫所以應 該是SVNPath
AuthType Basic
AuthName "Subversion repositories"
#AuthUserFile "d:svnpasswd"
#AuthzSVNAccessFile "d:svn?cess.conf"
Require valid-user
重啟apache ,在ie 上輸入http ://localhost/svn 可以看到版本庫中的內(nèi)容。如圖

創(chuàng)建用戶進入dos 環(huán)境外,進入Apache 的bin 目錄——輸入cd C:Program FilesApache
Software FoundationApache2.2bin 回車,即進入Apache 的bin 目錄。
要注意的是,輸入的路徑要因你的Apache 安裝路徑變化。
輸入命令創(chuàng)建用戶名、密碼對應文件,假設我們創(chuàng)建的文件名passwd, 用戶名:chenxiao, 密
碼:123
如果首次創(chuàng)建用戶名
- 4 -
,輸入如下命令:htpasswd -c
htpasswd –c passwd chenxiao
此時系統(tǒng)提示:New password:
輸入你想要的密碼即可。
此后系統(tǒng)提示:Re-type new password,
重復一遍剛才輸入的密碼即可。
注:創(chuàng)建的命令格式:htpasswd –c
添加用戶的命令 htpasswd -m filename
刪除用戶的命令htpasswd -d
Passwd 文件自動生成于C:Program FilesApache Software FoundationApache2.2bin這個文件夾中。
有了用戶在此修改httpd.conf 的配置
DA V svn
SVNPath "d:svn"
#SVNIndexXSLT "/svnindex.xsl"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "d:svnpasswd" //注:該路徑為password 文件的路徑,根據(jù)實情修改即可 #AuthzSVNAccessFile "d:svn?cess.conf"
Require valid-user
這個是單庫做的,如果多庫的話就必須如下面所示:
DA V svn
SVNListParentPath on #這個跟單庫有區(qū)別
SVNParentPath "D:svnroot"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "D:svnrootpasswd"
- 5 -
,AuthzSVNAccessFile "D:svnroot?cess.conf"
Require valid-user
啟動ie 瀏覽http://localhost/svn要求輸入密碼 ,如下圖

自然有了用戶后, 就要進行一些限制, 比如誰可以訪問, 誰可以提交代碼等權限管理. 這時我們又要做一件事情. 用記事本編輯如下內(nèi)容:
[groups]
admin=yangliu
[/]
* = r
@admin=rw
[/chenxiao]
chenxiao=rw
@admin=r
[/wangxin]
- 6 -
,wangxin=rw
@admin=r
[/liushuijiang]
liushuijiang=rw
@admin=r
最后把配置文件httpd.cof 里的這一行: #AuthzSVNAccessFile "d:svn?cess.conf" “#AuthUserFile "d:svnpasswd"”注釋去掉。
現(xiàn)在可以開始使用apachepasswd 這個工具修改svn 用戶的密碼了。
二ApachePasswd 說明
這是一個用于修改Apache 中AuthUserFile 的工具,編寫時主要是為了遠程修改基于Apache 配置的Subversion 的用戶密碼。
目前提供for apache2.0版本及for apache2.2版本。
當Subversion 配置成作為Apache 的一個模塊運行時,在httpd.conf 中可能是類似這下面這樣的語句:
DAV svn
SVNPath d:svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile d:svnpasswd
AuthzSVNAccessFile d:svn?cess.conf
- 7 -
,Require valid-user
ApacehPasswd 就是用來修改上面配置中的C:SVN_repospasswd這個文件的
使用方法:
1將文件Apache2xPasswd.cgi 及Apache2xPasswd.cgi.ini 復制到Apache 的CGI 腳本目錄下,通常是cgi -bin目錄。(這句話中的x 請用相應的版本代替,如for apache2.0,則為Apache20Passwd.cgi)
2如果是for apache2.2版本,復制apache 的bin 目錄下libapr-1.dll 、libapriconv-1.dll 、libaprutil-1.dll(把所有的dll 文件都拷貝進去吧,) 到Apache2xPasswd.cgi 所在的目錄 3修改配置文件Apache2xPasswd.cgi.ini 中auth_user_file路徑,如下
[path]
auth_user_file=這里改為你的Subversion 所用的AuthUserFile 全路徑,如d:svnpasswd
4現(xiàn)在訪問你服務器的http://localhost/cgi-bin/Apache2xPasswd.cgi就可以看到修改subversion 密碼的界面了。如下圖
- 8 -
,備注:
1配置文件可用的配置項
[path]
auth_user_file=這里改為你的Subversion 所用的AuthUserFile 全路徑,如d:svnpasswd 日志文件名
log_file=svnpass.log
[setup]
password_min_length=1
[html]
title=修改SubVersion 密碼
description=修改SubVersion 密碼
your_name = 用戶名
old_password = 舊密碼
new_password1 = 新密碼
- 9 -

new_password2 = 驗證新密碼
btn_change = 修 改
btn_reset = 重 置
change_password_ok=成功修改密碼
change_password_failed=修改密碼失敗
old_password_error=舊密碼錯誤
server_error=服務器錯誤
password_must_greater=密碼位數(shù)必須大于
two_password_not_matched=兩密碼不一致
please_enter_name=請輸入用戶名
back=返回
2我一般用時都是將Apache2xPasswd.cgi 改名為svnpass, 這樣用戶修改密碼時可以少打些字, 如訪問http://localhost/cgi-bin/svnpass.cgi
就可以修改密碼了,
當改名為svnpass 時,配置文件Apache2xPasswd.cgi.ini 要相應地改為svnpass.ini ,因為這個腳本是根據(jù)自己的文件名找配置文件的
三apache 利用外部網(wǎng)修改密碼應用
在外部網(wǎng)上修改svn 密碼,注冊花生殼或者每步動態(tài)域名解析軟件,得到靜態(tài)域名chenxiao19851224.gicp.net 打開
- 10 -