最近在搭建服务器,用到了版本控制,在搭建过程当中也遇到了好多问题,简单写一写web
一、安装SVN数据库
$ sudo apt-get install subversion
二、建立项目目录vim
$ sudo mkdir svn //建立一个文件夹,用来存放一个或多个项目 $ cd ./svn //进入这个目录 $ sudo mkdir project//建立一个新的项目目录 $ sudo svnadmin create ./svn/project //建立svn文件仓库(这一步是让这个新的文件夹变成svn的版本库)
三、权限设置bash
$ cd ./svn/project/conf //进入设置目录(包含有authz hooks-env.tmpl passwd svnserve.conf) $ vim passwd //添加用户设置密码 [users] root = 123456 user1 = 123456 user2 = 123456 $ vim authz //编辑用户权限 [groups] admin = user1,user2,root [/] @admin=rw *=r $ vim svnserve.conf //控制访问权限 [general] anon-access = none #匿名用户(anonymous users)的访问权限 auth-access = write #受权用户(authenticated users)的访问权限 password-db = passwd #密码数据库文件的位置,这里指向同级目录下的passwd文件 authz-db = authz #用户受权规则文件的位置,这里指向同级目录下的authz文件
四、启动svn服务器
启动svn $ svnserve -d -r ./svn //这里的/svn 的目录就是你第一步建立用来存放项目的那个目录 关闭svn 在配置过程当中若是须要关闭svn则kill $ ps aux | grep svn root 21618 0.0 0.0 69596 616 ? Ss 19:07 0:00 svnserve -d -r /svn root 21927 0.0 0.2 11748 2156 pts/0 S+ 19:10 0:00 grep --color=auto svn $ kill 21618
五、配置钩子(若是不须要配置到web目录,在上一步完成后既能够检出使用)svn
$ cd ./svn/project/hooks //在这里svn提供了好的钩子模板,你能够根据本身的状况选择模板,通常都是选择post-commit.tmpl(提交后更新) $ vim post-commit //新建文件 #!/bin/bash EPOS="$1" REV="$2" TXN_NAME="$3" export LANG=en_US.UTF-8 /usr/bin/svn update --username root --password 123456 /var/www/项目目录 > /tmp/www.log || exit 1 exit 0 if [ $? == 0 ] then echo "ok" >> /tmp/wwww.out fi
六、设置模板执行权限post
$ chmod 755 post-commit
七、先在www目录里检出阿里云
$ /usr/bin/svn checkout svn://你的服务器地址/你的版本仓库 注:若是是新买阿里云的服务器记得打开端口访问限制
八、本地检出完成!spa
如今便可提交并同步到web目录了版本控制