安装svn
- 安装
yum -y install subversion
创建代码仓库
- 创建一个目录作为代码仓库
mkdir /svn
创建某个项目要使用的仓库
- 比如我们创建一个博客项目blog
svnadmin create /svn/blog
,这个时候发现svn目录下多了一个blog目录,里面包含了conf、db、format、hooks、locks等文件
配置项目仓库
- 比如我们配置blog项目的仓库,进入conf目录
cd /svn/blog/conf
- 编辑svnserve.conf文件
vim svnserve.conf
,找到anon-access
、auth-access
、password-db
、authz-db
这四项即可,具体什么意思大家自行搜索,根据自己的需要配置即可,也可以按照我的配置,其它详细配置可以自行搜索,如图所示
- 编辑passwd配置文件
vim passwd
,创建一个用户,比如用户名为user,密码为password的用户,如图所示 -
编辑authz配置文件,用户组权限我们暂时不讲,大家可以自行搜索,我们直接配置一个用户权限,给我们上面创建的user用户,读写权限,如图所示
- 到此svn就创建完成了
启动svn
- 启动
svnserve -d -r /svn
- 可以查看进程svn是否启动
ps -ef|grep svn
- 特别注意如果外网使用,需要打开svn使用的端口,如果没有自行修改的话,默认端口是3690,主要俩方面:防火墙和安全组
配置钩子
实现SVN与WEB同步,可以复制一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。
- 找到或者创建你的网站web目录,比如我们创建一个blog,
mkdir -p /www/wwwroot/blog
- 转到hook目录,
cd /svn/blog/hooks
- 复制post-commit.tmpl为post-commit,
cp post-commit.tmpl post-commit
- 给文件赋予权限
chmod a+x post-commit
- 配置文件post-commit添加如何配置
export LANG=en_US.UTF-8
SVN_PATH=/usr/bin/svn
WEB_PATH=/www/wwwroot/blog
$SVN_PATH update $WEB_PATH --username user --password password
chown -R www:www $WEB_PATH
改成自己的配置即可
- 因为svn命令执行的是update,所以我们需要去web目录执行一次检出命令
svn checkout svn://localhost/blog /www/wwwroot/blog
紧接着输入提示的用户名密码即可
到此结束
- 到这个时候,svn就完全配置好了,就可以使用自己的电脑,拉取svn代码,然后上传代码,就会自动同步到web上了