安装前准备
Ubuntu 没有自带 SSH,需要安装 SSH 服务,详情见 Use SSH connect to Ubuntu VM
直接用 Mac 自带的 Terminal SSH 连上 VM,更方便操作
升级 Ubuntu 系统及服务
sudo apt-get update && sudo apt-get upgrade
安装依赖
准备安装 Trac,安装过程参考 Installing Trac with Git on Ubuntu
安装依赖的服务及组件
sudo apt-get install apache2 apache2-utils libapache2-mod-python python-setuptools python-genshi mysql-server python-mysqldb
中间会提示安装会增加 XX 存储空间,直接按 y
Mysql 安装过程会提示密码(三次),可以直接回车(空密码)
最后看到 web server apache2 重启成功,服务及组件安装完成
* Restarting web server apache2 [ OK ]
接下来安装 Git 服务
sudo apt-get install git-core
中间会提示安装会增加 XX 存储空间,直接按 y
接下来安装 Trac 及 Trac-git
sudo apt-get install trac trac-git
中间会提示安装会增加 XX 存储空间,直接按 y
依赖安装完成,接下来开始配置
配置部分
Git 配置
刚才安装的 Git 已经默认初始化了一个 Git 服务路径在 /var/lib/git 如果没有则创建
sudo mkdir /var/lib/git
创建项目 Git 路径
sudo mkdir /var/lib/git/YourProject
在项目路径初始化 Git
sudo git init /var/lib/git/YourProject
更新读写权限
sudo chown -R www-data /var/lib/git/YourProject
Mysql 配置
登陆 Mysql(空密码或设置的密码)
mysql -u root -p
创建 trac 数据库
CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
设置默认密码
GRANT ALL ON trac.* TO trac@localhost IDENTIFIED BY 'your password';
退出 Mysql
exit
Trac 配置
创建 Trac 文件目录
sudo mkdir /var/lib/trac
创建项目文件目录
sudo mkdir /var/lib/trac/YourProject
使用 trac-admin 创建项目
sudo trac-admin /var/lib/trac/YourProject initenv
会提示输入项目名
Project Name [My Project]> hellokitty
提示输入 db 连接
Database connection string [sqlite:db/trac.db]>
直接输入(建议编辑好后粘贴,或直接输入,粘贴后编辑容易光标错位,出现异常。如果出现异常,可以把 /var/lib/trac/ 下的项目文件删掉 sudo rm -rf /var/lib/trac/project,重新 initenv 即可。)
mysql://trac:yourpassword@localhost/trac
然后看到提示安装成功,说明 Trac 服务已经安装好
Congratulations!
接下来配置 Trac Git 信息,进入配置文件目录
/var/lib/trac/hellokitty/conf
可以看到 trac.ini ,使用 vim 编辑
sudo vim trac.ini
在文件中找到 [trac]节点,修改为如下配置
repository_dir = /var/lib/git/hellokitty
repository_sync_per_request = (default)
repository_type = git
编辑好后 esc 输入 :wq 保存并退出
接下来更新读写权限
sudo chown -R www-data:www-data /var/lib/trac/YourProject
Apache 服务配置
修改基本配置信息
sudo vim /etc/apache2/sites-enabled/000-default.conf
在文件底部 </VirtualHost> 关闭节点前,增加 trac 配置
<Location /projects>#set up Trac handling
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/lib/trac
PythonOption TracUriRoot /projects
</Location>
<LocationMatch "/projects/[^/]+/login">
AuthType Basic
AuthName "Trac"
AuthUserFile /var/lib/trac/.htpasswd
Require valid-user
</LocationMatch>
接下来创建 trac 的管理员用户
进入 trac 目录
cd /var/lib/trac
创建 admin 用户
sudo htpasswd -c .htpasswd admin
会提示密码,两次输入即可
重启 apache 服务
sudo /etc/init.d/apache2 restart
给新增的管理员用户赋予权限
sudo trac-admin /var/lib/trac/YourProject permission add admin TRAC_ADMIN
至此,trac 安装已经完成 Happy
接下来在浏览器打开网页,可以看到所有可用的 trac 项目,点击进入
http://10.211.55.10/hellokitty
然后,看到一个异常报错
Trac detected an internal error:AttributeError: NullTranslationsBabel instance has no attribute 'inactive'
这是因为 Babel 的版本和当前的 trac 版本不匹配,需要降级
sudo easy_install Babel==0.9.6
然后重启 apache 服务
sudo /etc/init.d/apache2 restart
然后刷新下网页即可
其他问题
打开项目网页后发现存在报错:
警告: 无法与版本库"(default)"同步 (不支持的版本控制系统"git":未能找到合适的组件,也许相关插件没有被激活?)。更多信息请查看Trac日志。
登陆 admin 用户,点击右上角-管理-一般-插件,将 TracGit 0.12.0.5dev 勾选启用,并点击应用修改。
自动刷新后,提示报错:
警告: 无法与版本库"(default)"同步 (GIT backend not available)。更多信息请查看Trac日志。
然后,目前没找到合适的解决方案。我自己的临时方案是替换为 svn(svn 服务需要安装,然后将 trac.ini 配置中改为 svn)
找到合适解决方案后会继续更新。
至此,Trac 的使用已经没有问题。关于用户的管理,见 Add new user in Trac on Ubuntu
网友评论