Git服务器搭建

这里介绍两种方法:

  • 手动创建
  • gitlab(web方式)

手动创建

$ ps -ef | grep sshd // 可查看是否安装SSH服务
# 如果没有安装SSH服务,可通过如下命令安装.
$ sudo apt-get install openssh-server openssh-client

centos 戳这里 centos7安装ssh服务

安装git (服务器上)

$ sudo apt-get install git
# 老一点的Ubuntu,需要改为 
$ sudo apt-get install git-core

添加git用户,并设置密码

$ sudo useradd git -m
$ sudo passwd git

创建证书登录(本地电脑上)

收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果本机没有公钥,可以通过执行以下命令:

ssh-keygen -t rsa -C "your email address"   //即可以当前用户目录.ssh下生成公钥文件. 
$ ssh-copy-id -i ~/.ssh/id_rsa.pub  git@118.24.153.55  //上传公钥到服务器  这个ip是我的腾讯服务器  请换成你自己的

首次上传公钥会在服务器git用户目录下创建 .ssh/authorized.keys文件.
如果是手动复制公钥,需要自己创建 .ssh/authorized.keys 文件. 注意保证git用户权限.

禁止git用户shell登录. 编辑/etc/passwd文件,找到:

git:x:1001:1003::/home/git:/bin/sh

修改为:

git:x:1001:1003::/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

初始化仓库,并设置权限.

$ sudo mkdir /rep   //在根目录新建文件夹  
$ cd /rep           //进入该文件夹  
$ sudo git init --bare project.git  //初始化空仓库  
$ sudo chown -R git:git project.git //修改文件夹权限

在当前目录下会生成一个project.git目录.

测试仓库(本地电脑)

$ git clone git@118.24.153.55:/rep/project.git
$ cd project.git
$ echo "Hello world" >> index.html
$ git add index.html
$ git push

实际过程:

图片描述
图片描述
图片描述

gitlab(web方式)

安装

官方有安装包下载和官方安装指南. 官方不推荐一键安装包,特别是Bitnami 的一键安装包....虽然Bitnami的安装包确实非常容易安装.
那我们就按照官方的步骤来安装.环境还是我们上面的那台服务器.

  • 安装依赖
sudo apt-get install curl ca-certificates postfix

安装到postfix时会跳出选择框,一切默认选择就好了.

  • 如果你的网速足够快的话可以按以下方式:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce

貌似这个要几个小时,非常慢.那我们直接下载适合自己版本的安装文件.我的服务器是Ubuntu 12.4 64位. ubuntu/precise 下载地址.然后执行:

sudo dpkg -i gitlab-ce_7.13.4-ce.0_amd64.deb
  • 配置

修改/etc/gitlab/gitlab.rb 文件external_url项为服务器IP.如:

external_url 'http://118.24.153.55'

然后重新加载配置并启动:

sudo gitlab-ctl reconfigure

这个过程有点长. sudo gitlab-ctl status 可查看是否安装成功.

在浏览器输入服务器IP地址.出现如下.首次登录需要重置密码.

图片描述
图片描述
如果新注册一个用户,需要验证邮箱才能登录,可以修改配置文件,配置好邮件服务器.

参考

gitlab文档
Git服务器搭建

阅读 1.7k

推荐阅读
镜心的小树屋
用户专栏

方寸湛然GitHub组织地址:[链接]

47 人关注
123 篇文章
专栏主页