附: the requested operation has failed 錯誤解決方案
附: Could not open the requested SVN filesystem 錯誤的解決方案
附 : authentication failure 和 Password Mismatch 的解決方案1.下載文件 注意: 客戶端要和服務端版本一致 tortoisesvn 是客戶端程序 需要 下載並安裝即可 下載地址: http://sourceforge.net/projects/tortoisesvn/files/?source=navbar 英文不好的可以下載一個客戶端的中文插件,必須在安裝好客戶端安裝 下載地址: http://downloads.sourceforge.net/tortoisesvn/LanguagePack_1.8.1.24570-win32-zh_CN.msi?download subversion 是 SVN 服務端 是一個壓縮包 本篇主要介紹這個壓縮包的配置 下載地址: http://jaist.dl.sourceforge.net/project/win32svn/ 2. 客戶端 服務端 apache 的版本選擇 (重要) 本篇的所有程序版本:
系統: win7-32bit
tortoisesvn: 1.8.0 subversion: 1.8.0
apache: 2.4.4 (wamp) wamp 下載地址: http://www.wampserver.com/en/客戶端和服務端一定要版本匹配,上面已經說過. 最重要的就是 服務端要和 apache 相匹配 不然你的apache 是無法啟動的 可以在下載的 subversion 裡的 README.txt 查看和什麼版本的服務器匹配 1: #svn 系統模塊
2: LoadModule dav_module modules/mod_dav.so
3: LoadModule dav_fs_module modules/mod_dav_fs.so
4: #svn 自身模塊
5: LoadModule dav_svn_module modules/mod_dav_svn.so
6: LoadModule authz_svn_module modules/mod_authz_svn.so
<2. 設置apache 和 SVN 的調用關系
1: <Location /svn>
2: DAV svn
3: SVNParentPath "D:/www/depot"
4: </Location>
第三行 設置的是SVN 倉庫的位置 depot 是父目錄,
可以在裡面設置子目錄, 這只是我的倉庫位置,可以根據 需要自行設置
<3. 重啟系統 附: the requested operation has failed 錯誤解決方案
如果重啟系統後, wamp 無法啟動 查看apache 的 日志文件 apache_error.log
最後一行 提示 the requested operation has failed
出現這種問題請檢查如下幾個方面 :
(1. 檢查服務端 是否支持 apache 版本
(2. 檢查是否引入了SVN 的 模塊到 apache 的 modules 文件夾
(3. 檢查是否正確的修改了環境變量
(3.檢查所修改的 apache 配置文件 是否存在語法或者輸入錯誤
(4. 檢查 是否缺少 VSN 的依賴運行環境 可以安裝微軟的 VC6 和 VC9 支持庫 下載地址: http://www.baidu.com/
(5.如果以上都操作正確 問題還沒有解決,請重啟電腦 ,如果重啟也沒有解決
可以在 cmd 中 輸入以下命令 查看apache 報錯的 配置所在的行,定位檢查錯誤
httpd.exe -w -n "wampapache" -k start
wampapache 是指 apache 在系統中的服務的名稱,不同的電腦可能會有不同的名稱,可以在服務列表中查看
7.創建倉庫
cmd 命令行 執行 : vsnadmin create d:/www/depot/maliro
depot 是我的倉庫 父目錄
maliro 是我倉庫下的子倉庫
vsnadmin 的所有命令 可以 用 vsnadmin help 查看是
創建好的倉庫:
<1. 在浏覽器輸入 localhost/vsn/maliro maliro是 子倉庫名
需要注意的是 我這裡 已經將 localhost 的 訪問目錄 指向了我所創建的 D:\www 目錄, 具體情在 apache 配置文件裡面修改配置項
2: DAV svn
3: SVNParentPath D:/www/depot
4:
5: AuthZSVNAccessFile "D:\www\depot\authz"
6: AuthUserFile "D:\www\depot\passwd"
7:
8: Satisfy Any
9: Require valid-user
10:
11: AuthType Basic
12: AuthName " Welcome to my SVN , But you need input password! (-: "
13: </Location>將以前的配置 修改成以上代碼 第五行 設置權限配置 文件的位置 第六行 設置密碼文件的 存放位置 一般都是 存放在 倉庫的父目錄下 <2. 添加用戶 在設置的存放權限配置的目錄中 創建文件 authz 並鍵入以下信息
1: [maliro:/]
2: maliro = rwmaliro:/ //表示設置的用戶作用於該子倉庫 maliro = rw //用鍵值對的形式設置用戶和用戶的權限 r --> 讀操作 w –> 寫操作 <2.設置明文密碼 在指定目錄創建文件 passwd 並鍵入以下信息 maliro:111 // 鍵值對形式設置 maliro的密碼為 111 <3.設置加密密碼 在cmd 命令行 輸入命令:
1: htapache -cmb d:/www/depo/passwd maliro 111創建一個經過md5 方式加密的用戶密碼 注: 命令裡的 c 參數是用來創建文件 同時創建加密用戶密碼 會覆蓋以前的passwd 文件 最好的使用方式是指定 -mb 參數 也可以這樣創建密碼:
1: htapache -b d:/www/depot/passwd maliro創建一個經過 hash 方式 加密的用戶密碼 <4. 附 : authentication failure 和 Password Mismatch 的解決方案 如果訪問svn 服務器的時候 不停地讓你輸入密碼, 那麼查看 apache_error.log 你會發現有這樣一句話 字面意思是沒有權限或者口令不正確, 分析原因: 口令不正確肯定是存在一個用戶,用戶的密碼不匹配. 解決: (1. 檢查密碼文件是否存在,並且創建了指定用戶的密碼 (2. 檢查apache的配置文件中的 VSN 配置密碼文件路徑是否正確 (3. 用命令行創建用戶的時候是否用了這樣的指令 : 錯誤1 : htapache –c xxxxxxxx maliro 錯誤2 : htapache xxxxxxxx maliro 可能是因為版本問題,在SVN的高級版本中 用這樣的指令創建的加密用戶密碼 是不能被正確解密匹配的 具體情參考 指令 htapache help <本章結束 .> 如有疑問或指正請留言 或 email : [email protected]