在windows环境下配置svn+apache+php+svnmanager
原文来自:http://marshal.iteye.com/blog/153131和http://marshal.iteye.com/blog/147139
为了方便自己的记忆,做了整理。在此感谢marshal。
1、准备工作:
首先下载需要的安装文件:我使用的是svn-1.4.6,apache_2.2.9,php-5.2.6,mysql-5.1.25和svnmanager-1.03。
svn,apache,php,mysql都是安装版。
注意svn对应的apache的编译版本。
操作系统是windows xp with sp3。
2、开始安装apache和svn:
安装apache:
安装apache_2.2.9,基本上一路NEXT就可以了,中间需要填写一下Network domain,Server name和Email address。需要选择一下端口,建议选择80就好了,后面也可以修改的。安装完毕后,apache会自动启动服务,在浏览里输入http://localhost/,看到:
It works!
字样,说明安装成功。
安装svn:
安装svn-1.4.6,也是一路NEXT搞定,呵呵。安装过程中如果系统中已经存在apache,会提示是否要集成到apache,如果没有提示也不要紧,以后也可以手工集成。
svn安装完毕以后,在命令行输入:
svn --version
如果看到
svn,版本 1.4.6 (r28521)
编译于 Dec 20 2007,16:19:22
版权所有 (C) 2000-2007 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
可使用以下的版本库访问模块:
* ra_dav : 通过 WebDAV(DeltaV) 协议访问版本库的模块。
写道
htpasswd -c d:/svn/svnpasswd svnadmin
- 处理“http”方案
- 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
则表示安装成功。
现在可以创建一个svn仓库,在命令行进入d:/svn,输入:
svnadmin create documents
便可以在d:/svn下创建一个名为documents的svn仓库。
把svn手工集成到apache:
首先将svn安装目录下bin目录下的mod_authz_svn.so和mod_dav_svn.so两个文件复制到apache安装目录下的modules目录中。
然后编辑apache安装目录下conf目录中的httpd.conf文件,找到
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
将前面的#去掉
在上述内容后加入:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
接着在配置文件的最后加上
<Location /svn>
DAV svn
SVNParentPath d:/svn
AuthType Basic
AuthName "Subversion Reporsitory"
AuthUserFile "d:/svn/svnpasswd"
AuthzSVNAccessFile "d:/svn/svnauthz"
Require valid-user
</Location>
创建svn用户:
在命令行进入apache安装目录下的bin目录,输入:
htpasswd -c d:/svn/svnpasswd svnadmin
创建名为svnadmin的用户。
在d:/svn目录下新建svnauthz文件,设置用户访问权限。内容如下:
[/]
svnadmin = rw
表示从“/”目录开始,svnadmin拥有读写权限。
保存文件后,重新启动apache。通过浏览器访问http://localhost/svn/documents,如果出现验证窗口表示配置成功。
3、配置svnmanager:
安装PHP环境:
安装过程中选择安装全部组件,在要集成的web容器选择apache2.2,其它的依然一路next。
修改php安装目录下的php.ini文件修改display_errors选项:
display_errors = On
允许显示错误报告。
同时保留以下extension外,其它extension全部注释:
php_gd2.dll
php_mbstring.dll
php_mysql.dll
php_mysqli.dll
php_pdo.dll
php_pdo_mysql.dll
修改apache安装目录下conf下的httpd.conf文件中的DirectoryIndex选项,添加index.php:
DirectoryIndex index.html index.php
在apache安装目录下的htdocs中新建test.php,内容如下:
<?php
echo "Hello";
?>
保存后访问http://localhost/test.php,如果看到Hello字样,表示配置成功。
安装mysql:
继续next。
安装完成后在MySql中创建svnmanager数据库:
create database svnmanager;
部署svnmanager:
将svnmanager解压到apache安装目录下htdocs的svnmanager中。
将config.php.win改名为config.php,修改其中内容:
//用户密码创建命令
$htpassword_cmd = "D:\\ApacheSoftwareFoundation\\Apache2.2\\bin\\htpasswd";
//svn命令
$svn_cmd = "D:\\Subversion\\bin\\svn";
//svn管理命令
$svnadmin_cmd = "D:\\Subversion\\bin\\svnadmin";
//svn库位置
$svn_repos_loc = "D:\\svn";
//svn用户密码文件
$svn_passwd_file = "D:\\svn\\svnpasswd";
//svn用户权限文件
$svn_access_file = "D:\\svn\\svnauthz";
//mysql
$dsn = "mysql://username:password@localhost/svnmanager";
注意:如果你的路径中有空格请用缩写方式。
保存文件,通过浏览器访问http://localhost/svnmanager/。
第一次访问页面会提示正在创建需要的数据库表,刷新页面会出现登录页面,默认用户名和密码都是admin。
登录后创建一个管理用户,记住把admin选项选上。
用户创建成功以后退出登录,用刚才创建的用户登录,这时默认的admin已经失效。
再次登录以后就可以通过左侧的菜单管理用户,组,和svn库了。
svnmanager也有汉化包,请见http://bbs.iusesvn.com/viewthread.php?tid=2122
页:
[1]