最近在搭建服務器,用到了版本控制,在搭建過程當中也遇到了好多問題,簡單寫一寫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目錄了版本控制