在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