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

[经验分享] svn,apache,trac整合

[复制链接]
发表于 2018-11-27 07:12:47 | 显示全部楼层 |阅读模式
  1、通过yum安装必要的包:
yum install -y openssl openssl-devel mod_ssl   apr apr-util
yum install -y libxml2-python mod_python python-devel python    安装python的相关模块
yum install -y sqlite python-sqlite     安装sqlite相关软件包,如果只用数据库,这步可以省略
yum install -y mod_auth_mysql mysql-server mysql mysql-devel MySQL-python   安装mysql相关软件
yum install -y httpd    安装mysql以及相关包
  创建相应文件和文件夹,赋予权限
mkdir -p /etc/svn                 (SVN 配置文件目录)
mkdir -p /svn/gc            (SVN 项目根目录)
mkdir -p /trac/gc           (Trac根目录)
touch /etc/svn/account            (Trac+SVN 用户密码文件)
touch /etc/svn/authz              (SVN 用户权限文件)
chown -R apache:apache /etc/svn   (所有者和组必须为apache,不然Trac无法更新配置文件)
  2、通过yum安装Trac和相关包
把下边的地址加入到/etc/yum.repos.d/CentOS-Base.repo
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
  yum安装trac和相应的包
yum -y install clearsilver python-clearsilver  安装clearsilver
yum -y install subversion subversion-perl mod_dav_svn trac
  
3、安装eggs插件,不装无法使用,报错!!!
cd
wget http://peak.telecommunity.com/dist/ez_setup.py     安装easy_install,以便下边安装插件
python ez_setup.py
mkdir /var/www/.python-eggs
chown apache:apache  /var/www/.python-eggs
mkdir  /trac/gc/.egg-cache
chown apache:apache  /trac/gc/.egg-cache

以 easy_install 安装4个实用的Trac插件 (安裝Trac0.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账号及权限管理
  4、新建一个svn项目,然后用trac来管理svn的流程:
  创建svn项目:
svnadmin create /svn/gc/product001                (创建SVN版本库,版本库名称为:pro)
chown -R apache:apache /svn/gc/product001         (用户和所有组必须为apache,否则trac无法写版本库里的文件)
  创建MySQL数据库[如果你用SQLite做为Trac的数据库,此步可忽略]
登陆MySQL
#mysql mysql -u root -p
创建用户trac
mysql>GRANT ALL PRIVILEGES ON *.* TO trac@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
创建数据库,注意:如果你想在Trac中使用中文,必须设定数据库编码是utf8,MySQL缺省编码方式是latin1
mysql>CREATE DATABASE IF NOT EXISTS trac_telecom default charset utf8 COLLATE utf8_general_ci;
  创建trac项目:
trac-admin /trac/gc/product001 initenv            //创建trac项目
各项如下
Project Name [My Project]> product001                   //项目名称:pro,这里最好和SVN版本库名一样,方便管理和记忆
Database connection string [sqlite:db/trac.db]>mysql://trac:password@192.168.0.235:3306/trac_telecom2  //这里我们用MySQL数据库,如果用SQLite直接回车即可  
上一步出现错误:不能连接数据库,解决办法可以把mysql配置文件中的skip-networking给注释掉
Repository type [svn]>直接回车 //仓库类型svn回车   
Path to repository [/path/to/repos]>/svn/gc/product001  //输入svn项目库路径   
Templates directory [/usr/share/trac/templates]>直接回车   //模板路径,如果你安装的时候选择了Trac安装路径,那么这里要改写成正确的Trac安装路径  

vim /trac/gc/product001/conf/trac.ini             (修改trac配置文件)
找到
max_size = 10000000                               (支持最大文件10M)
repository_dir = /svn/gc/product001               (这里要指定svn版本库的路径,必须指定!!!)
  找到[header_logo]区域
src = site/logo.gif   (此参数设置LOGO)
保存退出   (:wq)
chown -R apache:apache /trac/gc/product001        (用户和所有组必须为apache,否则trac无法写项目里的文件)
  修改httpd配置,增加虚拟主机,并配置svn和trac的http密码
Listen 8080(增加一个监听的端口,注意:不是修改,是增加
  在配置文件末尾增加下边内容:
  
DocumentRoot /var/www/html/
ServerName 192.168.0.252:8080

DAV svn
SVNParentPath /svn/gc #设置项目的根目录
SVNListParentPath on
  AuthType Basic
AuthName "SVN Repository"
AuthUserFile /etc/svn/account#设置认证文件,用的是htpasswd生成的密码
Require valid-user

  
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /trac/gc
PythonOption TracUriRoot /trac
  AuthType Basic
AuthName "Trac Project"
AuthUserFile /etc/svn/account #trac的认证和svn用的相同认证文件
Require valid-user


  用http协议连接时,用http的密码机制限制限制用户权限:
  增加svn和trac的http认证的用户名和密码
htpasswd /etc/svn/account lgq增加user账户
  用svn协议连接时,用svn自带的机制来管理用户权限:
首先要启动svn服务端:svnserve -d -r /svn        #端口默认是3690
  [root@gc252 ~]# cd /svn/gc/product001/conf
[root@gc252 conf]# ll
总计 12
-rw-r--r-- 1 apache apache  960 2011-08-06 authz
-rw-r--r-- 1 apache apache  301 08-06 10:03 passwd
-rw-r--r-- 1 apache apache 2318 08-06 10:03 svnserve.conf
用上述的三个配置文件来管理svn协议登录的账户和密码
  先设置svnserver.conf
vim svnserver.conf
  anon-access = none(等号两边一定要有空格)
password-db = passwd
authz-db = authz
  然后配置authz
然除了user,admin这两个用户有读写的权限,其他账户没有权限
[groups]
administrator = admin,user
  [/]
@administrator = rw
* =
  为账户设置密码:
vim passwd
  [users]
admin = 123456
user = 123456




运维网声明 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-640014-1-1.html 上篇帖子: apache+svn安装 下篇帖子: MYSQL+APACHE+PHP (动态安装apache实验中)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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