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