IF.SVNadmin是一个web管理工具,安装后可以在web管理用户及用户组权限等功能,较为方便的管理,可视化管理非常的nice;
#首先确认一下centos yum 可以正常使用 不行的话百度一下怎么解决
1、安装apache 和php
yum install httpd php
httpd -version#查看是否安装成功
2、php -v 查看PHP版本 如果是》5.3版本 请执行{yum install php-json php-xml}
#安装SVN服务器
3、yum install subversion mod_dav_svn
svnserve --version#查看是否安装成功
ls /etc/httpd/modules/ | grep svn #查看是否安装成功mod_dav_svn
#修改apacheSVN的配置
4、sudo vim /etc/httpd/conf.d/subversion.conf
#/etc/httpd/conf.d/subversion.conf文件编写包含以下内容
<Location /svn>
DAV svn
#svn的根目录
SVNParentPath /var/www/svn
#SSL访问权限
#SSLRequireSSL
#Basic认证方式
AuthType Basic
#认证时显示的信息
AuthName "Authorization SVN"
#用户文件&密码
AuthUserFile /var/www/svnconfig/passwdfile
#访问权限控制文件
AuthzSVNAccessFile /var/www/svnconfig/accessfile
#要求真实用户,不能匿名
Require valid-user
</Location>
#创建SVN存储库
5、mkdir /var/www/svn
# 更改 /var/www/svn 的读写模式
sudo chmod -R 777 /var/www/svn
#创建用户访问控制文件
6、touch /var/www/svnconfig/passwdfile
touch /var/www/svnconfig/accessfile
# 更改下列两个文件的读写模式
chmod 777 /var/www/svnconfig/passwdfile
chmod 777 /var/www/svnconfig/accessfile
#安装iF.SVnAdmin
7、cd /var/www/html/
# 下载:svnadmin-1.6.2.zip文件
sudo wget https://jaist.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip
# 把解压后的文件 iF.SVNAdmin-stable-1.6.2 拷贝到 /var/www/html/svnadmin
sudo mv 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/
8、启动Apache服务
systemctl start httpd(注意:这里我把Apache的端口改成了90,默认是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"
9、登录if.svnadmin
http://ip:port/svnadmin
#配置信息如下
key | value |
---|---|
Subversion authorization file | /var/www/svnconfig/accessfile |
User authentication file (SVNUserFile) | /var/www/svnconfig/passwdfile |
Parent directory of the repositories (SVNParentPath) | /var/www/svn |
Subversion client executable | /usr/bin/svn |
Subversion admin executable | /usr/bin/svnadmin |
10、使用 admin/admin 登录系统并测试创建用户、用户组、仓库及svnClient测试:尤其需要注意的事
Client{小乌龟}访问地址是:http://{ip}:{port}/svn/{仓库名称}
例如:http://192.168.1.46:8888/svn/demo/
权限相关
用户:用户登录之后只能修改自己的密码,其他什么权限都没有
用户-组管理员:可以添加用户,添加组,也可以分配用户到具体的组,还可以替用户修改密码。
更新管理员:和用户一样,基本没什么权限
角色管理员:为用户分配角色(其他无任何功能)
代码仓库创建者:只能创建,不能删除
代码仓库管理员:可以创建、删除代码仓库
访问路径管理员:创建、删除访问路径
超级管理员:全功能权限
配置相关
用户组如果没有人员不要赋予权限给仓库权限 会导致所有用户403错误
Failed to load the mod_authz_svn config: Error while parsing config file: '/var/www/svnconfig/accessfile': Access entry refers to undefined group '@PM'
解决方案任意一种:
1、PM 增加用户
2、删除PM组
3、解除PM组的授权行为
客户端访问地址
Client{小乌龟}访问地址是:http://{ip}:{port}/svn/{仓库名称}