1) 准备软件
SVN-1.46 :
http://subversion.tigris.org/files/documents/15/41077/svn-win32-1.4.6.zip
SVN-1.46-Py2.5 :
http://subversion.tigris.org/files/documents/15/41078/svn-win32-1.4.6_py25.zip
TortoiseSVN-1.4.6 (可选) :
http://jaist.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.4.6.11647-win32-svn-1.4.6.msi
TortoiseSVN-1.4.6-LangPack (可选):
http://jaist.dl.sourceforge.net/sourceforge/tortoisesvn/LanguagePack-1.4.6.11647-win32-zh_CN.exe
Apache-2.2.6 :
http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.2.6-win32-x86-no_ssl.msi
Python-2.5 :
http://www.python.org/ftp/python/2.5/python-2.5.msi
Mod_Python-3.3.1-py2.5-Apache2.2 :
http://apache.mirror.phpchina.com/httpd/modpython/win/3.3.1/mod_python-3.3.1.win32-py2.5-Apache2.2.exe
SetupTools-0.6c7
http://peak.telecommunity.com/dist/ez_setup.py
PySqlite-2.4.0-py2.5 :
http://initd.org/pub/software/pysqlite/releases/2.4/2.4.0/pysqlite-2.4.0.win32-py2.5.exe
http://files.cnblogs.com/zealic/pysqlite-2.4.0.win32-py2.5.rar
Trac-0.11b :
http://ftp.edgewall.com/pub/trac/Trac-0.11b1.zip
Genshi-0.4.4-py2.5 :
http://ftp.edgewall.com/pub/genshi/Genshi-0.4.4-py2.5.egg
以上大多软件都有明确的依赖关系,切忌使用最新版本,比如 Mod_Python 依赖 Python-2.5,哪怕是 Python-2.5.1 都不支持。
将以上所有软件下载到 D:/Setup
2) 配置环境
2.1) 安装基本环境
首先安装 Python-2.5,这里假设安装到 D:/Python
安装 Apache-2.5.6,这里假设安装到 D:/Apache
安装 Mod_python。
2.2) 配置环境
在 httpd.conf 末尾加入以下代码:
Alias /hi/ "D:/Apache/htdocs/py_scripts/"
< Directory "D:/Apache/htdocs/py_scripts/" >
AddHandler mod_python .phtm
PythonHandler test
PythonDebug On
</ Directory >
创建一个文件 test.py 到 Apache 的 ./htdocs/py_scripts 目录中
[test.py ]
def handler(req):
req.content_type = ' text/plain '
req.write( " Hello World! " )
return apache.OK
2.3) 测试
启动 Apache 服务。
访问 http://127.0.0.1:8080/hi/hello.phtm 测试,出现 "Hello World!" 代表成功。
2.4) 安装 pysqlite
执行 pysqlite-2.4.0.win32-py2.5.exe 以自动安装 pysqlite。
3) 安装 Subversion
这里假设 Subversion 安装到 D:/Subversion
3.1) 安装 Subversion service
安装 Subversion 服务,请参考我的 用 BAT 注册 Subversion 服务 以简化安装步骤。
3.2) 安装 Python binding for Subversion
解压 svn-win32-1.4.6_py25.zip ,将 svn 目录和 libsvn 目录复制到 D:/Python/Lib
修改 libsvn 目录下的 "_*.dll " 文件为 "_*.pyd "
3.3) 与 Apache 整合
a) 装载模块
复制 D:/Subversion/bin 目录下的以下文件复制到目录 D:/Apache/dlls
- intl3_svn.dll
- libdb44.dll
- ssleay32.dll
- libeay32.dll
- mod_authz_svn.so
- mod_dav_svn.so
b) 配置 Apache
在 httpd.conf 末尾加入以下代码:
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module dlls/mod_dav_svn.so
LoadModule authz_svn_module dlls/mod_authz_svn.so
< Location /svn >
DAV svn
SVNParentPath "G:/ALM/VersionRepository"
</ Location >
# libsvn 依赖下面的两个 dll,如若不导入,则会造成 trac 无法进行 Browser source
LoadFile "./dlls/ssleay32.dll"
LoadFile "./dlls/libeay32.dll"
3.4) 测试
关闭 Apache 服务,并重启。
确保你的 Svn 仓库中存在 MyRepos。
访问 http://127.0.0.1:8080/svn/MyRepos 。
出现 Subversion 你的 MyRepos 仓库的目录结构则代表成功。
4) 安装 Trac
4.1) 安装 Trac
a) 直接执行 ez_setup.py 以安装 Python SetupTools。
b) 解压 Trac 到 D:/Setup/Trac-0.11b1
安装 Trac 依赖包 Genshi-0.4.4-py2.5.egg
c) 安装 Trac
d) 初始化 trac 仓库
按照命令提示进行 test 的配置。
4.2) 与 Apache 整合
在 Apache 中添加以下代码
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv D:/ALM/trac/test
SetEnv PYTHON_EGG_CACHE /tmp
PythonOption TracUriRoot /trac
AuthType None
</ Location >
4.3) 测试
打开 http://127.0.0.1:8080/trac/browser ,检查是否显示 SVN 的目录树。
出现则代表成功。
5) 安装 TortoiseSVN (可选)
安装 TSVN 及其语言包。