一、任务

完成两个trac项目:

test1

test2

二、安装软件

安装epel源;

rpm -ivh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

导入key:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6


安装基本组件


yum -y install mysql mysql-server mysql-devel httpd mod_dav_svn mod_python MySQL-python python-devel subversion trac

#trac-admin 版本组件较低为0.12.5

三、软件配置

1、数据库配置

/etc/init.d/mysqld start


#trac 只能使用utf-8字符集,否则报错

CREATE DATABASE trac_test1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

GRANT ALL ON trac_test1.* TO tracuser@'127.0.0.1' IDENTIFIED BY 'password';

CREATE DATABASE trac_test2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

GRANT ALL ON trac_test2.* TO tracuser@'127.0.0.1' IDENTIFIED BY 'password';

FLUSH PRIVILEGES;



2、创建项目

创建第一个项目:test1

mkdir /var/trac -p

chown apache.apache /var/trac -R

cd /var/trac

mkdir test1

chown apache.apache test1

trac-admin  test1  initenv 

在/var/trac/ihualu处创建一个新的Trac环境


Trac先要询问一些和环境相关的问题,以初始化和准备项目数据库。


请输入您项目的名称。

此名称将在页面标题和描述中使用。


项目名称 [My Project]>  test1

请指定所用数据库的连接字符串。缺省情况下,

将在环境目录中创建一个本地SQLite数据库。

也可以使用一个已存在的PostgreSQL数据库

(具体的连接字符串语法请查看Trac文档)。


数据库连接字符串 [sqlite:db/trac.db]> mysql://tracuser:password@127.0.0.1/trac_test1


安装完提示:

---------------------------------------------------------------------

'test1' 的项目环境已经建立。


您现在可以通过编辑以下文件来配置环境:


  /var/trac/test1/conf/trac.ini


如果您想试用一下这个新的项目环境,请尝试运行Trac独立Web服务器 `tracd`:


  tracd --port 8000 /var/trac/test1


然后使用您的浏览器访问http://localhost:8000/test1。

在那里,您可以浏览已安装Trac版本的文档,包括进行进一步配置的信息

(比如将Trac部署到真正的Web服务器上)。


最新的文档也可以在项目网站上找到:


  http://trac.edgewall.org/


恭喜您!


创建第二个项目:test2


cd /var/trac

mkdir test2

chown apache.apache test2

trac-admin  test2  initenv 

在/var/trac/ihualu处创建一个新的Trac环境


Trac先要询问一些和环境相关的问题,以初始化和准备项目数据库。


请输入您项目的名称。

此名称将在页面标题和描述中使用。


项目名称 [My Project]>  test2

请指定所用数据库的连接字符串。缺省情况下,

将在环境目录中创建一个本地SQLite数据库。

也可以使用一个已存在的PostgreSQL数据库

(具体的连接字符串语法请查看Trac文档)。


数据库连接字符串 [sqlite:db/trac.db]> mysql://tracuser:password@127.0.0.1/trac_test2


成功提示:

---------------------------------------------------------------------

'test2' 的项目环境已经建立。


您现在可以通过编辑以下文件来配置环境:


  /var/trac/test2/conf/trac.ini


如果您想试用一下这个新的项目环境,请尝试运行Trac独立Web服务器 `tracd`:


  tracd --port 8000 /var/trac/test2


然后使用您的浏览器访问http://localhost:8000/test2。

在那里,您可以浏览已安装Trac版本的文档,包括进行进一步配置的信息

(比如将Trac部署到真正的Web服务器上)。


最新的文档也可以在项目网站上找到:


  http://trac.edgewall.org/


恭喜您!


3、修改apache配置文件

在/etc/httpd/conf/httpd.conf末尾增加:

<VirtualHost *:80>  

    ServerName   trac.sample.com

    ServerAdmin   test@sample.com

    DocumentRoot   /var/trac  

  

    <Directory "/var/trac/test1">  

         Options Indexes FollowSymLinks MultiViews  

         AllowOverride None  

         Order allow,deny  

         allow from 127.0.0.1 10.2.180.0/24

    </Directory>  

  

    <Directory "/var/trac/test2">  

         Options Indexes FollowSymLinks MultiViews  

         AllowOverride None  

        Order allow,deny  

        allow from 127.0.0.1 10.2.180.0/24

    </Directory>  

  

    <Location />  

        SetHandler mod_python  

        PythonInterpreter main_interpreter  

        PythonHandler trac.web.modpython_frontend  

        PythonOption TracEnvParentDir /var/trac/

        PythonOption TracUriRoot /  

        SetEnv PYTHON_EGG_CACHE /tmp  

    </Location>  

    <Location />  

        AuthType Basic  

        AuthName "test TRAC"  

        AuthUserFile /var/auth/.passwd_auth

        Require Valid-user  

    </Location>  

  

    <Location /test1/login>  

        AuthType Basic  

        AuthName "test1 TRAC"  

        AuthUserFile /var/auth/.passwd_auth

        Require Valid-user  

    </Location>  

  

  

    <Location /test2/login>  

        AuthType Basic  

        AuthName "test2 TRAC"  

        AuthUserFile /var/auth/.passwd_auth

        Require Valid-user  

    </Location>  

  

  

    ErrorLog "/var/log/httpd/trac_errors.log"  

    CustomLog "/var/log/httpd/trac_accesses.log" common     

</VirtualHost>



4、增加用户及trac授权

mkdir /var/auth

cd /var/auth

htpasswd -bc .passwd_auth test1 123456


增加test2用户

[root@localhost auth]# htpasswd -n  test2

New password: 

Re-type new password: 

test2:YwZXrrvgmSTQQ


echo "test2:WWp.45Ga.aaZI" >>.passwd_auth

授权用户test1访问trac的项目test1和项目test2

trac-admin /var/trac/test1 permission add test1 TRAC_ADMIN

trac-admin /var/trac/test2 permission add test1 TRAC_ADMIN


      

5、设置Trac的配置文件


可以将公司的logo放到网页上:


①将logo.png放入/var/trac/test1/htdocs目录;

②修改/var/trac/conf/trac.ini文件

[header_logo]

alt = 

height = -1

link = http://trac.sample.com

src = site/logo.png

width = -1


邮件通知设置:(红色字体为修改的内容)

修改/var/trac/conf/trac.ini 的[notification]

段内容为:

admit_domains = 

always_notify_owner = true

always_notify_reporter = true

always_notify_updater = true

ambiguous_char_width = single

email_sender = SmtpEmailSender

ignore_domains = 

mime_encoding = none

sendmail_path = sendmail

smtp_always_bcc = 

smtp_always_cc = 

smtp_default_domain = 

smtp_enabled = true

smtp_from = trac@sample.com

smtp_from_name = trac

smtp_password = 12345678

smtp_port = 25

smtp_replyto = trac@sample.com

smtp_server = smtp.sample.com

smtp_subject_prefix = __default__

smtp_user = trac

ticket_subject_template = $prefix #$ticket.id: $summary

use_public_cc = false

use_short_addr = false

use_tls = false


重启apache:

service httpd restart


4、软件升级:

本例从trac 0.12.5升级到trac 1.0.1

cd /usr/local/src

wget http://ftp.edgewall.com/pub/trac/Trac-1.0.1.tar.gz

tar zxvf Trac-1.0.1.tar.gz

cd Trac-1.0.1

python setup.py install

trac-admin /var/trac/test1 upgrade

trac-admin /var/trac/test1 wiki upgrade

trac-admin /var/trac/test2 upgrade

trac-admin /var/trac/test2 wiki upgrade

service httpd restart