svnmanager搭建
svnmanager
一、
首先需要搭建svn服务器:
yum install subversion
创建版本库:
mkdir -p /svn/test
svnadmin create /svn/test
修改配置文件:
svnserve.conf
authz
passwd
启动svn服务器:
svnserve -d -r /svn
-d 后台运行
-r 设置根目录路径
测试访问:svn://ip/test
端口:3690
关闭:pkill svnserve或者kill pid
二、
配置svn服务器的http支持
安装apache
yum install httpd
因为svn密码为明文,http不支持,所以需要生成一个保存密码的文件,首次创建时需加-c
htpasswd -c /svn/passwd-ht/svnpasswd admin
输入密码:
test
再次加入密码则无需加-c
配置apache:
yum install -y mod_dav_svn mod_authz_svn 使svn和dav模块通信
修改svn配置文件:
在最后添加如下信息:
<Location /svn>
#开启svn
DAV svn
#指定父目录位置,以后所有版本库都将存放在该目录下
SVNParentPath /data/svndata/
#开启svn版本库父目录功能
SVNListParentPath On
#指定授权模式
AuthType Basic
#登陆窗口标题显示提示文字
AuthName "Authorization Realm"
#指定访问版本库的账户和密码存放文件,该文件需要用apache的htpasswd命令创建
AuthUserFile /data/svnpasswd/webpasswd
#指定访问版本库的用户和组的权限控制文件
AuthzSVNAccessFile /data/svnpasswd/authz
#要求验证有效的用户才能访问
Require valid-user
</Location>
访问地址:http:/ip:端口/svn
三、
svn管理工具svnmanager安装配置:
安装依赖:
yum install -y php mysql-server mod_dav_svn php-mysqlnd php-pear php-mbstring
下载svnmanager到/var/www/html下解压
unzip svnmanager-1.10.zip
mv svnmanager-1.10 svnmanager
mv svnmanager /var/www/html/
安装VersionControl_SVN
pear install --alldeps VersionControl_SVN
在http.conf文件中添加新内容
<Directory "/var/www/html/svnmanager/">
AllowOverride None
Order deny,allow
Deny from all
Allow from all</Directory>
创建svnmanager所使用的数据库:
systemctl start mysqld
mysql -uroot -p
mysql >create database svn;
mysql >grant all on svn.* to aaa@qq.com identified by "svnmanagerpass";
mysql >flush privileges;
mysql >quit;
更改svnmanager配置文件:
cd /var/www/html/svnmanager/
cp config.php.linux config.php
修改配置文件
vim config.php
<?php
$lang = "en_US.UTF-8";
$htpassword_cmd = "/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd = "/usr/bin/svnadmin";
// svn配置目录
$svn_config_dir = "/data/svnpasswd";// svn的数据仓库目录
$svn_repos_loc = "/data/svndata";// svn密码目录
$svn_passwd_file = "/data/svnpasswd/webpasswd";// svn认证权限目录
$svn_access_file = "/data/svnpasswd/authz";
$svn_trash_loc = "";
$svnserve_user_file="";
$smtp_server = "smtp.mailserver.net";// svnmanager连接数据库账号密码
$dsn = "mysqli://svnmanager:aaa@qq.com/svn";
// 访问svnmanager web的管理员账号密码
$admin_name = "admin";
$admin_temp_password = "admin";
?>
重启apache,访问http://ip:端口/svnmanager
卸载php-mysql后安装php-mysqlnd,重启http即可。
推荐阅读