Ubuntu 14.04 下安装svn服务器,同步更新web服务器

本文介绍了如何在Ubuntu 14.04上安装SVN服务器,创建仓库,并设置与Web服务器的同步更新。首先安装svn,然后在/var创建svn目录,接着配置权限,允许匿名用户只读访问。通过编辑svnserve.conf和passwd文件设置用户和密码。在hooks目录下配置post-commit脚本来实现实时更新Web目录。最后,提供了相关命令行操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要安装svn

apt-get install subversion

然后在 /var 目录下新建一个svn文件夹,存放svn的仓库

cd /var
mkdir svn

创建svn数据仓库,一个项目对应一个仓库

svnadmin create projectName

启动svn服务
其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址。
/home/svn指定svn数据仓库存放的目录位置

svnserve -d -r /var/svn

设置svn: 方式的访问权限
在每个数据仓库目录下都有一堆目录,进入 conf 并打开 svnserve.conf 这个文件,找到以下几行,
并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限。
但如果想拒绝匿名用户的访问,只需把 anon-access的read 改成 none 就能达到目的。
password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在
同一个目录

anon-access = read
auth-access = write
password-db = passwd

配置 passwd文件中的内容。username 位置对应你的账号,password对应你的密码。

[users]
# harry = harryssecret
# sally = sallyssecret
username = password

配置authz中的内容,这个是权限配置。groups代表用户组,格式是用户组 = 用户名
下面的 projectName 等于你的项目名称,也就是数据仓库文件夹名称,/ 代表仓库的根目录
rw代表读写权限

[groups]
admin = username

[projectName:/]
@admin = rw

存盘退出后,svn 服务器就算正式可以运行了!
把所有需要管理的项目都放在 /var/svn这个目录下,像正常那样用 svnadmin create 命令建立数据仓库。
这样就可以使用svn客户端通过 “svn://IP地址/数据仓库目录” 的方式把服务器上的数据仓库拉到本地了。

设置svn同步更新web目录

假设我这里的web目录地址为 /var/www
我们要先checkout一份到本地,在www目录下输入命令

svn checkout svn://you host/projectName

这个时候我们的/var/www目录下就会出来一个projectName的文件夹,这个就是我们的网站目录。
我们再打开/var/svn/projectName/hooks目录

cp post-commit-tmpl post-commit
vim post-commit

使用上面的命令将post-commit.tmpl复制一份并重命名为post-commit
然后使用vim编辑,将最下面的内容修改为如下

REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8

svn update /var/www/projectName --username username --password password

编辑完成后保存,我们关闭一下svn服务再重新打开,配置就完成了。

killall svnserve
svnserve -d -r /var/svn/

参考文章
实现SVN与WEB同步解决方案
ubuntu下搭建svn服务器
svn 命令行下常用的几个命令

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值