Git服務器搭建

這裏介紹兩種方法:html

  • 手動建立
  • gitlab(web方式)

手動建立

$ ps -ef | grep sshd // 可查看是否安裝SSH服務
# 若是沒有安裝SSH服務,可經過以下命令安裝.
$ sudo apt-get install openssh-server openssh-client

centos 戳這裏 centos7安裝ssh服務git

安裝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文件裏,一行一個。
若是本機沒有公鑰,能夠經過執行如下命令:web

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用戶權限.shell

禁止git用戶shell登陸. 編輯/etc/passwd文件,找到:

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

修改成:ubuntu

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

這樣,git用戶能夠正常經過ssh使用git,但沒法登陸shell,由於咱們爲git用戶指定的git-shell每次一登陸就自動退出。centos

初始化倉庫,並設置權限.

$ 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

實際過程:bash

圖片描述
圖片描述
圖片描述

gitlab(web方式)

安裝

官方有安裝包下載和官方安裝指南. 官方不推薦一鍵安裝包,特別是Bitnami 的一鍵安裝包....雖然Bitnami的安裝包確實很是容易安裝.
那咱們就按照官方的步驟來安裝.環境仍是咱們上面的那臺服務器.服務器

  • 安裝依賴
sudo apt-get install curl ca-certificates postfix

安裝到postfix時會跳出選擇框,一切默認選擇就行了.ssh

  • 若是你的網速足夠快的話能夠按如下方式:
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服務器搭建

相關文章
相關標籤/搜索