本文主要是进行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专门建立一个用户组。
Leave a Reply