Ubuntu建立svn服务器并设置提交并更新到网站

建立svn服务器node

一、首先安装SVN这个软件web

apt-get install subversionubuntu

二、在home目录下建立一个名为svn的文件夹(文件夹的名字随便起)vim

mkdir /home/svn服务器

3建立数据仓库(能够根据须要建立多个)网络

svnadmin create /home/svn/testsvn

四、启动svn网络服务post

svnserve -d -r /home/svn
其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上能够访问的地址。
/home/svn指定svn数据仓库存放的目录位置
五、设置svn: 方式的访问权限
在每一个数据仓库目录下都有一堆目录,进入 conf 并打开 svnserve.conf 这个文件,找到如下几行,
 并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。

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

 

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限。

但若是想拒绝匿名用户的访问,只需把 anon-access的read 改为 none 就能达到目的。
password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在
同一个目录,下面看看怎么配置 passwd文件中的内容。

[user]
# harry = harryssecret
# sally = sallyssecretspa

harry 和 sally 这两行分别定义了能够对 repo 进行写入的用户的用户名和密码。咱们能够在下面加上
本身的用户名和密码,好比

testsvn = tester

 

这样就给了用户 testsvn 往 repo 中写的权限。存盘退出后,svn 服务器就算正式能够运行了!

把全部须要管理的项目都放在 /home/svn这个目录下,像正常那样用 svnadmin create 命令创建数据仓库。

这样就可使用svn客户端经过 “svn co svn://IP地址/数据仓库目录” 的方式把服务器上的数据仓库拉到本地了。

 

 

最近升级了下linode,发现svn 不能提交和更新,报svn: E000061: Unable to connect to a repository at URL这样的错误,后来查了些资料,原来是svn的端口没有打开,svn的默认端口是3690,在ubuntu里查看端口打开状况,命令是 netstat -anp,把svn服务从新启动下就能够了,命令为svnserve -d -r /home/svn

设置更新同步网站

 

SVN同步版本库与网站目录

 

 

 

定义: 

 

        SVN版本库  = /home/svn/repos 

 

        网站目录     = /var/www/web

 

  www.2cto.com  

 

1.检出一个项目到网站目录

 

        #svn checkout file:///home/svn/repos /var/www/web

 

        这时,网站目录已成为SVN的工做副本,咱们要作的就是让这个工做副本自动更新。

 

 

 

3.增长hooks(钩子)文件 

 

        # vim /home/svn/repos/hooks/post-commit 

 

                #!/bin/sh 

 

                export LANG="zh_CN.UTF-8"    #防止乱码 

 

                svn update /var/www/web --username user1 --password password1 --no-auth-cache 

 

        保存后修改文件权限为755,不然SVN没法调用执行 

 

        #chmod 755 /home/svn/repos/hooks/post-commit 

 

 

 

hooks(钩子)文件说明:

 

# start-commit 提交前触发事务

 

# pre-commit 提交完成前触发事务

 

# post-commit 提交完成时触发事务

 

# pre-revprop-change 版本属性修改前触发事务

 

# post-revprop-change 版本属性修改后触发事务
相关文章
相关标签/搜索