apache 2.2.14 Subversion 1.6.6 php5.3.14 MySQL5.1 TortoiseSVN1.6
一:apache 配置 svn
1、安裝apache,測試通過
2、安裝subversion
3、將subversion安裝目錄bin下的mod_authz_svn.so、mod_dav_svn.so 拷貝到apache 的 modules目錄下
3、開啟apache設定檔 httpd.conf 找到 LoadModule 地區,將下面兩行前的 # 去掉:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
(這兩個模組最主要的作用就是能使我們從用戶端使用http://這樣的方式訪問SVN(版本控制器),
如果你沒載入這個服務,就不能以這種網路方式訪問SVN)
然後在LoadModule塊的末尾添加如下兩行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
(這兩個模組的意思是:我們在訪問SVN時對我們的口令進行驗證以及讓我們可以對SVN版本庫進行許可權的控制)
尋找 DirectoryIndex 在其後添加 index.php
4、安裝 tortoisesvn
5、利用 tortoisesvn 建立 repository 目錄為 D:/svn
5、運行命令 apache/bin/htpasswd.exe -c passwd <username> 在dos下按提示為版本庫設定訪問使用者,產生passwd檔案
6、編寫入權限控制檔案 svnauthz
內容如下:
[groups]
admin = admin,zhqingyun
image = luoj
text = wangh
[/]
@admin = rw
@image = r
@text = r
[/image]
@image = rw
[/text]
@text = rw
7、將passwd和avnauthz拷貝到 D:/svn/conf目錄下
8、修改apache設定檔 httpd.conf,在最後添加如下內容:
<Location /svn>
DAV svn
SVNPath "D:/svn"
AuthType Basic
AuthName "Subversion Reporsitory"
AuthUserFile "D:/svn/conf/passwd"
AuthzSVNAccessFile "D:/svn/conf/svnauthz"
Require valid-user
</Location>
(D:/svn 的意思是我所有的版本庫是在d:/svn下面
AuthType Basic代表採用Basic方式進行認證
認證的使用者名稱密碼檔案是 D:/svn/conf/passwd
我們怎麼控制哪個使用者哪個版本庫進行存取控制的呢,
又或者有哪些使用者是對所有版本庫進行控制的呢,所以我們就必須要有一個能控制使用者存取控制的檔案 svnauthz
AuthzSVNAccessFile 就是指明這個檔案的位置
)
9、重啟apache 通過passwd檔案中的使用者名稱和密碼訪問版本庫
10、目前是一個空的版本庫,利用tortoisesvn用戶端工具checkout,然後建立 image text等目錄,commit。
二:apache、PHP、Mysql整合
1、解壓縮 PHP
2、修改apache設定檔 httpd.conf 在 包含AddType 的塊中添加如下兩句:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
在LoadModule 區塊中後面 添加如下兩句:
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "c:/php"
3、在php安裝目錄下找到 php.ini-dist 重新命名為 php.ini,開啟
將 ;extension= php_mysql.dll 和 ;extension=php_mysqli.dll 前面的分好注釋去掉,讓php載入mysql
5、修改系統內容變數,在path後面添加 ;D:/php;D:/php/ext
6、重啟apache
三:一些錯誤排查
當apache不能正常啟動。提示the requested operation has failed時,可執行 運行 cmd 進入到apache的
bin目錄。輸入httpd.exe -w -n "Apache" -k start
apache會提示設定檔的具體那行出錯。找起來就方便多了。
註:命令裡的"Apache"是系統服務裡apache服務的名稱,換成自己的。
參考 http://www.qqread.com/php/n652282101.html