當前位置:首頁 » 雲伺服器 » 搭建git伺服器centos

搭建git伺服器centos

發布時間: 2025-06-16 22:06:27

1. 自託管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。


2. 手把手教你在 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
熱點內容
麥客存儲器 發布:2025-06-17 04:00:15 瀏覽:702
java配套 發布:2025-06-17 03:52:11 瀏覽:520
雲計算不要伺服器嗎 發布:2025-06-17 03:52:09 瀏覽:877
魔法編程貓 發布:2025-06-17 03:49:54 瀏覽:986
資料庫上市公司 發布:2025-06-17 03:39:46 瀏覽:537
壓縮軟體怎麼解壓密碼是多少 發布:2025-06-17 03:39:45 瀏覽:139
Y問4解壓 發布:2025-06-17 03:30:36 瀏覽:365
javaclob存儲 發布:2025-06-17 03:29:48 瀏覽:334
伺服器如何看有沒有使用過 發布:2025-06-17 03:25:28 瀏覽:156
反編譯轉碼 發布:2025-06-17 03:17:32 瀏覽:161