yum install subversion -y
2.检查是否安装成功
svnserve –version
3.创建一个版本库
mkdir /opt/svn/project 创建目录
svnadmin create /opt/svn/project 初始化版本
cd /opt/svn/project
[root@bogon project]# ls
conf db format hooks locks README.txt
4.配置文件 (因忘记截图,摘抄了http://blog.csdn.net/qq_30259339/article/details/50850951 这位前辈的博客.大家注意路径问题)
1. 设置passwd
这样我们就建立了test用户, 123密码 。
2. 设置权限authz
设置test用户对所有的目录有读写权限,当然也可以限定。
3. 设定svnserve.conf
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
4. 启动svn
killall svnserve //先杀死所有的SVN进程
svnserve -d -r /opt/svn/project
svn import /data/wwwroot/www.a.com/ file:///opt/svn/project -m “ss”
5.设置防火墙允许访问3690端口 (一定要防火墙设置,不论有没有firewall running or not)
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
systemctl restart iptables.service
如果没有意外,现在可以连接svn了
遇到的坑:
Store password unencrypted (yes/no)?
Please type 'yes' or 'no': no
svn: E170001: Authorization failed(认证失败)
修改文件 # vi /root/.subversion/servers 看清楚 global的选项,有个跟它一样的配置文件,改了没效果的
自动更新到web目录:
[root@bogon project]# cd /var/svn/project/hooks/
[root@bogon hooks]# vi post-commit
添加如下文件
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /data/wwwroot/project --username user --password passwd
exit 0
:wq
给文件权限 chmod 777 post-commit
[root@bogon hooks]# killall svnserve
[root@bogon hooks]# svnserve -d -r /var/svn/
[root@bogon hooks]# svn co svn://127.0.0.1/project
现在本地check 可以自动更新到网站project里面了
[root@bogon hooks]# whereis svnserve
svnserve: /usr/bin/svnserve /usr/share/man/man8/svnserve.8.gz
vi /etc/rc.d/rc.local 添加如下 启动服务
/usr/bin/svnserve -d -r /var/svn
追加更新:
centos7.0 开机启动有问题.上面的脚本无法执行开机启动
使用下面的方法:
vi /etc/sysconfig/svnserve 看下启动目录是否对应,如果不对应修改即可
systemctl enable svnserve.service 运行后提示创建成功 ok
重启动一下试试吧