第一步: svn简介
svn是subversion的简称,是一个开放源代码的版本控制系统.
第二步: 搭建前准备
服务器:centos7 (centos6以下教程 亲测也可以)
第三步: 首先检测服务器是否安装svn,如果安装先卸载
svnserve --version //查看svn版本信息
yum remove subversion //svn卸载命令
第四步:安装svn 以及基本配置
使用yum命令安装svn
yum install subversion
接下来进入根目录下的home目录创建一个svn目录,然后在svn目录下创建一个名为blog的版本库
cd home
mkdir svn
cd svn
svnadmin create /home/svn/blog //创建一个名blog的版本库
cd blog
blog下面有其他目录文件,就意味着你的版本库创建好了,我们进入blog目录下的conf目录进行相关配置,如下图所示
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
1.编辑 authz 文件(注意:[/]也是必须的)
[/]:表示根目录,即 /home/svn
choayang = rw:表示用户chaoyang对根目录具有读写权限
2.编辑 passwd 文件
如上所示,用户名为:chaoyang,认证密码为:123456
3.编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写)
anon-access = none:表示禁止匿名用户访问。
auth-access = write:表示授权用户拥有读写权限。
password-db = passswd:指定用户名口令文件,即 passwd 文件。
authz-db = authz:指定权限配置文件,即 authz 文件。
realm = /home/svn:指定认证域,即 /home/svn目录。
第五步:开启防火墙 如果使用的是腾讯云或者阿里云服务器 只需去安全组开放3690即可
第六步:开启svn
svnserve -d -r /home/svn //开启命令
killall svnserve //关闭svn服务命令
开启之后然后查看端口 看看svn是否开启成功
netstat -ntlp //查看端口
看到svnserve 相关服务 开启成功
第七步:测试svn
去svn官网 下载svn客户端 自行下载,并测试是否可以使用,此处不做过多描述 下载链接: https://tortoisesvn.net/downloads.html
第八步:创建钩子 使版本库代码 可以同步到web根目录
我们用svn客户端可以使本地代码上传到svn版本库,但是为了开发方便,我们应该使版本库代码实时同步到我们的web根目录,这就是钩子的作用
1.首先我们进入/home/svn/blog/hooks目录下,如下图所示
使用 cp post-commit.tmpl post-commit将post-commit.tmpl 复制一份
然后打开post-commit文件 清空所有内容 粘贴如下代码,//以及后面内容是注释 不要粘贴
#!/bin/sh
export LANG =en_US.UTF-8
SVN=/usr/bin/svn
WEB=/www/wwwroot/blog //是你想要同步的web根目录
$SVN update $WEB --username 'chaoyang' --password '123456' --no-auth-cache
//chaoyang 指的前面创建的svn账号 123456指的密码
保存退出之后 给post-commit一个775权限
chmod 775 post-commit
接下来我们进入网站根目录(此处指 /www/wwwroot )并运行如下代码
svn co svn://你的ip/blog
运行之后会让你输入 root的密码 svn账号密码 然后选择yes就完事了
接下来重启svn
killall svnserve //杀死svn服务
svnserve -d -r /home/svn //启动svn服务 home目录下的svn
接下来就测试了 你在本地svn客户端添加一个文件 然后 你去看看你相应的web目录 神奇了也有了你添加的文件 此时web代码同步就算大工告成了