在linux上部署一個 git 服務

git 簡單易用,爲了一探究竟,同時知足好奇心,想深刻學習了下如何搭建git服務器。同時會簡單說下步驟。linux

系統說明

  • 服務器:阿里雲 ECS 服務器
  • 操做系統:CentOS Linux release 7.5.1804 (Core)
  • 相關環境:已安裝 git ,熟悉 linux 基本操做。

搭建步驟

一、建立一個 git 用戶專門管理 Git 倉庫管理,並設置密碼git

添加 git 這個用戶shell

useradd git
複製代碼

注:若是權限不夠,可加 sudo. 我是直接使用 root 登陸,能省點麻煩。vim

添加用戶密碼安全

passwd git
複製代碼

二、在服務器上選擇/建立一個目錄做爲版本庫存地址bash

由於有了 git 用戶,我也想把庫的地址放在這個用戶下一塊兒,因此是進入 git 用戶下文件夾裏。服務器

cd /home/git/

mkdir -p gitLib
複製代碼

三、在這個目錄下建立你新建的項目地址,並把項目進行初始化。ssh

mkdir -p gittest.git
git init --bare gittest.git
複製代碼

四、更改文件權限,更改成git用戶學習

chown -R git:git gittest.git/
複製代碼

五、測試 clone 代碼到本地測試

git clone git@server:/home/git/gitLib/gittest.git
複製代碼

說明:server 是你服務器的公網 ip ,/home/git/gitLib/gittest.git 是上面建立的遠程倉庫路徑.

再輸入 git 的登陸密碼就能夠 clone 代碼。


其實如今就已是能夠算是部署完成了,可是涉及到安全性以及每次輸入密碼都很不爽,因此咱們須要禁止 shell 登陸,可是仍能夠經過 ssh 正常使用 git。

設置ssh免密碼登陸linux也是比較簡單,網上不少教程。www.jianshu.com/p/e9db116fe…

禁止 shell 登陸

vim /etc/passwd
複製代碼
git:x:1000:1000::/home/git:/usr/bin/bash
# 修改成
git:x:1000:1000::/home/git:/usr/bin/git-shell
複製代碼

注:此處有兩個地方須要注意:

  1. ssh免密碼登陸教程大多都不是 git 用戶的,能夠根據教程把ssh免密碼設置在 git 用戶目錄下 ,好比:/home/git/.ssh
  2. 禁止 shell 登陸,設置git-shell登陸。要留意服務器的 /usr/bin/ 是否存在 git-shell 文件命令,git-shell 隨 git 安裝到 git 目錄下,可是沒有配置在/usr/bin/下,因此須要使用軟連接把 git-shell 配置到 /usr/bin/ ,或者git:x:1000:1000::/home/git:/usr/bin/git-shell 修改成服務器 git-shell 的文件路徑。

總結體會:

  1. 熟悉 linux 對於一名工程師,我以爲真的是必要的,目前工做中是愈來愈接觸的多 linux 命令了。能深刻了解最好,最起碼也要保證基礎的 linux 的基本操做。
  2. 網上相關教程仍是至關多,至關廣,基本上遇到的問題都不是第一個,也不會最後一個,認真搜搜找找仍是能找到方法。
  3. 固然有些教程,由於環境,版本等問題不能直接拿來主義,可是理解本質性的問題,能更直接找到問題的關鍵。
  4. 網上了解到,還有自動化部署相關的操做,後續須要使用到再繼續寫下去。
相關文章
相關標籤/搜索