zoukankan      html  css  js  c++  java
  • vps配置笔记(10)架设svn服务

    linux 下面架设svn服务器,有点难度,我找了好多资料,现在是安装成功了,服务也起动了,但就是不可以在客户端拉下来,下面是一篇相关的资料,如果想购买国外vps的可以找我,哈

    介绍几个赚钱的项目,有兴趣可以联系我

    非常惭愧的还没有抽出时间去学一学git,权且先在这里记录一下当下的比较主流的subversion(svn)的架设记录,网上已经有很多了,在这里只是整理记录一下而已。
    svn目前作为服务总体上有两种常见形式svn自身协议的方式或者走http协议,svn自身协议自不待言搭建简单方便一条命令搞定:

    sudo svnserve -d --listen-port 1234 --listen-host scm.myhost.com --pid-file /var/run/svnserved.pid -r /scm/svn/repos/myproject

    各参数大致意义:
    -d 指定后台daemon服务方式运行
    listen-port 监听端口 1234
    listen-host 监听域名 scm.myhost.com
    pid-file 指定运行时进程PID号记录文件路径 /var/run/svnserved.pid
    -r 指定项目svn库所在路径。/scm/svn/repos/myproject
    一旦架设完成后面就可以用svn checkout检出源码了:

    svn co svn://scm.myhost.com:1234/myproject

    svn库创建命令

    svnadmin create /scm/svn/repos/myproject

    建立好基本库后一般都需要构建一下基本的源码管理layout布局:

    mkdir -p /tmp/layout/{trunk,branches,tags}
    cd /tmp/layout
    svn import . file:////scm/svn/repos/myproject -m 'init project layout'

    然后我们以后checkout主线代码就可以:

    svn co svn://scm.myhost.com:1234/myproject/trunk

    svn的http协议方式目前还依赖于apache容器,不过你愿意的话也可以前端用varnish/nginx把请求转发到apache容器上也可以达到对外统一服务的目的。
    基本的安装就不细细叙述了,这里只写一下vhost下的配置方法。
    首先需要创建几个共用文件:
    /scm/svn/conf/accessfile
    用来设定所有项目的各个账户权限,具体请参考svn的配置文件文档,这里仅给个例子:

    [groups]
    administrator = axiong
    [/]
    @administrator = rw
    * =

    /scm/svn/conf/passwdfile
    用来指定所有项目的用户和对应密码,当然这部分也可以在mysql里搞定,感觉小型项目没有什么必要,还是文本方便,可以用apache-util里的htpasswd生成。
    指定完了后就是vhost的配置了:

    <VirtualHost *:80>
            ServerName scm.myhost.com
            <Directory />
                    Options Includes FollowSymLinks
                    AllowOverride All
                    Order allow,deny
                    allow from all
            </Directory>
        <Location /svn>
            DAV svn
            SVNParentPath /scm/svn/repos
            AuthType Basic
            AuthName "Subversion System"
            AuthUserFile /scm/svn/conf/passwdfile
            AuthzSVNAccessFile /scm/svn/conf/accessfile
            Satisfy Any
            Require valid-user
        </Location>
    </VirtualHost>

    这样就架设好了http://scm.myhost.com/svn/myproject的svn库,
    以后还可以在/scm/svn/repos下建立更多的svn库使用统一管理的账户和密码。
    注意/scm/svn/repos下的每一个项目都需要有apache所在组或用户的写入权限,否则代码会提交出错。

    更新一下:修改了一下location地址方便和trac配合

  • 相关阅读:
    from __future__ import with_statement
    第六章 Flask数据库(二)
    python面向对象基础(四)内置方法 __xx__之new与init
    MySQL用户自定义变量
    iOS不得姐项目--appearance的妙用,再一次设置导航栏返回按钮,导航栏左右按钮的封装(巧用分类)
    iOS边练边学--NSURLSessionDataTask实现文件真正的断点续传
    iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态
    iOS边练边学--NSURLSession、NSURLSessionTask的介绍与使用以及url中包含了中文的处理方法
    iOS开发小技巧--边接受数据边写入文件的两种方法
    iOS边练边学--文件压缩和解压缩的第三方框架SSZipArchive的简单使用
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1716859.html
Copyright © 2011-2022 走看看