热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS系统安装配置tracSVNApache服务

环境:发行版:centos5.3-i386kernel:2.6.18-128.el51.各文件设置及说明SVN配置文件目录:/etc/svn/SVN项目根目录:/svn/moko_srcTrac根目录:/trac/moko_srcTrac+SVN用户密码文件:/etc/svn/account(HTTP方式)SVN用户密
环境:
     发行版:centos 5.3-i386
     kernel:2.6.18-128.el5

1. 各文件设置及说明
SVN 配置文件目录: /etc/svn/
SVN 项目根目录: /svn/moko_src
Trac根目录: /trac/moko_src
Trac+SVN 用户密码文件: /etc/svn/account   (HTTP方式)
SVN 用户密码文件: /svn/moko_src/项目名称/conf/passwd   (SVN方式)
SVN 用户权限文件: /etc/svn/authz
服务器IP: 192.168.0.218
SVN 地址: http://192.168.0.218/svn            (http方式)
          svn://192.168.0.218/项目名称        (SVN方式)
Trac地址: http://192.168.0.218/trac

2.设置163.com开源镜像的yum,安装和升级包速度快!
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
vim CentOS-Base.repo
输入:
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#released updates 
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
保存退出 (:wq)

3.安装必要的包
yum install -y openssl openssl-devel mod_ssl   apr apr-util sqlite python-sqlite libxml2-python mod_python python-devel python httpd mod_auth_mysql
(若64位服务器,一般在每个包名字后面加.x86_64  如果还是找不到相应包名称,用yum search 包名称,查询完整64位包名称)
创建相应文件和文件夹,赋予权限
mkdir -p /etc/svn                 (SVN 配置文件目录)
mkdir -p /svn/moko_src            (SVN 项目根目录)
mkdir -p /trac/moko_src           (Trac根目录)
touch /etc/svn/account            (Trac+SVN 用户密码文件)
touch /etc/svn/authz              (SVN 用户权限文件)
chown -R apache:apache /etc/svn   (所有者和组必须为apache,不然Trac无法更新配置文件)

4.通过yum安装Trac和相关包 
因为centos官方yum不包括Trac和相关包,通过第三方yum进行安装,所以这里要更改一下yum配置文件。trac包安装结束后,可以在改回来,163的yum国内最快
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.163
vim /etc/yum.repos.d/CentOS-Base.repo
[dag]
name=Dag RPM Repostory for RHEL
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
gpgcheck=1
enabled=1
[kbs-CentOS-Misc]
name=CentOS.Karan.Org-EL$releasever - Stable
baseurl=http://centos.karan.org/el$releasever/misc/stable/$basearch/RPMS/
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
gpgcheck=1
enabled=1
保存退出 (:wq)
yum -y install subversion subversion-perl mod_dav_svn trac clearsilver python-clearsilver   (yum安装Trac和相关包)
vim /etc/httpd/conf/httpd.conf                       (编辑apache配置文件)
找到#ServerName www.example.com:80
改为
ServerName 192.168.0.218:80               (取消注释,www.example.com改为你的IP或域名,不改启动的时候报错但能运行)
在末尾处加入:
#set SVN           (设置SVN,http方式)

  DAV svn
  SVNParentPath /svn/moko_src
  Satisfy Any
# HTTP user login
  AuthType Basic
  AuthName "SVN Repository"
  AuthUserFile /etc/svn/account
  AuthzSVNAccessFile /etc/svn/authz
  Require valid-user

#set Trac          (设置Trac)

  SetHandler mod_python
  PythonInterpreter main_interpreter
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir /trac/moko_src
  PythonOption TracUriRoot /trac
# HTTP user login
  AuthType Basic
  AuthName "Trac Project"
  AuthUserFile /etc/svn/account
  Require valid-user

保存退出   (:wq)

4.开始设定Trac\SVN
svnadmin create /svn/moko_src/pro                (创建SVN版本库,版本库名称为:pro)
chown -R apache:apache /svn/moko_src/pro         (用户和所有组必须为apache,否则trac无法写版本库里的文件)
htpasswd /etc/svn/account admin                  (创建一个名为admin的SVN用户)
trac-admin /trac/moko_src/pro initenv            (创建trac项目)
各项如下
Project Name [My Project]> pro         (项目名称:pro,这里最好和SVN版本库名一样,方便管理和记忆)
Database connection string [sqlite:db/trac.db]>  (这里直接回车,默认就是sqlite库)
vim /trac/moko_src/pro/conf/trac.ini             (修改trac配置文件)
找到
max_size = 1000000             (支持最大文件10M)
repository_dir = /svn/moko_src/pro               (这里要指定svn版本库的路径,必须指定!!!)
保存退出   (:wq)  
chown -R apache:apache /trac/moko_src/pro        (用户和所有组必须为apache,否则trac无法写项目里的文件)
安装eggs插件,不装无法使用,报错!!!
cd /tmp
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
mkdir /var/www/.python-eggs
chown apache:apache  /var/www/.python-eggs
mkdir  /trac/moko_src/.egg-cache
chown apache:apache  /trac/moko_src/.egg-cache
以 easy_install 安装4个实用的Trac插件 (安bTrac0.12版的插件,部分0.11的也可用):
easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.11
easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.12
easy_install http://trac-hacks.org/svn/svnauthzadminplugin/0.11
插件说明
IniAdmin: trac.ini 管理。
Account Manager: Trac 的用户管理。
TracWiki WYSIWYG Editor: 让Wiki编辑器变成WYSIWYG编辑器。
Svnauthz File Administration: SVN账号及权限管理
#####################################################################
(在Trac管理里只能设定http方式的,svn方式要另行手工设定。
/etc/svn/account和/svn/moko_src/项目名称/conf/passwd 
这两个文件的用户名和密码要相同,这样才能达到http和SVN两种方式的登录)
#####################################################################
编辑Trac的配置文件
vim /trac/moko_src/pro/conf/trac.ini
加入
[components]
webadmin.* = enabled
iniadmin.iniadmin.iniadminplugin = enabled
tracwysiwyg.* = enabled
svnauthz.* = enabled
acct_mgr.api.accountmanager = enabled
acct_mgr.htfile.HtPasswdStore = enabled
#close HTTP login
trac.web.auth.LoginModule = disabled
acct_mgr.web_ui.LoginModule = enabled
acct_mgr.admin.AccountManagerAdminPage = enabled
acct_mgr.web_ui.AccountModule = enabled
[account-manager]
password_format = htpasswd
password_file = /etc/svn/account
password_store = HtPasswdStore
找到[header_logo]区域
src=\'#\'" /logo.gif  此参数设置LOGO,site/logo.gif换成site/logo文件名,本文档中/trac/moko_src/pro/htdocs/logo.gif
另外,还要在 [trac] 区域找到 "authz_file" 及 "authz_module_name" 这两个参数,分别设为:
authz_file = /etc/svn/authz   (SVN用户权限文件)
authz_module_name = pro       (要设定为SVN版本库名称) 
找到[trac]区域
default_charset = utf-8
###################################
这两个参数都和SVN的用户权限有关,"authz_module_name"  必须设定为SVN版本库的名称
"default_charset"这个参数,如果和你的版本库编码不同,改成Checkin到SVN版本库文件的相同编码即可。(这个我没该,我默认都是UTF-8的)
###################################

5. Trac的用户管理
通常先指定 Trac 的管理者、删除匿名访客权限、增加一个一般用户组,命令如下:
trac-admin /trac/moko_src/pro permission add admin TRAC_ADMIN     (增加admin为管理员)
trac-admin /trac/moko_src/pro permission remove anonymous '*'     (删除匿名访客权限)
增加一个一般用户组
trac-admin /trac/moko_src/pro permission add @user FILE_VIEW BROWSER_VIEW CHANGESET_VIEW
在Trac里,用户和组的命名及管理方式是没有区别,用粢部梢允亲椋所以,你也可以把第一个用户指定给第二个用户,第一个用户就会拥有第二个用户的相同的权限。上面的命令,新增了"@user"的组作为识别,并设定权限,只要把用户指定给 @user,就可以使用相同的权限。
修改/svn/moko_src/pro/conf/svnserve.conf 
vim /svn/moko_src/pro/conf/svnserve.conf
password-db = passwd       (这个密码文件里定义的用户名和密码要和 trac管理里定义的同步)
authz-db = /etc/svn/authz     (使用trac定义的权限文件)
anon-access=none
这样http和svn方式均可使用

7. 设置文成后,启动apache,SVN服务
service httpd start     (启动apache)   
chkconfig httpd on        (开机以服务方式启动apache)
########################################################
创建以服务方式启动SVN脚本
echo '#!/bin/bash' > /root/startsvn.sh
echo 'svnserve -d -r /svn/moko_src' >> /root/startsvn.sh
chmod +x /root/startsvn.sh
########################################################
echo '/root/startsvn.sh'  >> /etc/rc.d/rc.local    (开机自启动SVN服务)
#############################备注#################################
SVN 地址: http://192.168.0.218/svn/pro            (http方式)
          svn://192.168.0.218/项目名称        (SVN方式)
Trac地址: http://192.168.0.218/trac


用admin用户登录后,选择版本库名称,进行设置

不要忘记设置svn
点击右上角找到login,用admin登录
点击[Admin] 进入管理界面,其中:
1.General 下的"Permissions" 管理Trac用户使用权限
2.Account 下的"Users" 管理Trac及SVN的用 (/etc/svn/account)
3.Subversion 下的"Subversion Access" 管理SVN的路径存取权限及SVN用户组 (/etc/svn/authz)
除了新增用户(Users)及修改(Permissions)之外,你如果点菜单栏上的 [Browse Source] 系统会提示权限不足,现在任何用户都不能存取 SVN 版本库里的文件(http://192.168.0.218/svn/pro),因为"/etc/svn/authz" 这个文件是空的,必须到Trac 管理介面的"Subversion Access"设置让用粲涤卸列 "/"  这个路径的权限才行。
##################################################################
General 下的"Permissions" 权限参数解释

版本库浏览器
BROWSER_VIEW 在版本库浏览器中查看目录清单
LOG_VIEW 在版本库浏览器中查看文件和目录的修订日志
FILE_VIEW 在版本库浏览器中查看文件
CHANGESET_VIEW 查看版本库中的变更

传票系统
TICKET_VIEW 查看现有传票和执行传票查询
TICKET_CREATE 创建新的传票
TICKET_APPEND 为传票添加评论或附件
TICKET_CHGPROP 更改传票属性, 包括优先级, 指派到, 关键字等等(描述域除外)
TICKET_MODIFY 包括TICKET_APPEND和TICKET_CHGPROP. 另外, 允许解决传票
TICKET_EDIT_CC 更改抄送字段
TICKET_EDIT_DESCRIPTION 更改描述字段
TICKET_ADMIN 所有TICKET_*权限, 还有删除传票附件和描述域的更改
注意: 需要REPORT_VIEW权限以显示"查看传票"按钮.

路线图
MILESTONE_VIEW         查看里程碑
MILESTONE_CREATE 创建一个新里程碑
MILESTONE_MODIFY 修改现有里程碑
MILESTONE_DELETE 删除里程碑
MILESTONE_ADMIN         所有MILESTONE_*权限
ROADMAP_VIEW         查看路线图页面
ROADMAP_ADMIN         从#3022中删除, 由MILESTONE_ADMIN替换

报表
REPORT_VIEW 查看报表
REPORT_SQL_VIEW 查看报表的底层SQL查询
REPORT_CREATE 创建新报表
REPORT_MODIFY 更改现有报表
REPORT_DELETE 删除报表
REPORT_ADMIN 所有REPORT_*权限

Wiki系统
WIKI_VIEW 查看现有的Wiki页面
WIKI_CREATE 创建新的Wiki页面
WIKI_MODIFY 更改Wiki页面
WIKI_DELETE 删除Wiki页面和附件
WIKI_ADMIN 所有WIKI_*权限, 和只读页面的管理

权限
PERMISSION_GRANT 增加/授予权限
PERMISSION_REVOKE 删除/收回权限
PERMISSION_ADMIN 所有PERMISSION_*权限

其他
TIMELINE_VIEW 查看时间线页面
SEARCH_VIEW 查看和执行搜索查询
CONFIG_VIEW 启用关于Trac的附加页面, 显示现在的配置或已安装插件的列表
EMAIL_VIEW 显示邮件地址, 即使`trac show_email_addresses`配置项是`false`

推荐阅读
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • PHP编程能开发哪些应用?
    导读:很多朋友问到关于PHP编程能开发哪些应用的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • mysql5.6 多实例 主从安装_MySQL5.6一主多从的半同步复制实例
    半同步简介:在默认情况下,MySQL的复制是异步的,这意味着主服务器及其从服务器是独立的。异步复制可以提供最佳的性能,因为主服务器在将更新 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • SVN安装配置和使用
    简介:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS ... [详细]
author-avatar
l87653644
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有