出于各种各样的原因,最终决定搭建一个私有代码仓库,中间参考了 gitolite 官方的安装说明,具体步骤记录如下。
创建用户
登录服务器,新建一个 git
用户:
$ sudo useradd git -m -d /home/git # 家目录下同时生成一个 git 目录
为该用户设置密码:
$ sudo passwd git
完成之后,以 git
用户登录服务器。
安装 gitolite
以 git
用户登录服务器后,将 gitolite 源码克隆到本地:
git clone https://github.com/sitaramc/gitolite $HOME/
这里官方提醒我们,要保证该用户家目录下的 .ssh
文件夹必须为空文件夹或不存在,其次,要将工作机上的 id_rsa.pub
(秘钥)文件拷贝到服务器上(也就是当前家目录下)。
可以使用以下命令生成秘钥文件:
$ ssh-keygen
将生成的秘钥文件拷贝到 git
用户家目录下并重命名。此时,家目录下应该包含 gitolite
文件夹和一个 yourName.pub
秘钥文件。
之后,安装 gitolite:
$ $HOME/gitolite/install -to $HOME/bin # 将 gitolite 安装到家目录下的 bin 文件夹内
然后,根据 yourName.pub
秘钥文件,将自己设置为管理员:
$ $HOME/bin/gitolite setup -pk $HOME/yourName.pub
如果不希望通过 ssh 登录的话,必须要额外配置一下。使用下面命令找到 git
的安装位置:
$ which git # 或者 whereis git
# 一般情况下是这里:/usr/bin/git
修改 /etc/passwd
文件:
$ sudo vim /etc/passwd
找到该行:
git:x:1001:1001::/home/git:/bin/zsh
修改为:
git:x:1001:1001::/home/git:/usr/bin/git/git-shell
到此,gitolite 服务器配置结束。
$ git clone git@serverIp:gitolite-admin.git # 像这样克隆仓库即可