首页 > 代码库 > ubuntu14.04上Trac配置记录

ubuntu14.04上Trac配置记录

系统环境:ubuntu14.04 (并假设Apache2服务可以正常运行)

1. 安装软件:

sudo aptitude install trac python-mysqldb

2. 创建数据库
Trac可支持的数据库有:sqlite, postgresql及mysql等。默认的是sqlite,但这里选用的是mysql。

$ mysql -uroot -p  Enter password: ******  mysql> CREATE DATABASE $myproject DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;  mysql> show databases;  mysql> exit 

说明:Trac可以管理很多个项目,所以每个项目都需要创建自己的数据库。

 3. 创建Trac环境的根目录

sudo mkdir /var/www/trac 

因为Trac是需要与Apache2服务绑定的,所以一般放到/var/www下,当然了用户也可根据喜好随意设置位置。

4. 创建Trac项目

cd /var/www/tracsudo mkdir testsudo trac-admin test initenv  >>projectname: test  >>conn database: mysql://root:******@localhost/test

说明:数据库名称,项目名称最好都保持一致,免得容易混淆。这里的“Test” 即前面的 $myproject。

 然后更改权限:

sudo chown -R www-data:www-data tracsudo chmod -R g+rsw trac

5. 绑定Apache2服务

编辑配置文件:/etc/apache2/apache2.conf,在文件最后添加如下内容:

<Location "/trac">    SetHandler mod_python    PythonInterpreter main_interpreter    PythonHandler trac.web.modpython_frontend    PythonOption TracEnvParentDir /var/www/trac    PythonOption TracUriRoot /trac    AuthType Basic    AuthName "Trac"    AuthUserFile /etc/apache2/.svn_and_trac.htpasswd    Require valid-user</Location>

认证方式为“Basic”,密码文件位置/etc/apache2/.svn_and_trac.htpasswd

上面配置也可以写成:

<Location "/trac">    SetHandler mod_python    PythonInterpreter main_interpreter    PythonHandler trac.web.modpython_frontend    PythonOption TracEnvParentDir /var/www/trac    PythonOption TracUriRoot /trac</Location><LocationMatch "/trac/[^/]+/login">    AuthType Basic    AuthName "Trac"    AuthUserFile /etc/apache2/.svn_and_trac.htpasswd    Require valid-user</LocationMatch>

跟上面的区别是,第一种配置为强制登录认证,不允许匿名访问;第二种则不强制。

确认以下模块(都在/etc/apache2/mods-enabled目录下)都已经启动起来,可通过以下命令确认:

sudo a2enmod envsudo a2enmod auth_basicsudo a2enmod python

6. 创建密码文件

Apache2认证的方式按照级别递增的顺序可分为:Basic, Digest, SSL; 前两种是通过http方式访问的,SSL是通过https,配置稍复杂。

这里使用的Basic认证:

$ htpasswd -c /etc/apache2/.svn_and_trac.htpasswd $username

参数“-c”表示第一次创建密码文件。如果后续需要追加用户,就不可使用参数“-c”了。如果将命令htpasswd替换成命令htdigest,则创建就是Digest认证文件了。

补充说明一下下面的几个命令:  * a2dismod        ------> disable一个Apache2模块,即从mods-enabled/目录中删除该模块的链接  * a2dissite        ------> disable一个Apache2配置,即从sites-enabled/目录中删除该配置的链接  * a2enmod        ------> enable一个Apache2模块,即在mods-enabled/目录中创建一个到mods-available/的模块的链接  * a2ensite        ------> enable一个Apache2配置,即在sites-enabled/目录中创建一个到sites-available/的配置的链接说明:在/etc/apache2的配置文件目录下一般有如下目录:  * mods-available/    ------> 所有已安装的Apache2模块  * mods-enabled/    ------> 已经被开启正被使用的Apache2模块,都是链接到mods-available/的链接文件  * sites-available/    ------> 所有可支持的Apache2启动配置文件  * sites-enabled/    ------> 默认被使用的Apache2启动配置文件,都是链接到sites-available/的链接文件

7. 更改Trac环境的logo
编辑文件trac/$myproject/conf/trac.ini,相应部分更改如下:

[header_logo]alt = (logo of ucrobotics)height = -1link = http://www.ucrobotics.comsrc = http://www.mamicode.com/themes/garamond/img/header-icon.gifwidth = -1

8. 添加管理权限

trac-admin /var/www/trac/test permission add $username TRAC_ADMIN 

对于具有管理权限的用户,在通过浏览器访问Trac环境的时候,其导航栏的最右边会有一个“Admin”的链接,进入之后可以对其它用户的权限进行配置。
一般来说,具有管理权限的用户可以通过Web界面进行管理操作了,但若是需要通过命令行进行操作,可参考:wiki:TracAdmin

9. 重启Apache2服务测试

sudo /etc/init.d/apache2 restart 

测试地址:http://localhost/trac