搭建无限制权限的简单Git服务器使用git-daemon脚本
如果想要用Ubuntu架设无限制权限(即不适用gitosis)的简单git服务器,实现git库下载clone,push等简单的基本功能,可以直接使用git-daemon脚本(非常不安全,建议项目代码的git管理不要使用!)
本地安装完sudo apt-get install git git-core之后没有安装git-daemon-run或者git-daemon-sysvinit时,可以执行如下操作:
sudo vi /etc/init.d/git-daemon
=============CP下面的代码复制过去,修改下base-path和user=============
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=git-daemon
PIDFILE=/var/run/$NAME.pid
DESC="the git daemon"
DAEMON=/usr/lib/git-core/git-daemon
DAEMON_OPTS="--base-path=/home/dongwuming/git --enable=receive-pack --export-all --verbose --syslog --detach --pid-file=$PIDFILE --user=dongwuming --group=nogroup"
test -x $DAEMON || exit 0
[ -r /etc/default/git-daemon ] && . /etc/default/git-daemon
. /lib/lsb/init-functions
start_git() {
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--startas $DAEMON -- $DAEMON_OPTS
}
stop_git() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE
rm -f $PIDFILE
}
status_git() {
start-stop-daemon --stop --test --quiet --pidfile $PIDFILE >/dev/null 2>&1
}
case "$1" in
start)
log_begin_msg "Starting $DESC"
start_git
log_end_msg 0
;;
stop)
log_begin_msg "Stopping $DESC"
stop_git
log_end_msg 0
;;
status)
log_begin_msg "Testing $DESC: "
if status_git
then
log_success_msg "Running"
exit 0
else
log_failure_msg "Not running"
exit 1
fi
;;
restart|force-reload)
log_begin_msg "Restarting $DESC"
stop_git
sleep 1
start_git
log_end_msg 0
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0
=============:wq!保存退出=============
sudo chmod 777 /etc/init.d/git-daemon
sudo /etc/init.d/git-daemon stop
sudo /etc/init.d/git-daemon start
ps -ef | grep git-daemon
1000 6100 1 0 17:01 ? 00:00:00 /usr/lib/git-core/git-daemon --base-path=/home/dongwuming/git --enable=receive-pack --export-all --verbose --syslog --detach --pid-file=/var/run/git-daemon.pid --user=dongwuming --group=nogroup
1000 6243 17377 0 17:29 pts/2 00:00:00 grep --color=auto git-daemon
Git 的详细介绍:请点这里
Git 的下载地址:请点这里
推荐阅读: