在Centos7上搭建SVN服务器并实现自动同步至web目录

一、安装SVN

yum install -y subversion
#检查是否安装成功
svnserve --version

二、创建版本库

//创建目录
mkdir /var/svn/svnrepos
//创建版本库
cd /var/svn/svnrepos
svnadmin create /var/svn/svnrepos/liuke
//创建成功

三、配置文件

进入版本库下的conf文件夹,修改authz、passwd和svnserve.conf文件
authz、passwd按文件提示格式修改,如下修改svnserve.conf:

auth-access = write					//普通用户访问权限:读、写
anon-access = none					//匿名用户访问权限:无
password-db = passwd					//密码文件
# authz-db = authz							//注意这里的注释不要打开,有的时候出现认证失败的情况
# realm = My First Repository	//(这里修改为版本库的地址 /var/svn/svnrepos/liuke,也可以不修改)

四、开启SVN服务

svnserve -d -r /var/svn/svnrepos/liuke

如果提示:

svnserve: E000098: Can't bind server socket: Address already in use

则需要重启svn,查看svn服务:ps aux | grep svn再用kill -9 (进程id),最后svnserve -d -r /var/svn/svnrepos/liuke重启

五、开启SVN3690端口

1.在服务器安全组中添加3690
2.在centos中添加3690端口步骤如下:

查看端口

firewall-cmd --list-ports

添加3690端口

firewall-cmd --zone=public --add-port=3690/tcp --permanent
iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp --sport 3690 -j ACCEPT

重启防火墙

firewall-cmd --reload

CentOS 7 开放防火墙端口systemctl 命令完全指南参考这里

六、同步svn项目到网站web目录

1、在web目录中checkout版本库
这一步是非常关键的一步了:

svn co svn://localhost/liuke  /www/wwwroot/project --username jjjj(SVN账号) --password 123456(SVN密码)

进入 /var/svn/svnrepos/liuke/hooks目录下
建立post-commit文件:

cd /var/svn/svnrepos/liuke/hooks
vim post-commit

//在该文件里添加如下代码,保存
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
/usr/bin/svn update /www/wwwroot/project --username 'wzj' --password '123456' --no-auth-cache

修改用户和给权限

chmod 755 post-commit			//给权限
chown root:root post-commit		//修改用户

完毕

本博客参考:(https://blog.csdn.net/baidu_30000217/article/details/51396016)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jaystrong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值