使用 Trac + git + cherokee 搭建私有版本库

本文发布已超过一年,其中的内容可能已经过时。

基本还是弄着玩的…前提显然是有一台vps嗯嗯…

Trac 是一个专为软件开发设计的集问题追踪和 wiki 系统于一体的网页软件,git 是一个灵活而强大的版本控制工具,而 cherokee 则是一款简单好用的 web 服务器,当然,三者都是开源的。另外,这里选用 cherokee 而不是 nginx 或者 apache 这一类更为主流的服务器是因为 cherokee 的网站和默认页面比较好看所以想干脆来装逼一下这种事情我是不可能在教程里面说的。
为了搞好这个我折腾了一天,翻看了好多文档和教程,试了多种方法,最后是用的文档上没有提到的一种组合。之所以这样是因为按照文档进行设置一直不成功…

我所用的系统是 Ubuntu 11.10 64bit, 用 12.04 的话 cherokee 的管理面板一直打不开所以用的这个…同时也就意味着这份教程理论上适用于 Debian/Ubuntu 以及所有以此为基础的系统,比如 Mint 等,但是当然,我没办法做任何保证,而且一些细节的配置也可能需要根据具体情况进行修改。

新系统装好过后先卸掉不需要的包以及更新,具体命令可以参考这里,下面直接开始进行版本库的安装和配置。

  • 首先我们要安装 git 并添加用户
  • 注意在给 git 用户设置密码或者配置密钥之前这个用户是实际上没办法使用的。

  • 接下来安装 Trac:
  • 随后我们需要新建一个 trac 用户并添加到 git 用户组,这样好让 Trac 有管理 git 仓库的权限:

    接下来就可以初始化我们的第一个 Trac 项目了:

    这里我们新建了一个名叫 myproject 的项目,这个是 trac 的环境目录名称,命令执行中会要求输入项目名称,输入的这个随后可以修改。
    另外本教程以只建立一个 trac 项目为例,如果需要多项目请参照官方文档调整配置。

    现在最基本的 trac 配置就已经完成了,可以执行 tracd --user=trac -s -p 8000 -d /home/trac/myproject 来启动 tracd 进程,访问 http://trac.example.com:8000 就能看到一个 Trac 的默认页面了。

    下一步是给 Trac 添加上一个简单的认证,否则是没办法登录进行管理的。

    此时再访问 http://trac.example.com:8000 并点击右上角的 login 就可以登录后台了。

  • 接下来安装 cherokee 作为前端:
  • 此时访问 http://trac.example.com 就可以看到 cherokee 的默认界面了。
    需要注意的是,和大多数 web 服务器不同,cherokee 并不需要用户自己编辑配置文件,而是自带了一个管理后台,我们使用下面的方法来进入后台并配置其与 Trac 一同工作。

    首先在 console 中执行以下命令:

    会出现类似这样的提示:

    使用提供的用户名和密码就可以通过 http://trac.example.com:9090/ 登录后台了,注意只要 console 关闭后台就会关闭,并且每次启动后台的时候密码都是随机生成的。这个也算是一种安全措施。

    进入后台过后先到右上角的 Sources 菜单,点击左边的 “+” 图标新建一个信息源,并设置为:

    Type: Remote Host
    Nick: trac
    Connection: localhost:8000

    接下来到 vServers 菜单,新建一个虚拟主机,类型为 Manual 并设置为:

    Nick: trac.example.com
    Document Root: /home/trac/myproject

    接下来选中刚新建好的这个虚拟主机,在 Behavior 中点 Rule Management 并把 Default 以外的规则都删除掉,然后选中 Default 到 Handler 选项卡中,设置为:

    Handler: HTTP Reverse Proxy
    Balancer: Round Rubin
    Information Sources: trac

    保存设置并重启 cherokee 服务器,再回到 console 中重新启动一次 trac:

    此时访问 http://trac.example.com/ 就是 Trac 的首页了。

  • 一点善后工作
  • 要正常使用 Trac 还需要一点额外的配置。编辑 /home/trac/myproject/conf/trac.ini:

    之后从网页登录,点页面右上的 Admin 进入管理面板,在左侧选择 Plugins 并展开 Trac 1.0. 找到 tracopt.versioncontrol.git.git_fs.* 项并将其下三个插件全部勾上,保存即可。

    添加 git 项目的时候,在 Trac 后台点击左侧的 Repositories 并像这样设置:

    Name=mygitproj
    Type=git
    Directory=/home/git/mygitproj.git

    另外和可以在 cherokee 中添加规则来设置静态文件的位置,把 /chrome/site/ 映射到实际的文件目录就可以了。
    当然也可以在 cherokee 后台设置 SSL 一类的,自行发挥想象就好~

  • 参考资料/扩展阅读
  • Running Trac + Git Hosting on a Low End VPS
    Trac Standalone
    Simple Cherokee Configuration
    Cookbook: Setting up Trac

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注