设为首页 收藏本站
查看: 801|回复: 0

[经验分享] 老鸟rhel5/centos5服务器架设笔记:Trac+SVN+Apache架设进阶篇

[复制链接]

尚未签到

发表于 2017-1-14 09:51:54 | 显示全部楼层 |阅读模式
  Trac+SVN+Apache架设进阶篇
  准备工作
 请先阅读《Trac的安装和配置》以及《SVN(subversion)的安装和配置》这2篇文章,按照这2篇文章的描述搭建你的Trac和SVN环境。
 注意,SVN必须采用用户登陆文件的认证方式,这是因为Trac不支持数据库认证方式,否则它们都使用数据库认证倒是一个不错的主意!
 
  步骤1、安装setuptools
 如果你的机器已经安装setuptools,此步可忽略,可以通过命令行补全功能看看你的机器是否已经安装setuptools
 #easy_install[tab]
 通常rhel5/centos5已经安装了easy_install-2.4,这样的话此步可忽略,接下去的步骤可用easy_install-2.4来安装
 如果没有安装easy_install或者easy_install-2.4的话,执行下面的安装步骤
 #wget http://peak.telecommunity.com/dist/ez_setup.py 
 #python ez_setup.py
 确保你的网络畅通,如果安装失败,多试几次
  步骤2、安裝WebAdmin管理界面
 #easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin/
  步骤3、安装AccountManager
 #easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10/
  步骤4、安装IniAdmin
 #easy_install http://trac-hacks.org/svn/iniadminplugin/0.11/
 笔者觉得这个插件有些问题,不能在Trac的插件列表中显示出来,也可能我才疏学浅,没有配置正确,这个插件用不到关系不大,不过等笔者研究好了,会第一时间贴出来的。
  步骤5、安装Gantt图
 #wget http://willbarton.com/files/TracGantt-0.3.2a-py${PYTHON_VERSION}.egg
 #easy_install TracGantt-0.3.2a-py${PYTHON_VERSION}.egg
  步骤6、Trac+SVN目录结构图
 我们看到Trac的目录结构是
 |-/trac
     |-projects    //Trac项目库父路径
          |-TelecomProjects  //具体项目库
          |-OtherProjects
        
 SVN的目录结构是
 |-/svn
     |-.htpasswd   //登陆用户文件
     |-svnaccess   //svn访问控制文件
     |-repos      //SVN项目库父路径
          |-TelecomRepositorys  //具体Repositorys
          |-OtherRepositorys
 上面只是笔者的目录结构图,你可根据需要调整更适合自己的或者更好的目录结构,比如
  |-/var
       |-trac
           |-.htpasswd
           |-svnaccess
           |-projects     //Trac项目库父路径
                |-TelecomProjects
                |-OtherProjects
           |-repos        //SVN Repository父路径
                |-TelecomRepositorys
                     |-OtherRepositorys
  步骤7、Trac project的插件配置
 把以下内容写入到/trac/projects/TelecomProjects/conf/trac.ini中  

  • [components]       
  • webadmin.* = enabled       
  • tracgantt.* = enabled       
  • iniadmin.iniadmin.iniadminplugin = enabled      
  • trac.web.auth.LoginModule = disabled      
  • acct_mgr.* = enabled       
  •       
  • [account-manager]       
  • password_format = htpasswd      
  • password_file = /svn/.htpasswd       
  •       
  •       
  • [ticket-custom]       
  • due_assign = text      
  • due_assign.label = Due to assign       
  • due_assign.value = YYYY/MM/DD       
  •       
  • dependencies = text      
  • dependencies.label = Dependencies      
  • dependencies.value =       
  •       
  • due_close= text       
  • due_close.label = Due to close       
  • due_close.value = YYYY/MM/DD       
  •       
  • include_gantt = checkbox      
  • include_gantt.label = Include in GanttChart       
  • include_gantt.value =       
  •       
  • [gantt-charts]       
  • # The format of dates entered by humans in the above ticket fields       
  • date_format = %Y/%m/%d       
  •       
  • # Include the ticket summary in the gantt chart display       
  • include_summary = true      
  •       
  • # Trim the included summary to the given number of characters       
  • summary_length = 16      
  •       
  • # Use the creation date of a ticket as the "due assign" date if no       
  • # assignment date is given       
  • use_creation_date = true      
  •       
  • # Show on the gantt chart the date the ticket was opened, to contrast       
  • # with the assignment date.       
  • show_opened = true    

  注意:iniadmin.iniadmin.iniadminplugin = enabled这句话因为iniadmin这个插件没有正确被识别,所以并没有什么作用;
 trac.web.auth.LoginModule = disabled 这句话的意思是禁用trac的登陆模块功能,如果你禁用掉http的认证功能,那么就需要把这句话设置为trac.web.auth.LoginModule = enabled
  步骤8、与Apache集成
 在/etc/httpd/conf/httpd.conf中或者/etc/httpd/conf.d/subversion.conf中SVN的配置为如下内容 

  • <Location /svn>                  
  • DAV svn                   
  • SVNParentPath /svn/repos                   
  • AuthzSVNAccessFile /svn/svnaccess                   
  • AuthName "SVN Repositorys"                   
  • AuthType Basic                     
  • AuthUserFile /svn/.htpasswd                   
  • Require valid-user                   
  • </Location>   

  在/etc/httpd/conf/httpd.conf中或者/etc/httpd/conf.d/python.conf中Trac配置为如下内容

  • <Location /trac>                  
  • SetHandler mod_python                   
  • PythonInterpreter main_interpreter                   
  • PythonHandler trac.web.modpython_frontend                      
  • PythonOption TracEnvParentDir /trac/projects                   
  • AuthType Basic                   
  • AuthName "Trac Projects"                   
  • AuthUserFile /svn/.htpasswd                   
  • Require valid-user                   
  • </Location>  

  请注意到在上面的配置中Trac是不允许被匿名访问的,哪是因为笔者不想让Trac被匿名访问,并且不允许有开放注册功能,所以要想访问Trac必须先登陆(呵呵,这招是狠了点);如果你想让你的Trac被匿名访问并且开发注册功能的话,把上面一段改成 

  • <Location /trac>                  
  • SetHandler mod_python                   
  • PythonInterpreter main_interpreter                   
  • PythonHandler trac.web.modpython_frontend                      
  • PythonOption TracEnvParentDir /trac/projects                       
  • </Location>                  
  •                        
  • <LocationMatch "/trac/[^/]+/login">                  
  • AuthType Basic                   
  • AuthName "Trac"                   
  • AuthUserFile /svn/.htpasswd                   
  • Require valid-user                   
  • </LocationMatch>  

  这样Trac就能被匿名访问,并能开放了注册功能,注意LocationMatch 后面的"/trac/[^/]+/login"是个字符串,当然也是个正则表达式,表示是匹配trac登陆字符串,比如匹配"/trac/TelecomProjects/login"。
 如果开放了匿名访问,那么要取消匿名使用者的部分写入权限,避免有人恶意捣乱,当然你也可以通过webadmin界面来设置权限。
 #trac-admin /trac/projects/TelecomProjects permission remove anonymous TICKET_CREATE TICKET_MODIFY WIKI_CREATE WIKI_MODIFY
 #trac-admin /trac/projects/TelecomProjects add authenticated TICKET_CREATE TICKET_MODIFY TICKET_VIEW WIKI_CREATE WIKI_MODIFY
  步骤9、访问Trac
 设置test1为管理员帐号
 #trac-admin /trac/projects/TelecomProjects/ permission add test1 TRAC_ADMIN
 重启httpd Server
 #service httpd restart
 用test1登陆trac
 http://localhost/trac
 是不是在menu bar上看到了Admin和Gantt Charts菜单了呢!开始你的Trac使用之旅吧!
  Good Luck!
  
       
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-328208-1-1.html 上篇帖子: Win2000尝试apache-2.0.55和tomcat-5.5集成 遇到问题 下篇帖子: Spring,smppapi,apache mina, ssl快速实现安全的smpp(6)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表