笔记:subversion,SVN server 同时监听ipv4、ipv6端口

安装 Subversion 后, 通常用独占端口(daemon)的方式启动svn服务:

$ svnserve -d -r /home/svn

 

其中服务启动方式有【daemon、inetd、tunnel】 三种模式。

daemon  模式: 独站端口方式启动。

inetd       模式: 监控端口方式运行。 (监控端口,当有连接来的时候再启动服务。由 inetdxinetd 管理,控制svn进程的启动)

tunnel     模式: 隧道模式假设有一个远程服务程序 (例如 rshssh 已经成功地授权了 一个用户, 并且以该 用户的身份 启动了一个私有 的 svnserve 进程. (用户几乎没有必要在命令行 启动带有选项 -tsvnserve, 相反, SSH 守护进程会替用户执行这个操作) 程序 svnserve 像往常一样运行 (通过 stdinstdout 与其他 进程通信), 它还假设网络数据可以通过某种隧道, 被自动重定向回客户端. 当隧道代理 以这种方式启动 svnserve 时, 要确保被授权的用户 对仓库数据库文件具有读写权限, 在本质上它和本地用户通过 file:// URL 访问仓库的情况是一样的.

详情参见: https://svnbook.red-bean.com/zh/1.8/svn.serverconfig.svnserve.html

 

由于daemon模式无法同时监听ipv4、ipv6的同一个端口,所以使用xinetd的方式启动。

安装完xinetd后,创建/etc/xinetd.d/svn配置文件,文件内容如下:

service svn
{
        disable = no
        port = 3690
        socket_type = stream
        protocol = tcp
        wait = no
        user = yxh
        server = /usr/bin/svnserve
        server_args = -i -r /home/svn/myproject
}

 

此时无论是ipv4、ipv6都可以用 svn://irangotec.com:3690 来访问了。

评论列表: