• ubuntu svn安装测试


    本机环境 :ubuntu 12.4 LTS desktop

    1 sudo apt-get install  subversion  #安装svn

    2  sudo mkdir   /home/lzj/svn     建立svn主目录,名称叫svn 

    3  sudo mkdir /home/lzj/svn/first_project    # 建立一个项目

    4 svnadmin create /home/lzj/svn/first_project    #创建SVN版本,这一步在这个目录下就会生成多个文件,可以配置等。。

      5   sudo vim /home/lzj/svn/first_project/conf/svnserve.conf      #修改first_project的配置

       

     # anon-access = read       找到这句,去掉#和空格  ,记得一定要顶住行首。

     # auth-access = write     找到这句,去掉#和空格  ,记得一定要顶住行首。

    # password-db = passwd   找到这句,去掉#和空格  ,记得一定要顶住行首。验证密码用

    # authz-db = authz       找到这句,去掉#和空格  ,记得一定要顶住行首。验证权限用

    进行配置修改前,先建立一个组  subversion,一个用户 svn_user ,

    #  groupadd subversion 添加组
    #  useradd  svn_user   添加用户
    #  gpasswd   -a svn_user subversion     把svn_user添加到subversion组中

    6 sudo vim /home/lzj/svn/first_project/conf/passwd    #修改svn用户 

       6.1  

    [users]
     # harry = harryssecret
     # sally = sallyssecret
     svn_user = 123456  #说明 { 用户名 = 密码 } , 这个用户 svn_user  可以用命令,密码随便写,用于以后用户checkout的时候用

    7 sudo vim /home/lzj/svn/first_project/conf/authz    #修改权限

     [groups]
     # harry_and_sally = harry,sally   ,这些行的意思是说 ,某个组的某些用户 有权访问  这个项目SVN
     # harry_sally_and_joe = harry,sally,&joe
     subversion = svn_user  

    [/]   #项目SVN根目录

    root = rw    #root用户可以读写这个根目录,也就是/home/lzj/svn   ,r 代表 读,w 代表 写

    svn_user = rw   #我新建的svn_user用户,可以读写

    [repository:/]  #仓库目录下的某个目录,应该是这么理解,有时间再看文档~~
     @subversion = rw   #我新建的subversion组,可以读写

    以上配置完成后

    启动svn服务
    
      #  svnserve -d -r   /home/lzj/svn    #SVN监视的目录~~
    
    #  ps -ef | grep svn 查看是否正确启动,如果有‘ 。。。 0:00:00 svnserve -d -r /home/lzj/svn/。。。。‘ ,就说明已经启动,

    # sudo vim /etc/rc.local ,添加这句
    svnserve -d -r /home/lzj/svn ,目的是开机启动svn

    至此,SVN的安装,配置已完成!

    接下来,我们把这个SVN项目,checkout到我的nginx 网站运行目录下  /usr/local/nginx/html/

    svn checkout svn://127.0.01/first_project --username svn_user --password 123456         #因为这是一台服务器,以上的操作都在同一台机子上,所以127.0.0.1就相当于远程机了~~,

    checkout出来后,在 /usr/local/nginx/html目录下 就会自动生成  first_project  目录了。。。。~~

    ---------------------------------------------------------

    如果我的同事,要checkout这个svn项目,他可以在他的电脑上这样

    svn checkout 192.168.1.111/first_project --username  xxx --password  xxxx         #现在111这台机子 ,就是服务器

    当他修改了他本地的某个文件后,他会上传到svn中,怎么样可以让SVN把刚才上传的文件,同步到服务器的网站运行目录下呢????这样以后就可以直接看效果了,岂不是很方便 !!!!!!

    办法 就是 在SVN的项目文件中,有个hooks/post-commit.tmpl ,这是个说明模版文件,它的作用就是当我的同事提交代码到svn后,就会触发这个文件,这个文件可以写命令~~~

    sudo cp /home/lzj/svn/first_project/hooks/post-commit.tmpl   /home/lzj/svn/first_project/hooks/post-commit   # 修改成执行的文件

    sudo chmod  759 /home/lzj/svn/first_project/hooks/post-commit 

    sudo chown   nobody:nobody  /home/lzj/svn/first_project/hooks/post-commit   #修改文件属主是为了 跟  /usr/local/nginx/html/first_project的属主一样,防止权限问题而导致SVN同步失败!!!!

    sudo vim /home/lzj/svn/first_project/hooks/post-commit

     
     REPOS="$1"
     REV="$2"
     
     #"$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf
     
     
     export LC_CTYPE=en_US.UTF-8 #语言支持
     #SVN=/usr/bin/svn #指定 svn 路径
     svn update /usr/local/nginx/html/first_project --username svn_user --password 123456 --no-auth-cache   # 把这个命令可以先执行一下,看看是否报错!!记得在用命令行模式     

    好了,这样SVN修改后,就可以自动同步到网站目录下了。。。很方便呢~~

    参考文章    http://blog.sina.com.cn/s/blog_6f066a890100s5wh.html     SVN目录自动同步!!

    参考了 很多文章 !!感谢前辈们的分享!!!

    PHP程序员 人在北京 如有需要,可以站内联系我!!!
  • 相关阅读:
    HTML4如何让一个DIV居中对齐?float输入日志标题
    HTML3层叠样式表
    面向对象 学生考试计分题目
    C#总复习
    HTML2列表表单框架
    HTML1网页三部份内容
    HTML 5 JavaScript初步 编译运行.doc
    初识MYSQL
    数据库设计
    序列化和反序列化
  • 原文地址:https://www.cnblogs.com/flex_fly/p/3170075.html
Copyright © 2020-2023  润新知