Linux配置svn服务器
- 安装svn,(阿里云centos7.2宝塔环境)
yum install apr apr-util subversion
直接安装svn启动时可能报错缺少apr依赖包
- 查看svn版本
svnserve --version
- 创建svn仓库
mkdir /home/svn/appname
svnadmin create /home/svn/appname
创建版本库的时候请注意目录权限不然不会同步
- 配置版本库
2、 打开conf目录下的authz文件
添加组及其用户accp=user01,user02
为组用户设置目录的读写权限,组前面要用@符,第一个[/]表示目录,[/]@accp=rw
3、 编辑passwd文件
格式:用户名=密码
user01=1234
user02=1234
4、打开svnserverconf
取消以下几个注释
password-db = passwd
authz-db = authz
注意1:用于同步的用户不要分配给开发人员用!
- 指定端口启动svn服务(--listen-port 端口号),以8888端口为例
svnserve --listen-port 8888 -d -r /home/svn/cssbj2
- 停止并重启SVN (SVN配置完成后需要执行 6,7步)
killall svnserve (关闭所有SVN)
svnserve -d -r /home/svn/cs
svnserve --listen-port 8888 -d -r /home/svn/cssbj2
- 服务器本地www检出第一个版本(很重要没有这一步服务器同步失败)
cd /www/wwwroot/cs/addons
svn checkout svn://cs.123.com:8888 --username admin --password 123456
- 同步更新网站目录:
编辑/www/svn/appname/hooks/post-commit文件
#!/bin/sh
export LANG=zh_CN.UTF-8
svn update /www/wwwroot/ww.abc.com --username admin --password 123456
chown -R www:www /www/wwwroot/ww.abc.com
- 如果同步目录下有文件需要执行命令加入、提交
加入版本控制器 CD网站目录下执行 svn add 文件名
提交SVN服务器 svn ci -m --no-unlock 文件名
必须有上一步才能成功!
每次更新后文件所有者会变为root,php文件就会缺少执行权限,使用chown改一下所有者
- 设置svn服务跟随系统启动(centos7适用)
找到 svn 的 service 配置文件 /etc/sysconfig/svnserve 编辑配置文件
将 OPTIONS="-r /var/svn" 改为 svn 版本库存放的目录
OPTIONS=" --listen-port 8888 -r /www/svn/zsk_core"
启动服务
systemctl enable svnserve.service
开启服务
systemctl start svnserve.service
关闭服务
systemctl stop svnserve.service