`
aben328
  • 浏览: 1460508 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

Centos5.2+svnmanager

    博客分类:
  • SVN
阅读更多

很久没有写些东西了,今天下午老大给我说公司的subversion现在认证用户只是写在配置文件里,比较麻烦。让我试着配配svnmanager,用它来管理会好些。参考网上的一些资料,下午已经配置成了,简单的步骤写写:)

 
一、环境
Centos5.2+apache+subversion+mysql+php
 
这些都是系统安装时,一起安装上的,没有什么好说的。
 
除了上面的软件外,还有几个包关系到后面的安装:
php-mysql
php-pear
mod_dav_svn
 
通过如下命令检查:
#rpm -qa |grep php
#rpm -qa |grep mod_dav_svn
 
没有安装的话,用安装盘或yum安装就行。
 
二、集成SVN和Apache
 
1.创建仓库
 

# mkdir - p / var / svn/ repos
# svnadmin create / var / svn/ repos/ test

#chown -R apache:apache /var/svn

2.配置apache

添加如下内容:

LoadModule dav_svn_module modules/ mod_dav_svn. so

LoadModule authz_svn_module modules/ mod_authz_svn. so  #svn使用,顺序也要这样

 

< Location / svn/ >
        DAV svn
        SVNListParentPath on
        SVNParentPath / var / svn/ repos             #仓库路径
        AuthType Basic
        AuthName "ZGSM SVN"
        AuthUserFile / var / svn/ passwdfile
        AuthzSVNAccessFile / var / svn/ accessfile
        Require valid- user
< / Location>

3.创建密码文件及访问文件

#touch /var/svn/passwdfile

#touch /var/svn/accessfile

#chown apache:apche passwdfile accessfile

4.启动apache并验证svn

#service httpd start

在浏览器里输入http://192.168.254.128/svn/test ,看是否有提示输入用户名密码,有吗?哈哈

三、安装和配置svnmanager
 
1.下载svnmanager
 
解压并放置到/var/www/html/下
#tar zxvf svnmanager-1.03.tgz
#mv svnmanager-1.03 svnmanager
#mv svnmanager /var/www/html/
 
2.安装VersionControl_SVN
 
还记得我们最开始提到的php-pear包,安装这个包后会有/usr/bin/pear命令,我们使用它来安装VersionControl_SVN,最新的版本为0.3.1,输入下面的命令:
#pear install --alldeps VersionControl_SVN-0.3.1
 
 
3.向http.conf文件添加新内容
#vi /etc/httpd/conf/httpd.conf            添加如下内容是为了更安全:
 

< Directory "/var/www/html/svnmanager/" >
        AllowOverride None
        Order deny, allow
        Deny from all
        Allow from all
< / Directory>

 

4.创建svnmanager使用的mysql数据库

#service mysqld start

# mysql
mysql> create database svn;
mysql> grant all on svn. * to svnmanager@ localhost identified by "111111" ;
mysql> flush privileges;
mysql> quit;

 

5.更改svnmanager的配置文件

#cd /var/www/html/svnmanager/

#mv config.php.linux  config.php

#vi config.php                改为如下内容:

< ? php

$ htpassword_cmd = "/usr/bin/htpasswd" ;
$ svn_cmd = "/usr/bin/svn" ;
$ svnadmin_cmd = "/usr/bin/svnadmin" ;

//Subversion locations

$ svn_repos_loc = "/var/svn/repos" ;
$ svn_passwd_file = "/var/svn/passwdfile" ;
$ svn_access_file = "/var/svn/accessfile" ;

//If the following is set, removing a repository will cause it to be

//moved to this location rather than being deleted.

$ svn_trash_loc = "" ;

//$svnserve_user_file = "/var/www/repos/svnserve_passwd_file";

$ svnserve_user_file = "" ;

//SMTP Server for outgoing mail

$ smtp_server = "smtp.mailserver.net" ;



$ dsn = "mysqli://svnmanager:111111@localhost/svn" ;


$ admin_name = "admin" ;
$ admin_temp_password = "admin" ;

? >

6.验证

重启apache,然后从浏览器里输入http://192.168.254.128/svnmanager ,出现了吗?:)

 

四、汉化
 

首先下载汉化包,下载地址:

http://bbs.iusesvn.com/thread-2122-1-1.html


我们把汉化包里的文件都替换到现有/var/www/html/svnmanager里的文件之后,还有几步要做:
1.更改/etc/php.ini文件,设置
default_charset='gb2312' 或 
default_charset='gbk‘
 
2.更改/etc/httpd/conf/httpd.conf文件,设置
AddDefaultCharset GB2312  或
AddDefaultCharset GB2312
 
重启apache之后就可以看到中文页面了,:)
 
 
五、未解决的问题:中文目录名显示不正常

 
我想大家在上面那个汉化包的下载地址已经看到了关于中文目录名的解决方法,但是我按照上面的方法做,svnmanager里用户权限设置的下拉列表里,依然无法正常显示中文目录名。我是这么做的:
 
1.修改/etc/my.cnf文件,在相应的标签下添加:
[mysqld]
character-set-server=gbk
collation-server=gbk_chinese_ci
default-character-set=gbk

[mysql.server]
default-character-set=gbk
[mysqld_safe]
default-character-set=gbk
[client]
default-character-set=gbk
 
之后用service mysqld restart重启数据库,然后用
mysql>status   
查看字符集如下,默认的是latin1。
Server characterset  gbk
Db characterset      gbk

Client characterset  gbk
Conn characterset    gbk

 
2.重建数据库
因为我们上面已经建立过svnmanager使用的数据库,且字符集是latin1,现在重新建立:
#mysql
mysql>drop database svn;
mysql>create database svn;
mysql>grant all on svn.* to svnmanager@localhost
 identified by '111111';
mysql>flush privileges;
mysql>quit
 
3.修改svnmanager里的文件
(1)修改程序中连接数据库的字符集,也就是adodb的链接部分:
在文件 /var/www/html/svnmanager/prodo-0.2.3/framwork/data/adodb/drivers/adodb-mysqli.inc.php 中88行 

if ($argDatabasename)  return $this->SelectDB($argDatabasename);
语句前加入 一下语句:mysqli_query($this->_connectionID,"set names'gbk'");

 
(2)更改/var/www/html/svnmanager/svnmanager/library/class.accessfile.php
在文件 /libarary/class.accessfile.php 中第177行 


require ("config.php");


语句前加入以下语句 $accessfile = mb_convert_encoding($accessfile,'UTF-8','GBK');


 
 
4.重启apache,再连接http://192.168.254.128/svnmanager/index.php
,仓库的注释部分倒是可以输入中文了。
但到用户权限的页面还是无法正常显示中文目录名。


 
 
另外也试了其它几种配置,甚至重新编译mysql,默认字符集制定gbk,可都不成功,郁闷!如果哪位大侠成功了,还望执教!!!


 
 
 
六、后记



svn建立的仓库是不支持中文的,但是仓库的下面可以存在中文目录。而且如果你之前就配置过svn的用户及权限,那么使用svnmanager不能把它们导入,需要全部重新建立。


 
 
2008-10-29 晚 22:10


分享到:
评论
1 楼 hangxin06066 2010-08-12  
你好,谢谢分享!
1、直接修改SVN的两个配置文件, svnserve.conf 和 authz.conf进行权限配置,配置成功
2、用SVNmanager(SVN图像化控制)来新增或修改库文件,修改后发现原先配置好的权限文件内容被清空,变成未手动修改权限之前的权限
用svnmanager进行操作时将会对那两个文件进行重新写入

这是怎么回事呢?要怎样配置才能保证svnmanager的数据库中和配置文件里的信息的一致。

相关推荐

    Centos 5.2 + Raid0+LVM+ISCSI 配置详解

    ### CentOS 5.2 + RAID0 + LVM + iSCSI 配置详解 #### 一、背景介绍 本文档旨在详细介绍如何在CentOS 5.2系统环境下配置RAID0磁盘阵列,并在此基础上进一步配置逻辑卷管理器(LVM)及iSCSI存储服务。目标是为现有的...

    centos 下apache+svn安装.docx

    总结来说,CentOS上Apache和Subversion的安装涉及下载源码、安装依赖、编译安装软件、配置Apache以支持SVN以及创建和配置版本库。整个过程需要对Linux系统、Apache服务器以及Subversion有一定了解,但遵循上述步骤,...

    CentOS5.2图示安装

    《CentOS5.2 图示安装详解:新手友好指南》 CentOS 5.2 是一个基于Linux的服务器操作系统,以其稳定性和强大的企业级功能而备受赞誉。对于初学者来说,进行一次完整的安装可能显得有些复杂,但通过图示化的安装步骤...

    centos6+centos7+centos8-升级openssh到9.8p1

    centos6+centos7+centos8-升级openssh到9.8p1

    Linux(centOS5.2)图文教程

    Linux(centOS5.2)图文教程 自己编写,希望对你有帮助

    Centos7+python3.9.6的dockerfile

    Centos7+python3.9.6的dockerfile

    centos搭建PHP+mysql+apache+svn

    非常便利的centos搭建PHP+mysql+apache+svn环境搭建文档,只需复制粘贴

    centos5.2安装文档

    linux centos5.2图形安装手册

    Centos5.0-5.2_32x64dvd镜像下载种子.rar

    Centos历史版本资源下载,Centos5.0-5.2_32x64dvd镜像下载种子torrent

    Centos5.2安装过程[VMware虚拟机]

    《CentOS 5.2 在 VMware 虚拟机中的安装步骤详解》 在IT领域,熟练掌握操作系统安装是基础技能之一,尤其是对于Linux系统,如CentOS。本文将详细介绍如何在VMware虚拟机上安装CentOS 5.2,这对于初学者来说是一份极...

    centos5.2下配置apache+mysql+php

    ### CentOS 5.2 下配置 Apache + MySQL + PHP 在 CentOS 5.2 系统上搭建 LAMP(Linux + Apache + MySQL + PHP)环境是一项常见的任务,它为 Web 开发提供了一个强大的平台。本文将详细介绍如何从源码安装 Apache、...

    Cent OS上配置Apache2 + SVN

    Cent OS上配置Apache2 + SVN Cent OS上配置Apache2 + SVN

    CentOS 5.2 下安装JDK

    本TXT文件为第一章:Linux 下安装 JDK 测试环境:系统 CentOS 5.2 第一步:查看Linux自带的JDK是否已安装并卸载…… 第二步:安装JDK步骤…… 第三步:配置环境变量 三步完成安装 其他安装请见...

    基于 CentOS 5.2 的RHCS 的高可用性解决方案

    基于 CentOS 5.2 的RHCS 的高可用性解决方案基于 CentOS 5.2 的RHCS 的高可用性解决方案

    CentOS5.2 jsp服务器

    【标题】:“CentOS5.2 jsp服务器” 在IT领域,CentOS 5.2 是一个基于Linux的开源操作系统,它广泛应用于服务器环境,尤其是作为Web服务的基础。本主题聚焦于如何在CentOS 5.2上配置并运行一个支持JSP(JavaServer ...

    centos6+python3.6+django2+ansible2.4+celery4.2 运维管理系统

    centos6+python3.6+django2+ansible2.4+celery4.2 运维管理系统,目前实现功能:用户和用户组管理、资产管理、集成ansible2.4、简易堡垒机(主机分配支持rdp以及vnc、用户分配、文件上传下载、配置禁用命令清单、操作...

    CentOs5.2下安装php5.0.4及eaccelerator

    NULL 博文链接:https://yy-web.iteye.com/blog/272348

    linux / centos apache server + svn

    标题 "Linux / CentOS Apache Server + SVN" 涉及到的是在Linux CentOS操作系统上搭建Apache Web服务器,并结合Subversion(SVN)进行版本控制的知识。Apache是广泛应用的开源Web服务器,而Subversion则是一个用于...

Global site tag (gtag.js) - Google Analytics