关于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