28.4 以runit方式配置运行
runit[1]是类似于sysvinit的服务管理进程,但是更为简单。在Debian/Ubuntu上的软件包git-daemon-run就是基于runit启动git-daemon服务。
安装git-daemon-run:
$sudo aptitude install git-daemon-run
配置git-daemon-run:
默认的服务配置文件:/etc/sv/git-daemon/run。和之前的inetd运行方式相比,以独立的服务进程启动,速度更快。
!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst-ugitdaemon\
"$(git—exec-path)"/git-daemon—verbose—export-all\
—base-path=/var/cache/var/cache/git
默认版本库中需要存在文件git-daemon-export-ok,git-daemon才对此版本库提供服务。不过可以通过启动git-daemon时提供的参数—export-all,无论版本库是否存在标识文件git-daemon-export-ok,都对版本库提供git访问服务。
git-daemon提供很多参数,在此没有一一介绍,可以运行git help daemon在控制台查看git-daemon帮助,或者运行git help—web daemon查看HTML格式的帮助。
通过git-daemon提供的Git访问协议存在着局限性:
不支持认证。管理员可以做的大概只是配置防火墙,限制某个网段用户的使用。
只能提供匿名的版本库读取服务。因为写操作没有授权控制,因此一般不用来提供写操作。