CentOS6.x下yum安装svnmanager管理httpd代理的svn仓库

关于yum的镜像配置省略,使用国内镜像能显著加快安装。不同于编译安装,预编译的包能节省大量时间。svnmanager运行需要mysql的数据库,这里省略。

安装软件

安装svn

$ yum install subversion

安装httpd

$ yum install httpd
#安装svn的httpd扩展模块
$ yum install mod_dav_svn

安装php

$ yum install php.x86_64
#安装需要php的扩展
$ yum install php-pear.noarch
#宽字符支持解决中文乱码问题,需要svnmanager1.10
$ yum install php-mbstring
#php的mysql连接库
$ yum install php-mysql
#安装pear库的svn操作扩展
$ pear install VersionControl_SVN-0.3.4

安装svnmanager

下载svnmanager最新版本,svnmanager1.10 解压到/var/www/html下,改名目录svnmanager-1.10为svnmanager;

配置

使用yum安装,会自动在/etc/httpd/conf.d下增加php.conf和subversion.conf; 修改subversion.conf

#定义网页目录为/svn
<Location /svn>
#开启svn
   DAV svn
#指定父目录位置,以后所有版本库都将存放在该目录下
   SVNParentPath /var/svn/repos
#开启svn版本库父目录功能
   SVNListParentPath On
#指定授权模式
   AuthType Basic
#登陆窗口标题显示提示文字
   AuthName "Authorization Realm"
#指定访问版本库的账户和密码存放文件,该文件需要用apache的htpasswd命令创建
   AuthUserFile /var/svn/conf/passwdfile
#指定访问版本库的用户和组的权限控制文件
   AuthzSVNAccessFile /var/svn/conf/accessfile
#要求验证有效的用户才能访问
   Require valid-user
</Location>

注意,/var/svn/repos及passwdfile和accessfile文件,apache用户需要有权限读写;

$ chown -R apache.apache /var/svn

复制svnmanager下config.php.linux为config.php,修改

#svn命令的执行命令位置
$svn_cmd                                =       "/usr/bin/svn";
$svnadmin_cmd                           =       "/usr/bin/svnadmin";

#svn的配置目录(貌似是单库时起作用)
$svn_config_dir                         =       "/var/svn";
#svn仓库的父目录
$svn_repos_loc                          =       "/var/svn/repos";
#用户密码文件
$svn_passwd_file                        =       "/var/svn/conf/passwdfile";
#访问控制文件
$svn_access_file                        =       "/var/svn/conf/accessfile";
#svnmanager数据库连接
$dsn                                    =       "mysql://username:pwd@localhost/dbname"; 
#默认管理员名
$admin_name                             =       "admin";
#默认管理员密码
$admin_temp_password                    =       "admin";

重启httpd服务

$ service httpd restart

访问 http://ip/svnmanager,默认管理员名和密码登录,记得修改一次密码; 可以创建仓库和添加用户,并分配权限了。 svn的访问路径是http://ip/svn/reposname

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 B...