简介:
linux下的Subversion没有图形化界面,在管理用户和配置权限上不是很直观。为了便于操作可以搭配iF.SVNAdmin进行管理。
iF.SVNAdmin 是一个基于 Web 的,用来管理 Subversion 的认证文件的项目。无需数据库支持,直接对 Subversion 的认证文件和用户认证文件进行设置,支持 LDAP,同时也可以用来创建和删除版本库,以及对版本库进行浏览。
1、基础环境搭建:
软件版本
CentOS Linux release 7.7.1908 (Core)
Apache/2.4.6
PHP 5.4.16 (cli)
svnserve, version 1.7.14 (r1542130)
关闭防火墙,selinux ,安装apache,svn, php 这几个组件
yum install httpd
yum install mod_dav_svn
yum install subversion
yum install php
2、编辑apache配置文件
vi /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /var/www/svn #仓库项目路径可以自定义
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /var/www/svnconfig/passwdfile
AuthzSVNAccessFile /var/www/svnconfig/accessfile
Require valid-user
</Location>
3、创建存放SVN目录和权限信息:
mkdir -p /var/www/svn #仓库项目路径可以自定义
mkdir -p /var/www/svnconfig #ifsvnadmin账户权限配置文件
chown -R apache:apache /var/www/svn
touch /var/www/svnconfig/accessfile
touch /var/www/svnconfig/passwdfile
chown -R apache:apache /var/www/html/svnadmin/ #更改/var/www/html/svnadmin/权属
chmod 777 /var/www/svnconfig/accessfile
chmod 777 /var/www/svnconfig/passwdfile
4、安装iF.SVnAdmin
软件下载地址 http://svnadmin.insanefactory.com/
unzip svnadmin-1.6.2.zip
把解压后的文件 iF.SVNAdmin-stable-1.6.2考贝 到/var/www/html/svnadmin
更改data目录的读写模式
# chmod -R 777 /var/www/html/svnadmin/data/
5、登陆web端
启动httpd服务
systemctl start httpd
http://ip/svnadmin/
默认账户密码:admin/admin
进入网页后需要先填写参数信息:
Subversion authorization file ///var/www/svnconfig/accessfile权限文件
User authentication file (SVNUserFile) ///var/www/svnconfig/passwdfile账户信息文件
Parent directory of the repositories (SVNParentPath) //svn仓库项目
Subversion client executable /usr/bin/svn
Subversion admin executable /usr/bin/svnadmin
扩展知识点:
svn主要有两种访问方式:svn和http方式,是两种不同的访问协议,根据后台启动的方式来区分
方式:1)svn协议访问,启动svn服务svnserve -d -r /root/svnrepo,客户端可以通过svn协议访问,对应的访问方式:URL:svn://10.0.102.176/项目路径,权限及用户数据存储在authz和passwd文件内;
方式:2)httpd服务,客户端可以通过http协议访问,对应的版本库URL:http://10.0.102.176/svn/项目路径,后台管理进程主要是apchace守护;权限及用户数据存储在ifsvnadmin 设置的accessfile和passwdfile中;
两种方式在一台svn服务器可以同时访问,需要注意的是,http访问是有apache进程守护,所以生成的svn数据所有者是apache,未来保证项目数据的所有者一致,svn服务启动也需要通过apache用户进行启动。