Think before you speak, read before you think.

debian svn | svn的安装使用 | nginx版本库

by

in

本文主要是进行nginx的一个web程序版本控制

1、安装Subversion

apt-get install subversion-tools subversion

2、建立存储仓库

sudo mkdir /var/svnroot
cd /var/svnroot

生成一个叫”nginxsub”的项目

sudo svnadmin create nginxsub

在nginxsub这个库下面的conf文件夹里有三个配置文件

authz-----权限文件
passwd------用户和密码
svnserve.conf-----此project的配置文件

详细设置svnserve.conf:

sudo vim /var/svnroot/nginxsub/conf/svnserve.conf
anon-access = read
auth-access = write
password-db = passwd

anon-access和 auth-access 分别指定匿名和有权限用户的权限,默认给匿名用户只读的权限,如果想拒绝匿名用户的访问,只需把 read 改成none 就能达到目的。记得只除去注释的话,要把单词顶格写,不要留下空格。
password-db 后的 passwd 则为定义用户名及密码的文件路径,这个文件默认跟 snvserve.conf在同一个目录。

修改passwd文件,添加用户名=密码对,如:user = imyy

sudo vim /var/svnroot/nginxsub/conf/passwd

修改authz文件,特别说明修改不顺检出时会出现Authorization failed,主要涉及:
1.用户和组的授权,这个里面用户和组和系统里的没有一毛钱关系
2.对库的整个目录的授权和对子目录的授权,

示例写的很清楚:

# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

这样我们可简单写为

[/]
xx00 =rw

这些更改都是即时生效
3、导入版本库
把 /web 下的内容导入到版本号中:

sudo svn import -m "第一次导入" /web file:///var/svnroot/nginxsub

4、启动服务器
svn 服务器可以用两种方法架设:
使用 svn 自带的 svnserve 实用程序和利用 Apache 架设。
1)使用 svnserve 搭建 svn 服务器。
启动svn服务器:(服务器积极拒绝的时候,一般是这个问题)

sudo /usr/bin/svnserve -d -r /var/svnroot/

测试服务器:

sudo svn checkout svn://219.230.144.219/nginxsub
A inlocals/index.html
A inlocals/index.php
取出版本 1。

修改index.html,提交修改:

svn commit  --username ARG      --password ARG
正在发送 index.html
传输文件数据 .
提交后的版本为 2。

可以尝试重命名文件:

svn rename index.php test.php

新增一个文件:

svn add index.php

移动 index.php 到 blog/app 下:

svn move index.php blog/app

注意:
我提交时提示
svn: 不能打开文件“/var/www/inlocals/.svn/lock”: Permission denied
此处是权限问题,执行

sudo chmod -Rf 777 /var/svnroot/inlocals/

可以顺利提交,但是为了安全起见,可以为svn专门建立一个用户组。


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *