在Ubuntu 20.04上使用SSL / TLS證書安裝Gitlab

在本教程中,您將學習如何在Ubuntu 20.04上使用SSL / TLS證書安裝Gitlab。 亞搏體育app 是一個具有內置版本控制,問題跟蹤,代碼審查,CI / CD等的開源端到端軟件開發平台。它是一個完整的DevOps平台,作為單個應用程序提供。

閱讀更多有關Gitlab提供的內容的信息 Gitlab功能頁面

在Ubuntu 20.04上使用SSL / TLS證書安裝Gitlab

Ubuntu 20.04上的Gitlab安裝要求

以下是在Ubuntu 20.04上安裝帶有SSL / TLS證書的Gitlab的最低要求。

硬件要求

確保要託管在Gitlab上的系統滿足以下最低硬件要求;

  • 存儲:足夠的存​​儲空間取決於要存儲在GitLab中的存儲庫大小。
  • 中央處理器:至少4個核心。 (最多支持500個用戶)。
  • 記憶:至少4GB RAM(最多支持500個用戶)。
  • 交換:至少2GB的交換內存。

軟件需求

  • GitLab需要Ruby(MRI)2.6。
  • 所需的最低Go版本為1.13。
  • 需要Node.js 10.13.0或更高版本。建議使用節點12.x。
  • GitLab 13.0及更高版本需要Redis 4.0或更高版本。

數據庫要求

Gitlab僅支持PostgreSQL數據庫。下表列出了特定版本的Gitlab所需的PostgreSQL數據庫版本;

GitLab版本最低PostgreSQL版本
10.09.6
13.011
13.612

閱讀有關安裝要求的更多信息 需求頁面上的Gitlab

在Ubuntu 20.04上使用SSL / TLS證書安裝Gitlab

運行系統更新

運行系統更新;

apt update

安裝必需的軟件包依賴項

運行以下命令以安裝一些必需的軟件包依賴項。

apt install curl tzdata ca-certificates openssh-server

在Ubuntu 20.04上安裝Gitlab

在本教程中,我們將安裝CE的Gitlab社區版。因此,您可以使用現成的DEB二進制軟件包或直接從Gitlab存儲庫中安裝它。

要在Ubuntu 20.04上安裝Gitlab CE,您需要通過運行以下命令來安裝Gitlab CE庫。

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

完成Gitlab軟件包存儲庫後,在Ubuntu 20.04上安裝Gitlab。

apt install gitlab-ce
...
Preparing to unpack .../gitlab-ce_13.5.4-ce.0_amd64.deb ...
Unpacking gitlab-ce (13.5.4-ce.0) ...
Setting up gitlab-ce (13.5.4-ce.0) ...
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ 
  / /_/ / / /_/ /___/ /_/ / /_/ /
  ____/_/__/_____/__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

要使用DEB二進制軟件包安裝Gitlab,請從 Gitlab軟件包頁面 並使用手動安裝 apt 要麼 dpkg 命令;

wget -O gitlab-ce_13.5.4-ce.0_arm64.deb https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_13.5.4-ce.0_arm64.deb/download.deb

apt安裝./gitlab-ce_13.5.4-ce.0_arm64.deb

在Ubuntu 20.04上使用SSL / TLS證書配置Gitlab

一旦安裝了Gitlab CE軟件包,就可以安裝SSL / TLS證書。您可以通過兩種方式為Gitlab配置SSL / TLS證書:

  1. 使用免費的自動HTTPS和“讓我們加密”
  2. 使用您自己的證書手動配置HTTPS

在此演示中,我們將使用我們自己的自簽名證書手動設置帶有SSL證書的Gitlab。如果要將gitlab服務器公開到公共互聯網,則可以考慮使用商業TLS證書。

創建一個目錄來存儲SSL證書;

mkdir /etc/gitlab/ssl

接下來,通過運行以下命令來生成自簽名SSL證書。確保在下面的命令中相應地替換證書的詳細信息;

openssl req -newkey rsa:4096 -x509 -sha512 -days 3650 -nodes -out /etc/gitlab/ssl/kifarunix-demo.crt -keyout /etc/gitlab/ssl/kifarunix-demo.key -subj "/C=US/ST=California/L=San Francisco/O=Kifarunix-demo Ltd/CN=*.kifarunix-demo.com/"

僅將公共證書文件複製到 /etc/gitlab/trusted-certs 目錄。

mkdir /etc/gitlab/trusted-certs
cp /etc/gitlab/ssl/kifarunix-demo.crt /etc/gitlab/trusted-certs/

是否要使用“讓我們加密”?檢查一下 鏈接

在Ubuntu 20.04上為GitLab服務器配置URL

生成證書後,請編輯 /etc/gitlab/gitlab.rb 配置文件並替換 external_url Gitlab CE服務器URL的參數以為域啟用HTTPS。適當替換域名。

vim /etc/gitlab/gitlab.rb
...
## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! Note: During installation/upgrades, the value of the environment variable
##! EXTERNAL_URL will be used to populate/replace this value.
##! On AWS EC2 instances, we also attempt to fetch the public hostname/IP
##! address from AWS. For more details, see:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
#external_url 'http://gitlab.example.com'
external_url 'https://gitlab.kifarunix-demo.com'

啟用Gitlab SSL設置

接下來,向下滾動至Gitlab NGINX部分,並進行以下調整(根據您的設置)。

################################################################################
## GitLab NGINX
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html
################################################################################

nginx['enable'] = true 
nginx['client_max_body_size'] = '250m'
nginx['redirect_http_to_https'] = true 
...
...
nginx['ssl_certificate'] = "/etc/gitlab/ssl/kifarunix-demo.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/kifarunix-demo.key"
...
...
nginx['ssl_protocols'] = "TLSv1.2 TLSv1.3"

有很多配置選項選項。完成配置,並為您需要的任何其他服務啟用ssl。

完成配置後,保存並退出配置文件。

重新配置Omnibus GitLab

設置完成後,重新配置Omnibus Gitlab。只要有任何配置更改,就需要重新配置。

gitlab-ctl reconfigure

檢查Gitlab服務的狀態;

gitlab-ctl status
run: alertmanager: (pid 16779) 225s; run: log: (pid 16373) 290s
run: gitaly: (pid 16662) 227s; run: log: (pid 15291) 727s
run: gitlab-exporter: (pid 16661) 227s; run: log: (pid 16274) 306s
run: gitlab-workhorse: (pid 16637) 228s; run: log: (pid 15974) 328s
run: grafana: (pid 16856) 207s; run: log: (pid 16564) 247s
run: logrotate: (pid 16033) 321s; run: log: (pid 16041) 319s
run: nginx: (pid 17480) 1s; run: log: (pid 16013) 326s
run: node-exporter: (pid 16652) 227s; run: log: (pid 16167) 312s
run: postgres-exporter: (pid 16791) 225s; run: log: (pid 16406) 283s
run: postgresql: (pid 15460) 688s; run: log: (pid 15473) 686s
run: prometheus: (pid 16763) 226s; run: log: (pid 16343) 293s
run: puma: (pid 15875) 345s; run: log: (pid 15882) 343s
run: redis: (pid 15240) 735s; run: log: (pid 15258) 733s
run: redis-exporter: (pid 16680) 227s; run: log: (pid 16309) 300s
run: sidekiq: (pid 15891) 339s; run: log: (pid 15912) 336s

如果您需要重啟所有的Gitlab服務;

gitlab-ctl restart

你也可以使用 start|stop 命令選項來控制Gitlab服務。

要啟動,停止或重新啟動單個組件,例如nginx;

gitlab-ctl start|stop|restart nginx

訪問Gitlab Web界面

現在已完成在Ubuntu 20.04上具有SSL / TLS證書的Gitlab的基本安裝。您現在所能做的就是訪問Gitlab Web界面。

如果UFW正在運行,則需要打開端口443/80以允許外部訪問。

ufw allow "Apache Full"

允許來自特定IP;

ufw allow from 192.168.57.1 to any port 80 proto tcp
ufw allow from 192.168.57.1 to any port 443 proto tcp

訪問Web界面後,系統將提示您設置新的root用戶密碼。

以root用戶身份使用上面設置的密碼登錄到Gitlab Web用戶界面。您也可以註冊自己的帳戶,然後繼續登錄到Gitlab Web儀錶板。

在Ubuntu 20.04上使用SSL / TLS證書安裝Gitlab

用於root用戶的Gitlab Web儀錶板;

在Ubuntu 20.04上使用SSL / TLS證書安裝Gitlab

現在,基本上已經安裝並設置了Gitlab。這標誌着本教程有關如何在Ubuntu 20.04上安裝具有SSL / TLS證書的Gitlab的結尾。

參考

在Ubuntu上下載並安裝Gitlab

進一步閱讀

Gitlab文檔

其他教程

在CentOS 8上安裝最新的Apache Solr

在Ubuntu 20.04上安裝最新的Apache Solr

在ELK堆棧上可視化WordPress用戶活動日誌

在Ubuntu 20.04上安裝和配置SNMP的快速方法

在Ubuntu 20.04上輕鬆安裝和設置Cacti

Sidebar