當前位置:首頁 » 雲伺服器 » 自己搭建一個git伺服器

自己搭建一個git伺服器

發布時間: 2025-06-15 03:37:56

❶ 手把手教你在 CentOS8 搭建 Gitlab 伺服器

寫在前面的話

很多 IT 人從業 多年也許都還沒有親自搭過一次 Gitlab 伺服器,我就是其中之一!通常都是入職後,拿到上面給的 Git 地址把項目 clone 下來!然後日復一日的 crud 搬磚,直到離職。也許用了幾百年 Git 了,但是從來沒有親自部署過 Gitlab 伺服器!雖然現在社會分工越來越細,部署 Gitlab 伺服器通常都是運維的兄弟去做了,但如果你去一家創業公司,很可能就要你來部署的!所以該走的路我們還是得走一下!

現在來正式從 「零」 開始搭建 Gitlab 伺服器: 首先來看看Gitlab 和 Github 的區別,一句話來概括就是:

Gitlab 是給企業私有化部署的 Git 伺服器; Github 是互聯網在線版的 Git 伺服器!

Github 對於開源項目建倉是免費使用的,那麼 Gitlab 收不收費呢?分布式版本控制方面的功能 Gitlab 也是免費使用的,提供了社區版 (Gitlab CE) 給大家!Gitlab 現在可強大了,已經有自己成套的 DevOps 落地解決方案 (提高生產力的利器),但是這部分功能是在收費的旗艦版 / 企業版 (Gitlab EE) 上提供的!就像 Github 建私有化倉庫的功能也是收費的一樣,很正常!

不啰嗦了,快速開始吧:進入官網如下圖,按箭頭依次點擊:官方建議使用至少 4GB 的可用內存來運行 Gitlab,我們選用伺服器時就要注意了,至少要 4GB 以上。點擊CentOS 8 一直往下滑

在安裝步驟的最後,有一個短短的鏈接,寫著 "CE or EE",似乎有個 CE 版的入口,點進去如下圖:新頁面前面的好幾段依然在講使用旗艦版 (企業版 Gitlab EE) 有多少好處.... 直到最後才放了一個免費社區版 (Gitlab CE) 的鏈接 「Install GitLab Community Edition」,藏得這么深,這是怕別人知道啊!續繼點進去:繼續點:伺服器准備好後,按著官方 Gitlab CE 版的安裝說明進行安裝即可,其實很簡單,認真算起來只有三步 (由於我是 root 身份,所以不用 sudo):

第一步

安裝和啟用 policycoreutils、openssh-server 和 openssh-clients 組件,並將它們開放防火牆 (不要忘了 reload 防火牆):

dnf install -y curl policycoreutils openssh-server openssh-clients# Enable OpenSSH server daemon if not enabled: sudo systemctl status sshdsystemctl enable sshdsystemctl start sshd# Check if opening the firewall is needed with: sudo systemctl status firewalld firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https systemctl reload firewal

與郵件通知相關的 Postfix 組件其實可以暫時不用安裝和配置,這個可以放到後面再來配置一個外部的 SMTP 伺服器:

dnf install postfix systemctl enable postfix systemctl start postfix第二步

使用 curl 工具下載並配置 Gitlab CE 版 RPM 安裝包的倉庫配置腳本 (請確認你的伺服器網路通暢,注意這只是 RPM 安裝包的倉庫配置腳本,並不是真正的安裝包)

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash第三步

安裝 Gitlab CE 版並指定外部訪問的 URL 地址,這里注意一下:外部訪問 URL 地址使用一個自定義的域名,即使該域名實際上沒有也沒關系!另外如果你的伺服器沒有 https 相關的證書,那就不要用 https,直接用 http 協議!客戶端使用時你可以在 HOST 里做一下映射的,當然,有真實可以的域名就最好了!為什麼要用域名來指定外部訪問 URL 地址呢?因為後面你使用 Gitlab 時會發現這是一個明智的選擇!

EXTERNAL_URL="https://gitlab.example.com" dnf install -y gitlab-ce

到這里你會發現要從第二步中配置的國外站下載多達 700M 的 gitlab-ce 包是有多麼的艱難,預計耗時估計要 10 幾個鍾,如果沒有科學上網的話還是要採用別的方法!

蝸牛速度是無法忍受的,Ctrl+C 掐斷下載過程吧,換其它方法:

自己先從其他地方下載到 gitlab-ce 的 rmp 包,再上傳到伺服器進行安裝;

使用一個國內鏡像地址進行在線安裝;

這里我們講一下第二種辦法,使用國內鏡像地址進行在線安裝,這里我們選擇清華大學提供的鏡像伺服器,因為它提供了比較全面的使用說明 ( https://mirror.tuna.tsinghua.e.cn/help/gitlab-ce/),現在我們按說明來安裝一下 Gitlab CE 版 (以下步驟是從承接上面的第二步開始的):

新的第二步

使用 vi 或 vim 新建並編輯 yum 源配置文件 /etc/yum.repos.d/gitlab-ce.repo

# vim /etc/yum.repos.d/gitlab-ce.repo

填入以下 yum 源配置信息:

[gitlab-ce]name=Gitlab CE Repositorybaseurl=https://mirrors.tuna.tsinghua.e.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1新的第三步

使用 yum 包管理器安裝 Gitlab CE 版

# yum makecache# yum -y install gitlab-ce

在 「新的第三步」 里比原來的第三步少了個東西,啥東西呢?細心的同學肯定發現了,沒有配置 Gitlab 伺服器的外部訪問地址 ( EXTERNAL_URL)!不要急,等待 Gitlab 裝完後我們再去配一下就好了!國內鏡像還是比較快的,幾分鍾就下載並裝好!

好了,現在該來補上 「新的第三步」 里缺失的 Gitlab 伺服器的外部訪問地址 (EXTERNAL_URL),在哪裡配置呢?熟悉 Linux 伺服器各目錄作的人應該都能猜到:Gitlab 這么全球通用的版本控制軟體,配置文件應該會也按照 Linux 約定放在 /etc 目錄中吧!使用 cd 到 /etc 目錄看一看或用 ls /etc/gitl 再 tab 一下就知道了!

# ls /etc/gitlab/gitlab.rb

果然是有一個 Gitlab 的配置文件!使用 cat 命令查看一下發現內容不是一般的多,眼睛都會看瞎!那麼我們用 grep 命令先過濾出包含外部訪問地址 (EXTERNAL_URL) 配置內容先:

# grep -i 'EXTERNAL_URL' /etc/gitlab/gitlab.rb ##! For more details on configuring external_url see:##! EXTERNAL_URL will be used to populate/replace this value.external_url 'http://gitlab.example.com'# registry_external_url 'https://registry.example.com'# pages_external_url "http://pages.example.com/"# gitlab_pages['artifacts_server_url'] = nil # Defaults to external_url + '/api/v4'# gitlab_pages['auth_redirect_uri'] = nil # Defaults to projects subdomain of pages_external_url and + '/auth'# gitlab_pages['gitlab_server'] = nil # Defaults to external_url# mattermost_external_url 'http://mattermost.example.com'# When the registry is automatically enabled using the same domain as `external_url`,# For example, if external_url is the same for two secondaries, you must specify# If it is blank, it defaults to external_url.

現在確認與外部訪問地址 (EXTERNAL_URL) 相關的內容就這么多,動手前先用 cp 命令備份一下 /etc/gitlab/gitlab.rb 文件,因為後面我們要做字元串直接替換這種高險操作!有備無患!

# cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak# ls /etc/gitlab/gitlab.rbgitlab.rb.bak

現在使用 sed 命令替換 /etc/gitlab/gitlab.rb 文件中的 http://gitlab.example.com 為 http://gitlab.xxxxx.com ? ,xxxxx為你的域名。

sed 命令字元串替換格式: sed -i "s$ 要查找的欄位 $ 替換成的欄位 & g" 文件名 ,-i 表示是 in place edit 的意思,即就地編輯更改;參數里開頭的 s 是 search 的意思,可以換成 d 表示 delete,最後的 g 是 globa 的意思,即全文搜索;

dnf install postfix systemctl enable postfix systemctl start postfix0

完了後,我們再用 grep 命令先篩選一下與外部訪問地址 (EXTERNAL_URL) 相關的內容:

dnf install postfix systemctl enable postfix systemctl start postfix1

使用 gitlab-ctl 工具根據修改後的配置文件重新配置 gitlab 服務實例使配置生效:

dnf install postfix systemctl enable postfix systemctl start postfix2還有其他一些常用命令如下

查看狀態:

dnf install postfix systemctl enable postfix systemctl start postfix3

啟動服務:

dnf install postfix systemctl enable postfix systemctl start postfix4

重啟服務:

dnf install postfix systemctl enable postfix systemctl start postfix5

停止服務:

dnf install postfix systemctl enable postfix systemctl start postfix6

列出所有服務:

dnf install postfix systemctl enable postfix systemctl start postfix7

最後從虛擬機的宿主機瀏覽器上用 IP 地址或域名 (用域名的話需要先在宿主機的 /etc/hosts 配置域名與 IP 地址映射,所以實際上還是 IP) 訪問一下 gitlab 服務:訪問成功如下圖 ,密碼在 /etc/gitlab/initial_root_password 文件中,登陸後可修改:

附加

語言改成中文: 進入 Preference,翻到最後,找到 Language,設置簡體中文並保存。

原文:https://juejin.cn/post/7099630956088131598

❷ 自託管Git服務程序 | Gitea搭建/使用教程

Gitea搭建與使用教程如下

一、前期准備

  • 安裝Git:確保本地已安裝Git,可通過官網下載並配置好Git Bash或Git GUI。

二、部署步驟

  1. 使用1Panel安裝Gitea

    • 在1Panel中安裝Gitea,並確保安裝MySQL,版本根據伺服器性能選擇,同時勾選埠對外訪問。
  2. 初始化Gitea

    • 輸入站點名稱,若無域名訪問,可保持默認,通過ip:3000進行訪問。
  3. 配置Git操作

    • 初始化完成後,在本地使用Git進行操作。
    • 上傳SSH密鑰以避免密碼驗證,提高操作便捷性和安全性。
  4. 解決SSH連接問題

    • 如遇到SSH連接問題,需修改Gitea的埠設置和app.ini文件。
    • 啟用rootless Dockercompose部署可簡化配置過程。

三、使用與配置

  • Gitea的使用與GitHub類似,但需注意配置和安全設置。
  • Gitea不內置Pages伺服器,需要外部域名提供靜態頁面,可通過反向代理或第三方服務實現。
  • 教程中展示了如何使用Gitea推送到HEXO博客倉庫,用戶可根據實際需求進行操作。

四、後續管理

  • 持續關注文章更新,以便更好地管理和使用Gitea。
  • 根據實際需求進行進一步的配置和優化,確保Gitea的穩定性和安全性。

❸ 自託管Git服務程序 | Gitea搭建/使用教程


自託管Git服務程序Gitea的搭建與使用教程


Gitea,作為輕量級的Git服務程序,相較於GitLab,其安裝和配置更為簡便。首先,確保本地已安裝Git,可通過官網下載並配置好Git Bash或Git GUI。本文將通過1Panel進行部署,適合各種Linux系統,如Ubuntu、Debian和CentOS。Gitea對伺服器配置要求不高,如夜夢使用的是優惠後的雨雲伺服器


Gitea不內置Pages伺服器,需要外部域名提供靜態頁面,可通過反向代理或第三方服務實現。教程中,將展示如何使用Gitea推送到HEXO博客倉庫,最終效果如圖所示。


部署步驟


推薦使用1Panel進行部署,具體步驟如下:



  • 在1Panel中安裝Gitea,確保安裝MySQL,版本根據伺服器性能選擇(夜夢用的是5.6)並勾選埠對外訪問。

  • 初始化Gitea,輸入站點名稱,無域名訪問保持默認,以ip:3000訪問。

  • 初始化完成後,本地使用Git進行操作,上傳SSH密鑰以避免密碼驗證。

  • 如果遇到SSH連接問題,需修改Gitea的埠設置和app.ini文件,啟用rootless Docker-compose部署可簡化配置。


通過以上步驟,Gitea已基本設置完成,後續使用與GitHub類似,只需注意配置和安全設置。文章將持續更新,以幫助用戶更好地管理和使用Gitea。


❹ windows下如何搭建屬於自己的git伺服器

搭建Windows下的個人Git伺服器,以下為詳細步驟:

首先,准備工具:gogs、git、TortoiseGit、nssm。安裝Git時,選擇自動配置即可。安裝TortoiseGit進行菜單化操作,並確保選擇中文語言包。

將gogs與nssm解壓至固定位置,如C:\installSoftware\GitSever。添加環境變數,將NSSM文件路徑添加至系統變數的Path中。進入C:\installSoftware\GitSever\gogs\scripts\windows路徑,以管理員身份執行「install-as-service.bat」。在電腦重啟後,再次執行此腳本。若gogs服務仍無法啟動,可嘗試刪除注冊表鍵值下的gogs文件夾,重啟電腦後再執行「install-as-service.bat」。此步驟完成後,gogs服務應能正常運行。

在瀏覽器中輸入127.0.0.1:3000/訪問gogs服務。選擇SQLite3作為資料庫類型,無需額外安裝SQL。點擊「安裝」,並輸入設置的管理賬戶和密碼。登錄後,進入gogs首頁。

對本地git伺服器進行配置:在C:\installSoftware\GitSever\gogs\custom\conf路徑下的app.ini文件中,將「START_SSH_SERVER = false」更改為「START_SSH_SERVER = true」。設置伺服器倉庫路徑為「[repository] ROOT = D:/gogs-repositories」。保存文件後,可開始使用Git伺服器。

建立個人倉庫並進行版本管理。在遠端設置倉庫,使用Git Bash生成SSH秘鑰,並將公鑰添加至用戶的SSH秘鑰設置中。安裝TortoiseGit,設置其ssh客戶端為ssh.exe。至此,個人Git伺服器搭建完成,可進行愉快的版本管理。

熱點內容
外國代理伺服器ip地址 發布:2025-06-15 14:45:33 瀏覽:210
無線路由器與交換機怎麼配置 發布:2025-06-15 14:45:21 瀏覽:376
蘋果app密碼在哪裡查 發布:2025-06-15 14:35:31 瀏覽:109
存儲區翻譯 發布:2025-06-15 14:34:00 瀏覽:257
常用資料庫技術 發布:2025-06-15 14:32:27 瀏覽:767
資料庫刪除表sql語句 發布:2025-06-15 14:24:36 瀏覽:218
我的世界伺服器怎麼搞生存區 發布:2025-06-15 13:37:10 瀏覽:631
游戲伺服器sa什麼意思 發布:2025-06-15 13:31:42 瀏覽:646
列印取消怎麼設置密碼 發布:2025-06-15 13:25:58 瀏覽:567
java程序的種類有 發布:2025-06-15 13:25:57 瀏覽:726