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配合

  • 相关阅读:
    c++调用win32API控制打印机打印
    php socket 通信
    [SDOI2015][BZOJ3991] 寻宝游戏|set|dfs序|虚树|树上倍增LCA
    [NOI2015][BZOJ4195] 程序自动分析|并查集|离散化
    [NOI2015][BZOJ4196] 软件包管理器|树链剖分
    [HEOI2014][BZOJ3611] 大工程|虚树|树型dp|dfs序|树上倍增LCA
    [Usaco2007 Mar][BZOJ1638] Cow Traffic 奶牛交通|动态规划
    [HDU2222]Keywords Search|AC自动机
    [POI2007][BZOJ1103] 大都市meg|dfs序|树状数组
    [Usaco2007 Dec][BZOJ1690] 奶牛的旅行|分数规划|二分|SPFA
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1716859.html
Copyright © 2011-2022 走看看