在windows上搭建Apache+Trac+Subversion

以下是Trac在Ubuntu环境下的搭建过程

一.从http://trac.edgewall.org/wiki/TracDownload下载Trac最新版(目前为0.12)
二.依据http://trac.edgewall.org/wiki/TracInstall的知道一步步安装,以下为详细过程
    2.1.安装必要的库
        2.1.1 检查python是否已经安装
        2.1.2 安装setuptools(后续安装中会用到easy_install命令)
              Ubuntu下可以很方便的用sudo apt-get install python-setuptools命令来安装

        2.1.3 安装Genshi
             sudo  easy_install Genshi(Unbutu下可以方便的用,但在window下需要下载python egg安装)
        2.1.4 安装svn
              包括svn服务以及python的svn实现,注意,双方的大版本必须要一致,比如svn服务的大版本是1.6,则python的相应实现也应该是1.6,否则在Trac中集成时将会出问题,切记!
              apt-get install subversion
              apt-get install python-subversion
        2.1.4 安装Apache
              可以通过sudo apt-get install apache2安装,也可以去Apache网站下载最新版本安装
        2.1.5 安装mod_wsgi(用户也可以根据各自需要安装mod_python,但推荐使用mod_wsgi,因为mod_wsgi更快,而且mod_python已经停止开发,这里需要特别注意的是,不管是安装什么mod,都要特别注意该mod的python版本和要运行的python版本是否一致!!)
              去http://code.google.com/p/modwsgi/下载mod_wsgi安装
              也可以通过sudo apt-get install libapache2-mod-wsgi命令安装
        2.2.安装可选库
        2.2.1 安装Babel
              为支持Localization,实现不同语言的选择,请安装Babel
              可以通过sudo svn co http://svn.edgewall.org/repos/babel/ /home/download/Babel命令来下载,但要确保svn已安装
              因为Babel依赖于CLDR,所以再安装之前还需要导入CLDR,根据所下载的Babel安装说明选择合适的CLDR版本下载,下载后执行sudo python ./scripts/import_cldr.py /home/download/common命令导入CLDR(注,/home/download/common为解压后的CLDR路径,需要和实际路径保持一致!)。安装CLDR非常重要,如果选择来安装Babel而没有安装CLDR,则再安装Trac时将出错,导致安装失败。如果不考虑本地化,可以略过这一步,不安装Babel,也就用不着安装CLDR。

              下载完成后进入下载目录中的trunks目录执行sudo python setup.py install命令安装Babel
        2.2.2 安装Docutils模块,Tra/home/download/common/home/download/commonc wiki中使用
              在http://docutils.sourceforge.net/下载
              解压后执行sudo python setup.py install命令安装
        2.2.3 安装Pygments,语法高亮工具
              在http://bitbucket.org/birkenfeld/pygments-main/downloads下载
              解压后执行 sudo python setup.py install
        2.2.4 安装pytz,主要是时区处理
              从http://pypi.python.org/pypi/pytz/#downloads下载pytz(注意选择针对python的版本)
              执行sudo easy_install pytz-2010l-py2.6.egg 命令安装pytz
    2.3 安装Trac
        可以通过setuptools的easy_install命令来安装,具体命令为easy_install Trac==0.12,也可以通过下载后再安装,具体命令为sudo python seup.py install

    2.4 创建Trac项目运行环境
        执行sudo trac-admin /home/diebold-Trac initenv命令,创建Trac项目,在创建的过程中需要回答一些问题,关于要创建的项目名称,所用的数据库链接字符等等。所填写的内容都将存在该项目的trac.ini配置文件中,用户不用担心在创建过程中出错,所有都可以再trac.ini中进行更改。
        创建完成以后,可以执行tracd --port 8000 /home/diebold-Trac命令来启动Trac独立的web服务。
        打开浏览器,输入http://127.0.0.1:8000,即可浏览Trac。如果进入项目以后,页面提示对某某目录没有读写权限,则用户需要手动去更改该目录的读写权限,具体命令为sudo chmod -R 777 diebold-Trac
    2.5 配置Trac
        2.5.1 生成WSGI配置文件
              可以很方便的通过tarc-admin diebold-Trac deploy diebold-Trac命令来生成WSGI的相关配置文件。命令成功执行后生成cgi-bin/trac.wsgi文件,/该文件即为wsgi配置文件,后面配置Apache的时候将会用到
        2.5.2 配置Apache
              打开Apache配置文件httpd.conf(如果不清楚apache具体安装位置,可以执行whereis apache2命令来查找,一般来说配置文件在/etc/apache2中 )
          在httpd.conf中添加以下配置
          WSGIScriptAlias /trac /home/diebold-Trac/cgi-bin/trac.wsgi

          <Directory /home/diebold-Trac>
              WSGIApplicationGroup %{GLOBAL}
              Order deny,allow
               Allow from all
             </Directory>
         配置完成后应该重启apache,重启命令为sudo /etc/init.d/apache2 restart
         注,apache常用命令为sudo /etc/init.d/apache2 start or  restart or stop
         重启apache后,即可通过http://localhost/trac来浏览Trac
        2.5.3 配置基本权限控制
              创建htpasswd文件,建议第一个用户使用命令行创建,其他用户可以使用Trac的插件来做
            htpasswd -c htpasswd admin
           按照提示完成创建用户后,给用户赋予admin权限,方便后续操作,具体命令为trac-admin /home/diebold-Trac permission add admin TRAC_ADMIN

        2.5.4 安装Trac插件
              安装Account Manager Plugin,具体命令为easy_install https://trac-hacks.org/svn/accountmanagerplugin/trunk
          配置Account Manager,用户可以根据实际需要选择使用不同的模块,但需要注意的时,如果使用LoginModule 的话,需要现禁用web_ui,具体方法为,将Trac.ini中的components配置中添加acct_mgr.web_ui.LoginModule = enabled,同时需要设置password store
          [account-manager]
          ; configure the plugin to store passwords in the htpasswd format:
          password_store = HtPasswdStore
          ; with Trac < 0.10 use this instead:
          password_format = htpasswd

          ; the file where user accounts are stored
          ; the webserver will need write permissions to this file
          ; and its parent folder
          password_file = /var/trac/trac.htpasswd
         
          另外,需要在apache的配置中将 Require valid-user配置注释掉,否则运行的时候会出错,切记切记!
          以上步骤完成后重启apache,将会发现登录时使用的页面和之前apache默认的已经不太一样!   
         
          安装Svnauthz File Administration Plugin(管理SVN用户和权限),从http://trac-hacks.org/wiki/SvnAuthzAdminPlugin下载后安装
          安装完成后应该对trac.ini的svn相关选项进行设置,具体为
          authz_file = /home/Repository/D-Cash/conf/authz
          authz_module_name = D-Cash(需要特别注意,这里填写的应该是svnadmin create时创建的repository名字,切记切记,否则使用svnauthadmin管理权限的时候会报出invalidpath,导致执行不成功!)
          配置成功后就可以再Trac的admin页面通过Subversion Access来管理SVN的用户和权限

      2.5.5 配置版本库(Repository)
          先创建Repository, 具体命令为 sudo svnadmin create D-Cash
        通过Trac添加repository后应该执行一下同步命令,具体命令sudo trac-admin /home/diebold-Trac repository resync D-Cash
        最好能在svn的hook中配置一下post-commit,这样以来svn更新的时候就能在Trac的source broswer中看到相应的更新,具体做法为:在post-commit中添加如下命令:sudo /usr/local/bin/trac-admin /home/diebold-Trac  changeset added $REPOS $REV

        启动svnserve命令为svnserve -d -r /home/Repository/

原文地址:https://www.cnblogs.com/Jerryshome/p/1818603.html