Trac的安装参见官网文档:
http://trac.edgewall.org/wiki/TracInstall 一、安装Trac的前提条件:
1)Python, version>=2.4 and < 3.0
2) setuptools, version >=0.6
3) Genshi, version>=0.6
二、检查和安装前提条件
1)python 及setuptools,Genshi
#yum -y install python
#yum -y install python-setuptools.noarch
#yum -y install python-devel
#yum list installed |grep python
python.x86_64 2.7.5-86.el7
python-devel.x86_64 2.7.5-86.el7
python-setuptools.noarch 0.9.8-7.el7
【注:安装完python-setuptools之后,就可以方便的使用easy_install命令安装python相关软件库了】
安装 genshi
#easy_install genshi
`
2)安装MySQL数据库
#yum install mariadb-libs mariadb mariadb-devel mariadb-server MySQL-python -y
#systemctl start mariadb
# mysql
MariaDB [(none)]>CREATE DATABASE trac_xe DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
MariaDB [(none)]>GRANT ALL ON trac_xe.* TO tracuser@'localhost' IDENTIFIED BY 'tracuser';
MariaDB [(none)]>GRANT ALL ON trac_xe.* TO tracuser@'127.0.0.1' IDENTIFIED BY 'tracuser';
MariaDB [(none)]>FLUSH PRIVILEGES;
注:上面的数据库名称和用户名可自行定义。
三、安装Trac
#easy_install Babel==0.9.6
#easy_install docutils==0.3.9
#easy_install pytz
#easy_install Trac==1.2 #注意:如果不带版本号,会有兼容性问题,会默认下载最新稳定版
出现以下情况,可以换手机流量试一下
四、创建trac项目的空间
#mkdir -p /var/www/trac/
#trac-admin /var/www/trac/lube initenv
Project Name [My Project]> lube #项目名称随便写,例如我写的是lube
Database connection string [sqlite:db/trac.db]>mysql://tracuser:tracuser@localhost/trac_xe
接着输入数据库连接这里的用户名和数据库是之前设置权限的用户名密码
五、配置admin账号登录
1)、安装apache访问
#yum -y install httpd systemctl restart httpd
2)配置admin账号登录
#htpasswd -c /var/www/trac/lube/passwd_lube admin
#路径为密码文件生成地址,我直接生成在项目中
#trac-admin /var/www/trac/lube permission add admin TRAC_ADMIN
#为项目添加admin到管理员组
六、基本环境搭建完毕,启动trac
#tracd -p 8080 -b xxx.xxx.xxx.xxx --basic-auth="*,/var/www/trac/lube/passwd_lube,lube" /var/www/trac/lube/ #ip地址:xxx.xxx.xxx.xxx
端口号自己定义,并且加上参数basic-auth指定加密文件启动
七、后台启动
保存后刷新页面后,显示更改,大家在启动的过程中有没有发现trac一直在前台启动,只要切换出去做别的事情或者关闭shell连接,trac就会中断,这里给大家分享一个让trac再后台启动的方法,如下:
#nohup tracd -p 8080 -b xxx.xxx.xxx.xxx /var/www/trac/lube/ &
八、重新项目:
将目录/var/www/trac/下的 lube删除;并且将数据库里的trac_xe数据库删除,最后执行
2)安装MySQL数据库;
四、创建trac项目的空间;
2)配置admin账号登录;
六、基本环境搭建完毕,启动trac
命令如下:
MariaDB [(none)]>CREATE DATABASE trac_xes DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
MariaDB [(none)]>GRANT ALL ON trac_xes.* TO tracuser@'localhost' IDENTIFIED BY 'tracuser';
MariaDB [(none)]>GRANT ALL ON trac_xes.* TO tracuser@'127.0.0.1' IDENTIFIED BY 'tracuser';
MariaDB [(none)]>FLUSH PRIVILEGES;
#htpasswd -c /var/www/trac/lube/passwd_lube admin
#路径为密码文件生成地址,我直接生成在项目中
#trac-admin /var/www/trac/lube permission add admin TRAC_ADMIN
#为项目添加admin到管理员组
#trac-admin /var/www/trac/trac_lube initenv
Project Name [My Project]>trac_lube #项目名称随便写,例如我写的是lube Database connection string [sqlite:db/trac.db]>mysql://tracuser:tracuser@localhost/trac_xes
#tracd -p 8080 -b xxx.xxx.xxx.xxx --basic-auth="*,/var/www/trac/lube/passwd_lube,lube" /var/www/trac/lube/
trac权限
要为用户启用所有特权,请使用TRAC_ADMIN权限。具有TRAC_ADMIN就像root在* NIX系统上一样:它将允许您执行任何操作。
否则,可以为Trac的各种不同功能区域分配用户特权(请注意,特权名称区分大小写):
仓库浏览器
BROWSER_VIEW 在资源库浏览器中查看目录列表
FILE_VIEW 在资源库浏览器中查看文件
CHANGESET_VIEW 查看资料库签到
LOG_VIEW 在资源库浏览器中查看文件和目录的修订日志
票务系统
TICKET_VIEW 查看现有故障单并执行故障单查询
TICKET_CREATE 创建新票
TICKET_APPEND 在票证中添加评论或附件
TICKET_CHGPROP 修改票证属性(优先级,分配,关键字等),但以下情况除外:编辑描述字段,登录后从抄送字段中添加/删除其他用户
TICKET_MODIFY 包括TICKET_APPEND和TICKET_CHGPROP,另外允许解决门票在默认工作流。当可能的所有者列表受到限制时,可以通过下拉列表将票证分配给用户。
TICKET_EDIT_CC 完全修改抄送字段
TICKET_EDIT_DESCRIPTION 修改描述字段
TICKET_EDIT_COMMENT 修改其他用户的评论。默认情况下,任何用户都可以修改自己的评论。
TICKET_BATCH_MODIFY 批量修改门票
TICKET_ADMIN 所有TICKET_*权限,票证附件的删除以及报告者字段的修改,这赋予了代表另一个用户创建票证的能力(似乎另一个用户创建了票证)。它还允许通过Web管理模块管理票证属性。
路线图
MILESTONE_VIEW 查看里程碑并将票证分配给该里程碑。
MILESTONE_CREATE 创建新的里程碑
MILESTONE_MODIFY 修改里程碑
MILESTONE_DELETE 删除里程碑
MILESTONE_ADMIN 所有MILESTONE_*权限
ROADMAP_VIEW 查看路线图页面,这还不是一样MILESTONE_VIEW,见#4292
ROADMAP_ADMIN 与被去除#3022,取而代之的MILESTONE_ADMIN
报告
REPORT_VIEW 查看报告,即查看票证链接。
REPORT_SQL_VIEW 查看报告的SQL查询
REPORT_CREATE 创建新报告
REPORT_MODIFY 修改报告
REPORT_DELETE 删除报告
REPORT_ADMIN 所有REPORT_*权限
Wiki系统
WIKI_VIEW 查看维基页面
WIKI_CREATE 创建新的维基页面
WIKI_MODIFY 修改维基页面
WIKI_RENAME 重命名维基页面
WIKI_DELETE 删除维基页面和附件
WIKI_ADMIN 所有WIKI_*权限,以及对只读页面的管理。
权限
PERMISSION_GRANT 添加/授予权限
PERMISSION_REVOKE 删除/撤销权限
PERMISSION_ADMIN 所有PERMISSION_*权限
其他
TIMELINE_VIEW 查看时间线页面
SEARCH_VIEW 查看和执行搜索查询
CONFIG_VIEW 启用关于About Trac的其他部分,以显示当前配置和已安装插件的列表
EMAIL_VIEW 即使trac show_email_addresses配置选项为false, 也显示电子邮件地址
授予权限
您可以使用trac-admin向用户授予特权。可以使用以下命令列出当前的特权集:
$ trac-admin /path/to/projenv permission list
此命令将允许用户bob删除报告:
$ trac-admin /path/to/projenv permission add bob REPORT_DELETE
该permission add命令还接受多个特权名称:
$ trac-admin /path/to/projenv permission add bob REPORT_DELETE WIKI_CREATE
或添加所有特权:
$ trac-admin /path/to/projenv permission add bob TRAC_ADMIN
权限组
有两个内置组,authenticated和匿名。任何尚未登录的用户将自动进入匿名组。任何已登录的用户也都在经过身份验证的组中。经过身份验证的组将从匿名组继承权限。例如,如果匿名组具有WIKI_MODIFY权限,则也不必将WIKI_MODIFY权限也添加到已验证的组。
可以定义自定义组,以从两个内置组继承权限。
权限可以组合在一起以形成诸如developer,admin等角色。
$ trac-admin /path/to/projenv permission add developer WIKI_ADMIN
$ trac-admin /path/to/projenv permission add developer REPORT_ADMIN
$ trac-admin /path/to/projenv permission add developer TICKET_MODIFY
$ trac-admin /path/to/projenv permission add bob developer
$ trac-admin /path/to/projenv permission add john developer
可以通过执行a来检查组成员身份permission list,而无需进一步的参数;结果输出将包括组成员身份。组名中至少要使用一个小写字符,因为所有大写名称都保留用于权限。
添加新组和权限
可以通过将用户分配给您要创建的组,然后将权限分配给该组来创建权限组。
以下内容将bob添加到名为beta_testers的新组中,然后将WIKI_ADMIN权限分配给该组。(因此,鲍勃将继承WIKI_ADMIN权限)
$ trac-admin /path/to/projenv permission add bob beta_testers
$ trac-admin /path/to/projenv permission add beta_testers WIKI_ADMIN
删除权限
可以使用“删除”命令删除权限。例如:
此命令将防止用户鲍勃删除报告:
$ trac-admin /path/to/projenv permission remove bob REPORT_DELETE
就像一样permission add,此命令接受多个特权名称。
您还可以删除特定用户的所有特权:
$ trac-admin /path/to/projenv permission remove bob ‘’
或为所有用户提供一种特权:
$ trac-admin / path / to / projenv权限删除’’ REPORT_ADMIN
创建新的权限
要创建自定义权限,在自定义的工作流中使用例如,启用可选的tracopt.perm.config_perm_provider.ExtraPermissionsProvider在“插件”管理面板组件,并添加所需的权限部分在trac.ini。有关更多信息,请在启用组件后参考TracIni页面上的文档。 [extra-permissions]
默认权限
默认情况下,在新的Trac安装中,匿名用户将具有对Trac中所有内容的查看权限,但将无法创建或修改任何内容。另一方面,经过身份验证的用户将具有创建和修改票证和Wiki页面的权限。
anonymous
BROWSER_VIEW
CHANGESET_VIEW
FILE_VIEW
LOG_VIEW
MILESTONE_VIEW
REPORT_SQL_VIEW
REPORT_VIEW
ROADMAP_VIEW
SEARCH_VIEW
TICKET_VIEW
TIMELINE_VIEW
WIKI_VIEW
authenticated
TICKET_CREATE
TICKET_MODIFY
WIKI_CREATE
WIKI_MODIFY
管理员可以通过浏览器进行权限的修改: