一、任务
完成两个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
转载于:https://blog.51cto.com/bristol/1439092