设为首页 收藏本站
查看: 907|回复: 0

[经验分享] 在Python 2.5 下安装Trac 0.12项目管理系统

[复制链接]

尚未签到

发表于 2017-5-6 12:27:37 | 显示全部楼层 |阅读模式
  这里我们要构建一个基于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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373813-1-1.html 上篇帖子: 包服务器Python 中的POST/GET包构建以及随机字符串的生成。Python 初级应用 下篇帖子: Eclipse中调试Python代码--调试FWTools2.4.7中的gdal_retile.py
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表