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