CentOS7安装SVN和可视化管理工具iF.SVNAdmin

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。正因如此,SVN成了很多公司文件或系统代码管理的首选。下面我们对SVN在Centos7上的安装及其可视化工具iF.SVNAdmin安装配置做一个简要的介绍。
一、安装Apache和PHP
由于iF.SVNAdmin使用php写的,因此我们需要安装php
yum install httpd php
二、安装SVN服务器(其中,mod_dav_svn是Apache服务器访问SVN的一个模块)
yum install subversion mod_dav_svn
三、安装完成后可以通过如下命令查看是否安装成功
httpd -version

svnserve --version

ls /etc/httpd/modules/ | grep svn
在这里插入图片描述四、在Apache下配置 SVN
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
#svn的根目录
SVNParentPath /var/www/svn
#SSL访问权限
#SSLRequireSSL
#Basic认证方式
AuthType Basic
#认证时显示的信息
AuthName “Authorization SVN”
#用户文件&密码
AuthUserFile /var/www/svnconfig/passwd
#访问权限控制文件
AuthzSVNAccessFile /var/www/svnconfig/authz
#要求真实用户,不能匿名
Require valid-user

保存退出!

五、创建SVN 仓库目录和权限信息目录
mkdir /var/www/svn

mkdir /var/www/svnconfig

六、创建SVN权限文件和密码文件
touch /var/www/svnconfig/authz

touch /var/www/svnconfig/passwd

七、安装iF.SVnAdmin
#下载:svnadmin-1.6.2.zip文件(http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download)

wget https://jaist.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip

#解压:

unzip svnadmin-1.6.2.zip

#把解压后的文件 iF.SVNAdmin-stable-1.6.2 拷贝到 /var/www/html/svnadmin

cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin

#更改data目录的读写模式

chmod -R 777 /var/www/html/svnadmin/data/

#更改 /var/www/html/svnadmin/ 权属

chown -R apache:apache /var/www/html/svnadmin/

#更改 /var/www/svn 的读写模式

chmod -R 777 /var/www/svn

#更改下列两个文件的读写模式

chmod 777 /var/www/svnconfig/authz

chmod 777 /var/www/svnconfig/passwd

八、启动Apache服务

systemctl start httpd(默认是80端口)

加入开机自启动

systemctl enable httpd

如果开启了防火墙, 需要开启httpd访问权限

firewall-cmd --permanent --add-service=http

firewall-cmd --zone=public --add-port=90/tcp --permanent

firewall-cmd --reload

通过查看文件/usr/lib/systemd/system/svnserve.service,了解到svnserve的配置文件是/etc/sysconfig/svnserve

修改/etc/sysconfig/svnserve

vim /etc/sysconfig/svnserve

OPTIONS="-r /var/svn"

修改成:OPTIONS="-r /var/www/svn"
启动后浏览器输入http://服务器地址:端口(192.168.0.105:80)/svnadmin/ 后登录,登录后如下图(功力有限分两次截取),输入各个配置文件的路径后点击Test进行测试是否成功,全部成功后保存配置,单击Save configuration按钮在这里插入图片描述在这里插入图片描述
保存后,会在 /var/www/svnconfig/passwd 文件中自动生成默认用户名和密码,都是admin
在这里插入图片描述再次访问:http://192.168.0.105/svnadmin/,输入刚生成的用户名和密码
在这里插入图片描述登录后如下图,可以看到软件版本信息、代码仓库、用户、组、访问路径等
在这里插入图片描述添加新的仓库在这里插入图片描述完成后则会在“代码仓库”中看到新创建的eims仓库
在这里插入图片描述添加新的用户
在这里插入图片描述可以看到用户已经在列表中
在这里插入图片描述添加一个组
在这里插入图片描述可以看到组已经在列表中
在这里插入图片描述人员和组映射关系
在这里插入图片描述OK,还有很多功能就请聪明的你自己去琢磨了,比如如何创建访问路径、访问路径权限如何设置等

九、碰到的坑 以上确实是简单方便,但笔者也碰到了一个大坑也给大家讲讲。 在配置完成后,新增的用户虽然都赋予了读写权限,但是实际上使用TortoiseSVN上传时在提交的时候还是被提示拒绝访问。 解决方案:原来是协议不对,把svn的上传地址从svn://192.168.0.105/eims改成http://192.168.0.105/svn/eims就可以了。