介绍说明
本文介绍的是CentOS7上搭建基于Apache、SVN Server、svnadmin实现web后台可视化管理SVN。
SVNAdmin应用程序是Subversion授权文件基于Web的GUI。该应用程序不需要数据库后端,它完全基于Subversion授权和用户认证文件。
旧版卸载
rpm -e subversion
软件准备
安装apache
yum install httpd -y
安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块)
yum install mod_dav_svn subversion -y
在apache下配置svn
SVNParentPath /svn #svn的根目录
#SSLRequireSSL #SSL访问权限,不使用
AuthType Basic #Basic认证方式
AuthName "Authorization SVN" #认证时显示的信息
AuthUserFile /svn/passwd.http #用户文件&密码
AuthzSVNAccessFile /svn/authz #访问权限控制文件
Require valid-user #要求真实用户,不能匿名
vim /etc/httpd/conf.d/subversion.conf
#配置如下内容
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
建立SVN Server仓库
mkdir -p /svn
chown -R apache:apache /svn
chmod -R 777 /svn
创建用户文件passwd和权限控制文件authz
touch /svn/passwd.http
touch /svn/authz
chmod -R 777 /svn/passwd.http
chmod -R 777 /svn/authz
重启httpd
systemctl restart httpd.service #重启httpd
systemctl enable httpd.service #设置开机启动
安装mysql
参考:
https://www.cnblogs.com/lgqboke/p/6873734.html
https://www.cnblogs.com/starof/p/4680083.html
创建svn数据库
安装jsvnadmin
下载连接
链接:https://pan.baidu.com/s/1k-TQStBpKWfu1kHvRZL9ew
提取码:qoej
使用Tomcat7部署svnadmin
上传tomcat
tar -zxvf apache-tomcat-7.0.57.tar.gz
mv apache-tomcat-7.0.57 svnadmin-tomcat
上传svnadmin.war
cd svnadmin-tomcat/webapps
unzip svnadmin.war -d svnadmin
修改配置
cd svnadmin/WEB-INF
vi jdbc.properties
#修改为自己的mysql数据库连接
创建svnadmin数据库并导入相应数据(UTF-8编码)
执行db/mysql5.sql 和db/lang/en.sql
修改svn配置文件
vi /etc/sysconfig/svnserve
#内容
OPTIONS="-r /svn" #svn主库目录
重启服务
systemctl restart httpd.service
svnadmin配置管理
启动svnadmin-tomcat
/root/svnadmin-tomcat/bin/startup.sh
浏览器访问:http://192.168.xx.xxx:9000/svnadmin/
自己设置一个用户名和密码
创建svn库,选择(http多库)
授权svn库目录权限
cd /svn
chown -R apache:apache bitest/
chmod -R 777 bitest/
新增用户,很简单自行增加
设置用户组,进入后选择设置用户
这里在讲一下新建用户组,配置只读权限
选择“设置用户组”进入用户组管理,增加readonly 组,配置只读用户
进入svn库
问题
认证失败:需要配置库目录权限,为apache用户组
cd /svn
chown -R apache:apache 目录
chmod -R 777 目录
svn: E175002: OPTIONS of '/svn/test': 500 Internal Server Error
关闭SELinux(Linux的访问控制)
vi /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled
#重启服务器
reboot
参考文献:
svn安装参考
https://blog.csdn.net/huanxianglove/article/details/79487494
mysql安装参考
http://jingyan.baidu.com/article/acf728fd10c3d6f8e510a3ef.html