免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2435 | 回复: 0
打印 上一主题 下一主题

在Debian中安装Trac服务器 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-05 11:36 |只看该作者 |倒序浏览
转自肥肥世家 http://www.ringkee.com

8.13. 安装Trac服务器

Trac 是用Python写的一个基于Web的事件跟踪系统,它使用WiKi作为文档的格式,Subversion作为版本控制系统。可帮助开发人员进行源码版本管理、Bug跟踪和讨论。Debian Sarge带的Trac是0.8版本,该版本好象有问题,安装完成后不能创建Trac环境。Sid带是0.9版的,可正常使用。下面以0.9版为例介绍安装过程。

    *

      安装和配置

      要安装Trac,需先安装Subversion、SQLite和ClearSilver。详细需求请参考官方网站http://projects.edgewall.com/trac/wiki/TracInstall。如果你使用的是Debian,则用apt-get install trac命令安装即可,Trac依赖的所有软件包系统会自动安装。安装完成后,就可进行配置了。Trac可以设置成Standalone服务器,只供本机使用。也可以与Apache等Web服务器集成,如果与Apache集成,则可配置成CGI、FastCGI或Mod_Python等方式。

      配置成Standalone方式:
          o

            创建Subversion库:

            debian~:# svn create /root/subversion

          o

            初始化Trac环境:

            debian~:# trac-admin /root/trac initenv

            /root/trac目录不用事先创建,Trac会自动创建。初始化时,trac-admin程序会问你项目名、数据库连接字串和 Subversion库位置这三个参数。如果你的数据库是使用SQLite,则它的连接串是sqlite:db/trac.db,系统已默认指定了。所有初始化参考都会保存在/root/trac/conf/trac.ini文件中。

            [wiki]
            ignore_missing_pages = false

            [header_logo]
            src = common/trac_banner.png
            alt = Trac
            height = 73
            link = http://trac.edgewall.com/
            width = 236

            [logging]
            log_file = trac.log      #日志文件名,位于trac/log目录下
            log_level = DEBUG        #日志级别,分别是CRITICAL、ERROR、WARN、INFO和DEBUG
            log_type = file          #日志形式,file:生成trac.log日志文件,syslog:通过命名管道/dev/log传送到syslogd

            [trac]
            default_charset = iso-8859-15
            ignore_auth_case = false
            permission_store = DefaultPermissionStore
            check_auth_ip = true
            database = sqlite:db/trac.db
            templates_dir = /usr/share/trac/templates
            default_handler = WikiModule
            metanav = login,logout,settings,help,about
            mainnav = wiki,timeline,roadmap,browser,tickets,newticket,search
            repository_dir = /data/subversion

            [notification]
            always_notify_owner = false
            smtp_always_cc =
            smtp_password =
            smtp_enabled = false
            smtp_replyto = trac@localhost
            smtp_port = 25
            always_notify_reporter = false
            smtp_server = localhost
            smtp_from = trac@localhost
            smtp_user =

            [project]
            url = http://example.com/
            footer =  Visit the Trac open source project at<br /><a href="http://trac.edgewall.com/">http://trac.edgewall.com/</a>
            name = Developer
            descr = My example project
            icon = common/trac.ico

            [mimeviewer]
            php_path = php
            enscript_path = enscript
            tab_width = 8
            max_preview_size = 262144

            [attachment]
            max_size = 262144

            [timeline]
            changeset_show_files = 0
            ticket_show_details = false
            default_daysback = 30

            [ticket]
            default_version =
            default_component = component1
            default_type = defect
            restrict_owner = false
            default_milestone =
            default_priority = major

            [browser]
            hide_properties = svk:merge

            详尽的配置选项说明请参考官方的TracGuide文档。
          o

            启动Trac服务:

            debian~:# tracd --port 8000 /root/trac

            使用浏览器访问"http://localhost:8000"即可访问Trac系统了。

      Standalone 方式只能由本机访问,不能放到网上共享。所以我们一般都是把Trac配置成与Apache服务器集成的形式。这时,我们要配置Apache服务器,告诉它如何执行Trac的CGI程序。如果你的系统是Debian,则在/etc/apache2/conf.d目录下创建一个trac.conf文件,内容如下:

      Alias /trac/chrome/common /usr/share/trac/htdocs
      <Directory "/usr/share/trac/htdocs">
        Order allow,deny
        Allow from all
      </Directory>
      ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi
      <Location "/trac">
        SetEnv TRAC_ENV "/data/trac/"
      </Location>

      <Location "/trac/login">           #设置Trac用户验证
        AuthType Basic
        AuthName "Trac"
        AuthUserFile /etc/apache2/trac.passwd            #trac.passwd文件用htpasswd2命令生成
        Require valid-user
      </Location>

      接着还要设置Trac实例目录/data/trac的访问权限,使它能被Apache实例访问。

      debian:~# chown -R www-data.www-data /data/trac

      重启服务器,使用浏览器访问"http://apache_server/trac"即可。

      通过FastCGI和Mod_Python方式的配置方法请参考Trac Project网站http://projects.edgewall.com/trac/
    *

      管理访问许可

      Trac 的许可权限管理简单而有效,它可通过trac-admin命令来管理。用trac-admin可管理用户的许可权限,但用户的管理是通过Apache的 htpasswd2命令设置的,根据上面的Apache CGI配置,用户名和密码是存放在/etc/apache2/trac.passwd文件中。下面这个命令可用来列出当前有效的许可权限和已设置的许可权限。

      debian:~# trac-admin /data/trac permission list
      User       Action
      --------------------------
      anonymous  BROWSER_VIEW
      anonymous  CHANGESET_VIEW
      anonymous  FILE_VIEW
      anonymous  LOG_VIEW
      anonymous  MILESTONE_VIEW
      anonymous  REPORT_SQL_VIEW
      anonymous  REPORT_VIEW
      anonymous  ROADMAP_VIEW
      anonymous  SEARCH_VIEW
      anonymous  TICKET_CREATE
      anonymous  TICKET_MODIFY
      anonymous  TICKET_VIEW
      anonymous  TIMELINE_VIEW
      anonymous  WIKI_CREATE
      anonymous  WIKI_MODIFY
      anonymous  WIKI_VIEW


      Available actions:
       BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, FILE_VIEW, LOG_VIEW,
       MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE, MILESTONE_MODIFY,
       MILESTONE_VIEW, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE, REPORT_MODIFY,
       REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW, SEARCH_VIEW,
       TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_MODIFY,
       TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN, WIKI_ADMIN, WIKI_CREATE,
       WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW

      上面列出的内容是还没进行许可权限设置时的情况,Available actions段的内容就是有效许可权限的列表,每个权限的解析可查询TracGuide中的TracPermission节的内容。其中 TRAC_ADMIN许可相当于Linux中的root用户,拥有最高的权限。如果我们要把TRAC_ADMIN许可授予jims用户,则可这样设置:

      debian:~# trac-admin /data/trac permission add jims TRAC_ADMIN

      删除用户的许可可用remove关健字,如:

      debian:~# trac-admin /data/trac permission remove jims TRAC_ADMIN

      在Trac的权限管理中可以设置组以简化权限配置,下例将设置一个admin组,具有TRAC_ADMIN许可权限,把jims和ringkee两个用户加入到该组中,使他们也具有TRAC_ADMIN许可权限:

      debian:~# trac-admin /data/trac permission add admin TRAC_ADMIN
      debian:~# trac-admin /data/trac permission add ringkee admin
      debian:~# trac-admin /data/trac permission add jims admin

      在Trac的用户中,有两个默认的用户,一个是anonymous,表示匿名用户;一个是authenticated,表示所有已通过验证的用户。我们可以把许可权赋予这两个用户,从而简化我们的许可权限配置。
    *

      备份和恢复

      Trac系统的备份和恢复也可使用trac-admin工具来完成,还可支持热备份。备份命令如下:

      debian:~# trac-admin /data/trac hotcopy ~/backup

      执行该命令时,Trac会自动锁住SQLite数据库,并把/data/trac目录拷贝到~/backup目录。恢复备份也很简单,只需停止Trac进程,如Apache服务器或tracd服务器。接着把~/backup整个目录恢复回/data/trac目录就可以了。
    *

      软件更新

      当有新版的Trac软件推出时,为了使用新的功能和减少Bugs,我们需把旧版本的Trac系统升级到新版本。在Debian中系统,Trac软件包的安装脚本会自动帮我们完成升级,但了解手动升级方法可使我们对Trac软件的结构有更深的认识,所以我在这里也简单介绍一下如何手动升级Trac软件包。
          o

            为了减少软件冲突,最好把旧版软件包的程序删除:

            debian:~# rm -rf /usr/lib/python2.3/site-packages/trac
            debian:~# rm -rf /usr/share/trac

            [Note]       
            /data/trac实例目录不能删除。
          o

            升级软件包,下载最新的Trac软件包,并安装:

            debian:~/inst/trac-0.9.2# python setup.py install

          o

            升级实例:

            debian:~# trac-admin /data/trac upgrade

          o

            升级文档:

            debian:~# trac-admin /data/trac wiki upgrade

[ 本帖最后由 yjnet 于 2006-1-6 16:32 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP