第一种:基于SVN+Apache+IF.svnadmin支持https实现web管理SVN:
1、简单介绍:
iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI。它基于PHP 5.3,需要安装一个Web服务器(Apache)。该应用程序不需要数据库后端或任何类似的,它完全基于Subversion授权和用户认证文件。(+包含用户和组的LDAP支持)
2、软件准备:
[root@localhost ~]#yum install wget unzip php httpd mod_dav_svn subversion -y
查看是否安装成功:
[root@localhost ~]#httpd -version [root@localhost ~]#svnserve --version [root@localhost ~]#ls /etc/httpd/modules/ | grep svn
3、配置apache:
[root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf
1 LoadModule dav_svn_module modules/mod_dav_svn.so 2 LoadModule authz_svn_module modules/mod_authz_svn.so 3 <Location /svn> 4 DAV svn 5 #vn的根目录SSLRequireSSL SSL访问权限 6 SVNParentPath /var/www/svn 7 #Basic认证方式 8 AuthType Basic 9 #认证时显示的信息 10 AuthName "Authorization SVN" 11 #用户文件&密码 12 AuthUserFile /var/www/svn/passwd 13 #访问权限控制文件 14 AuthzSVNAccessFile /var/www/svn/authz 15 #要求真实用户,不能匿名 16 Require valid-user 17 </Location>
4、建立SVN Server仓库:
#创建存储仓库的目录 [root@localhost ~]# mkdir /var/www/svn #创建仓库 [root@localhost ~]# svnadmin create /var/www/svn/warehouse #文件夹授权 [root@localhost ~]# chown -R apache.apache /var/www/svn #创建用户文件passwd和权限控制文件authz [root@localhost ~]# touch /var/www/svn/passwd [root@localhost ~]# touch /var/www/svn/authz
5. 配置安装PHP&IF.SVNadmin
[root@localhost ~]# cd /tmp [root@localhost tmp]# wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download [root@localhost tmp]# unzip iF.SVNAdmin-stable-1.6.2 [root@localhost tmp]# mkidr -p /var/www/html/svnadmin [root@localhost tmp]# cp -r iF.SVNAdmin-stable-1.6.2/* /var/www/html/svnadmin [root@localhost tmp]# cd /var/www/html [root@localhost html]# chown -R apache.apache svnadmin [root@localhost html]# cd /var/www/html/svnadmin [root@localhost html]# chmod -R 777 data [root@localhost html]# chmod -R 777 /var/www/svn/passwd [root@localhost html]# chmod -R 777 /var/www/svn/authz [root@localhost html]# vim /etc/sysconfig/svnserve
OPTIONS="-r /var/www/svn"
6.关闭防火墙,启动服务
[root@localhost html]# firewall-cmd --permanent --add-service=http [root@localhost html]# firewall-cmd --permanent --add-service=https [root@localhost html]# firewall-cmd --reload [root@localhost html]# systemctl start httpd [root@localhost html]# systemctl enable httpd
7.配置:
浏览器地址输入http://ip/svnadmin出现配置界面,输入下图中配置信息,输入每个配置信息可以点击旁边的Test测试是否输入正确,最后保存配置
8.如果需要使用https,建议你使用公网证书,对配置做哪下配置:
[root@localhost ~]#vim /etc/httpd/conf.d/ssl.conf #这里配置证书路径 SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key SSLCertificateChainFile /etc/pki/tls/certs/example.com.ca-bundle
第二种:只安装服务器核心,通过命令行来管理
1、yum 安装subversion
[root@localhost /] yum install subversion
2、创建仓库
[root@localhost /]# cd /home
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn
3.配置passwd
[root@localhost conf]# vi passwd [users] test1=123456 test2=123456
4、配置authz
[root@localhost conf]# vi authz [/] liuxianan=rw test1=r test2=r *=
5、使用用户分组
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
[root@localhost conf]# vi authz [groups] group1 = liuxianan group2 = test1,test2 [/] @group1 = rw @group2 = r * =
6、配置svnserve.conf
[root@localhost conf]# vi svnserve.conf #匿名用户可读 anon-access = read #授权用户可写 auth-access = write #使用哪个文件作为账号文件 password-db = passwd #使用哪个文件作为权限文件 authz-db = authz # 认证空间名,版本库所在目录 realm = /home/svn
7、启动与停止
[root@localhost conf]# svnserve -d -r /home/svn(启动)
[root@localhost conf]#kill all svnserve(停止)
客户端安装
https://www.cnblogs.com/ygj0930/p/6623148.html
其它参考链接
https://www.runoob.com/svn/svn-tutorial.html