`
xinlanzero
  • 浏览: 246591 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

在Python 2.5 下安装Trac 0.12项目管理系统

阅读更多

这里我们要构建一个基于Trac的项目管理系统。

 

代码管理使用Subversion,项目管理使用Trac 0.12,数据库使用MySQL,Python解释器使用Python 2.5。

所需要的软件包如下:

 Trac 0.12,Trac程序< http://trac.edgewall.org/wiki/TracDownload >
 Apache 2.2.16,Web服务器< http://httpd.apache.org/download.cgi >
 Subversion 1.6.13,代码版本管理工具< http://sourceforge.net/projects/win32svn/ >
 Python 2.5,Python解释器< http://www.python.org/ >
 mod_python-3.3.1.win32-py2.5-Apache2.2,Python的Apache模块
 svn-win32-1.6.13_py.zip,Python的Subversion binding

 setuptools(ez_setup.py),Python的包构建和发布工具
 Genshi-0.6(Genshi-0.6.win32.exe),基于 Python 的模板引擎
 Babel-0.9.5,基于 Python 的语言支持插件

 MySQL 5.1.51,数据库服务器< http://www.mysql.com/ >
 MySQL-python-1.2.2.win32-py2.5,Python访问MySQL数据库的模块

 

另外,虽然Trac支持SQLite,但SQLite支持的SQL语法有限,实际应用中会有诸多不便,因此我们选择了MySQL作为后台数据库。

 

安装错误时怎么办?
如果你安装过程中发现某些地方不正常,记住按照下面的方法来纠正:

1.查看错误信息,看是否能找到提示
2.检查有无忘了装的软件
3.检查httpd.conf是否有误
4.修改之后记得重新启动Apache

 

一、安装Apache和subversion

在Apache官方网站上下载2.2.16版的msi安装包,执行即可。安装完毕后用浏览器访问 http://localhost/ ,如能看到Apache的起始页面即安装成功。
Apache2.2默认安装在C:\Program Files\Apache Software Foundation\Apache2.2目录下。

从Subversion上下载Setup-Subversion-1.6.13.msi,执行即可。
Subversion默认安装在C:\Program Files\Subversion目录下。

然后将Subversion与Apache集成在一起(也可参考这篇文章)。
将 C:\Program Files\Subversion\bin 下的下列文件复制到 C:\Program Files\Apache Software Foundation\Apache2.2\modules 目录下:

 mod_authz_svn.so
 mod_dav_svn.so

然后建立代码仓库目录 C:\SVNROOT。

然后修改 C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf,查找下面这一行,去掉前面的 # 号。

LoadModule dav_module modules/mod_dav.so

然后在其附近添加以下这一行:

LoadModule dav_svn_module modules/mod_dav_svn.so

之后在 httpd.conf 的末尾添加以下内容:

<Location /repos>
    DAV svn
    SVNParentPath "C:/SVNROOT"
</Location>

然后重新启动Apache。

在 httpd.conf 的末尾添加以下内容:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

<Location /balancer>
  SetHandler balancer-manager
  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1
</Location>

然后重新启动Apache。

之后试着访问 http://localhost/balancer,你会看到下方的内容如下:

Server Version: Apache/2.2.16 (Win32) DAV/2 SVN/1.6.13

如果这里显示了 SVN/1.6.13 ,则说明安装成功。

 

二、安装Python、mod_python和SVN binding

从Python官方网站下载Python 2.5的msi安装包进行安装,假设安装到C:\Python25目录下。

从mod_python的下载页面 上下载mod_python 3.3.1的Win32版(mod_python-3.3.1.win32-py2.5-Apache2.2.exe)。

安装时它会问你Apache的安装位置,输入C:\Program Files\Apache Software Foundation\Apache2.2即可。

最后打开 C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf,查找 LoadModule,加入下面这一行:

LoadModule python_module modules/mod_python.so

然后重新启动Apache。

之后试着访问 http://localhost/balancer,你会看到下方的内容如下:

Server Version: Apache/2.2.16 (Win32) DAV/2 SVN/1.6.13 mod_python/3.3.1 Python/2.5

如果这里显示了 mod_python/3.3.1 Python/2.5 则说明安装成功。

最后要安装Subversion binding使Python支持Subversion。到刚才下载Subversion的地方 下载 svn-win32-1.6.13_py.zip 文件并安装。安装前请看README.txt。

 

Python 2.5以上的用户请注意:
从 Python 2.5+ 将不再使用 .dll 扩展名的方式加载模块,你必须手动将目录 libsvn下所有*.dll文件(libsvn/*.dll)重新命名为 .pyd的扩展名。请不要改变文件 libsvn_swig_py-1.dll的文件名。
目录 libsvn 和 svn 应该被解压缩到 C:\Python25\Lib\site-packages directory 目录下。

 

请到 http://peak.telecommunity.com/DevCenter/setuptools 下载 ez_setup.py 并安装 setuptools:

安装命令:ez_setup.py setuptools==dev

请到 http://genshi.edgewall.org/wiki/Download下载 Genshi-0.6.win32.exe 并安装Genshi-0.6:

 

三、安装MySQL和MySQLdb

到MySQL官方主页下载最新版5.1.51(mysql-5.1.51-win32.msi)并安装。请在安装MySQL前仔细阅读http://trac.edgewall.org/wiki/MySqlDb

1、创建数据库,然后授权用户名、密码。
mysql> CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.02 sec)

mysql> GRANT ALL ON trac.* TO tracuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

MySQL的数据库连接字符串如下:

mysql://tracuser:password@localhost/trac

2、Trac 数据库必须配置成 utf8 character set 和 utf8_bin collation type。安装完Trac以后,检查方法如下:
mysql> USE trac;
Database changed
mysql> SHOW VARIABLES WHERE variable_name IN ('character_set_database', 'collation_database');
+------------------------+----------+
| Variable_name          | Value    |
+------------------------+----------+
| character_set_database | utf8     |
| collation_database     | utf8_bin |
+------------------------+----------+
2 rows in set (0.01 sec)

mysql> SHOW FULL COLUMNS FROM 'node_change';
+-------------+-------------+-----------+-
| Field       | Type        | Collation |
+-------------+-------------+-----------+-
| rev         | varchar(64) | utf8_bin  |
| path        | text        | utf8_bin  |
| node_type   | varchar(32) | utf8_bin  |
| change_type | varchar(32) | utf8_bin  |
| base_path   | text        | utf8_bin  |
| base_rev    | varchar(64) | utf8_bin  |
+-------------+-------------+-----------+-
6 rows in set (0.00 sec) 

3、除此以外所有表必须是 InnoDB 或 NDB 类型,因为 Trac 使用的事务机制不支持 MyISAM 类型的表。

为了让Python支持MySQL,我们还需要安装MySQL-python-1.2.2.win32-py2.5模块。到http://sourceforge.net/projects/mysql-python/下载1.2.2版并安装。

安装结束之后,确定 C:\Python25\Lib\site-packages\MySQLdb 目录存在。

 

四、安装Trac
在安装Trac以前,为了让Trac显示中文,请到 http://babel.edgewall.org/ 下载 Babel-0.9.5.win32.exe 并安装Babel。

最后终于轮到主角Trac出场了。在Trac下载页面上下载 Trac安装程序(Trac-0.12.win32.exe)并安装。

然后建立项目目录 C:\Projects。

然后打开 C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf,在最末尾添加以下内容:

<Location /projects>
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnvParentDir C:/Projects
    PythonOption TracUriRoot /projects
</Location>

然后重新启动Apache,访问 http://localhost/projects/,你会看到Available Projects字样,则说明安装成功。至此安装全部完毕。

 

五、建立项目

下面我们要建立一个实际开发中使用的项目。我们为这个项目命名为 hello。

首先要建立一个代码仓库。打开命令行,输入以下命令:

C:
cd C:\SVNROOT
md hello
cd hello
svnadmin create .

注意最后空格后有个符号“.”

然后打开浏览器,访问 http://localhost/repos/hello/ 。如果你上面的设置都正确,你将会看到下面的内容:

hello - Revision 0: /
----------------------------------------------
即说明代码仓库建立成功,而 http://localhost/repos/hello/ 就是代码仓库的 URL。

然后建立数据库。从开始菜单中启动MySQL的 MySQL Command Line Client工具,新建一个数据库 trac,注意将字符编码设置为UTF8。

然后建立Trac项目。打开命令行,输入以下命令:

C:
cd C:\Projects
C:\Python25\Scripts\trac-admin hello initenv

trac-admin 为Trac的管理工具,hello为项目名,initenv命令指示Trac新建一个项目。然后按照下面的内容输入:

Project Name [My Project]> Hello World
Database connection string [sqlite:db/trac.db]> mysql://<username>:<password>@localhost/trac

数据库连接那一行,<username>和<password>分别为安装MySQL时设置的用户名和密码。如果创建失败,则需要删除 C:\Projects\hello 之后再重试。
mysql://tracuser:password@localhost/trac

最后提示
Congratulations!
表示你安装成功了。

打开浏览器,访问 http://localhost/projects/hello 即可看到Trac的界面了。

 

六、设置HTTP认证
在Trac界面右上方有个Login菜单,通过这个菜单登录之后,创建bug或者做其他修改时就不用每次都输入用户名。不过这个菜单需要单独配置才能正常工作。

首先我们要生成密码文件。打开命令行,输入以下命令:

C:
cd C:\Projects
"C:\Program Files\Apache Software Foundation\Apache2.2\bin\htpasswd" -c trac.htpasswd admin
Automatically using MD5 format.
New password: *****
Re-type new password: *****
Adding password for user admin
即可生成密码文件 htpasswd。

以后向该密码文件里追加用户只需这样即可。
"C:\Program Files\Apache Software Foundation\Apache2.2\bin\htpasswd" trac.htpasswd user

然后编辑 httpd.conf,在最末尾加入以下内容:

<LocationMatch "/projects/[^/]+/login">
    AuthType Basic
    AuthName "Trac"
    AuthUserFile C:/Projects/trac.htpasswd
    Require valid-user
</LocationMatch>

然后重新启动Apache。

为了访问“管理”(Admin)标签,必须对用户admin赋予TRAC_ADMIN权限。打开命令行,输入以下命令:
C:
cd C:\Projects
C:\Python25\Scripts\trac-admin hello permission add admin TRAC_ADMIN

至此我们基于Trac的项目管理系统就安装完成了。

 

下一篇将讲述Trac常用插件的使用。

 

附件是文中提到的插件安装文件。

Apache 2.2.16,Subversion-1.6.13,Python-2.5,MySQL-5.1.51,Trac-0.12请到官方网站去下载。

 

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics