Linux/Centos7部署SVN服务器
1.查看IP地址
我用的Vmware Workstation安装的centos7.8,网络连接选择NAT模式,有时候会出现无法连接本地网络的问题,是因为本地服务没有打开,“Win”+“R”,输入“services.msc”,找到“DHCP”和“NAT”打开就可以了。
如果没有以上问题,网络连接正常,直接查看本机ip地址即可。
ifconfig
2.连接Xshell
名称可以随便,协议SSH,主机为本机ip(第一步查到的)端口号22。
如下显示已连接。
3.安装SVN
yum -y install subversion
4.建立版本库目录
mkdir -p /data/svn/repository
5.创建配置文件。
svnadmin create /data/svn/repository
6.打开配置文件。
cd /data/svn/repository/conf
7.查看配置文件。
查看conf目录下是否有“passwd”;“authz”;“svnserve.conf”三个文件。
ls
8.修改用户配置
设置了三个用户,admin;svn;test,admin = 123456表示用户名admin,密码123456。(插入:“i”;保存并退
出:“Esc”+“:wq”。)
vi passwd
9.权限控制配置。
vi authz
权限控制可以有分组与不分组两种,如下表示 根目录下,用户admin;svn有读写权限,test只读,其他用户无读写权限。
[/]:根目录
rw:读写
r:只读
:无读写权限
*:其他用户
如果用户较多,可以设置分组,下面配置文件中,定义了一个用户组admin,该用户组包含用户admin、svn,定义了两个版本
库路径权限段,admintools只有用户组admin可读写,其他用户无权限,版本库demo中路径/usr/test/只有用户组test有读写权
限,其他用户只读。
10.修改服务配置
修改,去掉前面的#
anon-access = none --匿名用户(默认可读改成了无权限)
auth-access = write --授权用户(默认读写)的读写权限
password-db = passwd --指定账号文件(默认passwd)
authz-db = authz --权限文件(默认authz)的路径
realm = My First Repository --仓库名称
vi svnserver.conf
11.启动SVN服务
svnserve -d -r/data/svn/repository
12.查看服务
出现 root 11733 1 0 21:49 ? 00:00:00 svnserve -d -r/data/svn/repository,该路径与创建仓库路径相同,svn服务
启动成功。
ps -ef |grep svn
13.测试SVN服务器
使用TortoiseSVN测试是否可以使用,地址svn:192.168.142.128(SVN服务器IP地址),发现无法连接,关闭防火墙后正常连接,
这个原因是因为SVN端口没有打开。
14.查看系统端口占用情况
查看到SVN服务器默认端口3690。
netstat -tunlp
15.打开端口
打开3690端口,用TortoiseSVN测试可以连接,SVN服务器部署完成。
firewall-cmd --zone=public --add-port=3690/tcp --permanent
16.部署中出现的一些问题
如果在配置authz时意外退出,系统提示如下信息,此时需要删除.swp文件配置文件才可以生效。我们先查看隐藏文件(ll -a),
发现多了一个authz.swp的文件,删除authz.swp文件(rm -f authz.swp)后重新检查authz文件就可以了。
ll -a
rm - f authz.swp
17.常用命令
打开防火墙:
systemctl start firewalld
关闭防火墙:
systemctl stop firewalld
查看防火墙状态(两种都可以):
firewall-cmd --state
systemctl status firewalld
查看端口号:
netstat -nltp | grep 端口号(svn默认:3690)
杀死SVN服务:
killall svnserve