TranslateProject/published/20230727.1 ⭐️ How to Install GitLab on Ubuntu 22.04 20.04.md
2023-08-08 11:36:39 +08:00

222 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: subject: "How to Install GitLab on Ubuntu 22.04 | 20.04"
[#]: via: "https://www.linuxtechi.com/how-to-install-gitlab-on-ubuntu/"
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16074-1.html"
如何在 Ubuntu 上安装 GitLab
======
![][0]
GitLab 是一个开源平台提供了强大且功能丰富的解决方案用于管理仓库、问题、CI/CD 管道等。如果你是 Ubuntu 22.04 或 20.04 用户,并且想要设置自己的 [GitLab][1] 实例来简化你的 DevOps 工作流程,那么你来对地方了。
本分步指南将引导你完成 Ubuntu 22.04 或 20.04 上 GitLab 的安装过程。GItlab 提供企业版Gitlab EE和社区版Gitlab CE。在这篇文章中我们将介绍社区版。
先决条件:
- 运行 Ubuntu 22.04 或 20.04 且具有 SSH 访问权限的虚拟或专用服务器。
- 静态主机名(`gitlab.linuxtechi.net`
- 具有管理员权限的 Sudo 用户
- 2GB 内存或更多
- 2 个或更多 vCPU
- 互联网连接
### 1、更新系统包
让我们首先更新软件包列表并将任何现有软件包升级到最新版本。
```
$ sudo apt update
$ sudo apt upgrade -y
```
应用更新后重新启动系统。
```
$ sudo reboot
```
### 2、安装依赖项
GitLab 需要一些依赖项才能正常运行。使用以下命令安装它们:
```
$ sudo apt install -y curl openssh-server ca-certificates postfix
```
在 postfix 安装过程中,会出现一个配置窗口。选择 “Internet Site”并输入服务器的主机名作为邮件服务器名称。这将允许 GitLab 发送电子邮件通知。
![][2]
选择 “Internet Site”然后选择 “OK”。
![][3]
检查系统的主机名并选择 “OK”。
### 3、添加 GitLab Apt 存储库
现在,我们将添加 GitLab 仓库,运行以下 `curl` 命令。它将自动检测你的 Ubuntu 版本并相应地设置仓库。
```
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
```
![][4]
### 4、安装 Gitlab
运行以下命令在你的 ubuntu 系统上自动安装和配置 gitlab-ce将服务器的主机名替换为你的设置
```
$ sudo EXTERNAL_URL="http://gitlab.linuxtechi.net" apt install gitlab-ce
```
上述命令成功执行后,我们将得到如下输出。
![][5]
![][6]
上面的输出确认 GitLab 已成功安装。gitlab web 界面的用户名是 root密码存储在 `/etc/gitlab/initial_root_password`
注意:如果你的 ubuntu 系统上启用了操作系统防火墙,那请允许 80 和 443 端口。
```
$ sudo ufw allow http
$ sudo ufw allow https
```
### 5、访问 GitLab Web 界面
安装并配置 GitLab 后,打开 Web 浏览器并输入服务器的 IP 地址或主机名。
```
http://<Server-IP-Address-or-Hostname>
```
- 用户名:`root`
- 密码:从 `/etc/gitlab/initial_root_password` 获取密码
![][7]
点击“<ruby>登录<rt>Sign in</rt></ruby>”。
![][8]
很好,上面确认我们已经成功登录 Gitlab Web 界面。
目前我们的 GitLab 服务器运行在 http80协议上如果你想为你的 GitLab 启用 https请参考以下步骤。
### 6、为 GitLab Web 界面设置 HTTPS
为提高安全性,可使用自签名证书或 Let's Encrypt 为 GitLab 实例配置 HTTPS。Let's Encrypt 只适用于互联网上有 A 记录的公有域。但在本例中,我们使用的是私有域,因此将使用自签名证书来确保 GitLab 的安全。
现在,让我们创建以下文件夹并使用 `openssl` 命令生成自签名证书:
```
$ sudo mkdir -p /etc/gitlab/ssl
$ sudo chmod 755 /etc/gitlab/ssl
```
使用以下 `openssl` 命令生成私钥:
```
$ sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key 2048
```
输入密码并记住它。
使用以下命令创建 CSR
```
$ sudo openssl req -new -key /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.csr
```
![][9]
从密钥中删除密码串,依次执行以下命令:
```
$ sudo cp -v /etc/gitlab/ssl/gitlab.linuxtechi.net.{key,original}
$ sudo openssl rsa -in /etc/gitlab/ssl/gitlab.linuxtechi.net.original -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.original
```
创建证书文件:
```
$ sudo openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitlab.linuxtechi.net.csr -signkey /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.crt
```
使用下面的 `rm` 命令删除 CSR 文件:
```
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.csr
```
设置密钥和证书文件的权限:
```
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.crt
```
Gitlab 服务器的所有重要配置均由文件 `/etc/gitlab/gitlab.rb` 控制,因此编辑此文件,搜索 `external_url` 并添加 `https://gitlab.linuxtechi.net`
```
$ sudo vi /etc/gitlab/gitlab.rb
----------------------------------------------------------
external_url 'https://gitlab.linuxtechi.net'
----------------------------------------------------------
```
保存并退出文件,使用下面的命令重新配置 gitlab以便其 Web 界面可以使用 HTTPS。
```
$ sudo gitlab-ctl reconfigure
```
![][10]
成功执行上述命令后,你的 GitLab 界面应该可以通过 HTTPS 协议访问在我的例子中URL 为:`https://gitlab.linuxtechi.net/`
当你第一次访问它时,它会说你的连接不安全,点击“接受风险并继续”。
![][11]
### 结论
恭喜! 你已在 Ubuntu 22.04 或 20.04 系统上成功安装 GitLab。随着 GitLab 的启动和运行,你现在可以创建仓库,与你的团队协作,并通过 GitLab 令人印象深刻的功能增强你的开发工作流程。享受无缝版本控制、持续集成等,一切尽在你的掌控之中!
*题图MJ/c6a3e27e-fe58-4184-b133-9e9c67224316*
--------------------------------------------------------------------------------
via: https://www.linuxtechi.com/how-to-install-gitlab-on-ubuntu/
作者:[Pradeep Kumar][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.linuxtechi.com/author/pradeep/
[b]: https://github.com/lkxed/
[1]: https://about.gitlab.com/
[2]: https://www.linuxtechi.com/wp-content/uploads/2018/06/Choose-Internet-Site-Postfix-Gitlab-Installation-Ubuntu.png
[3]: https://www.linuxtechi.com/wp-content/uploads/2018/06/System-Hostname-Postfix-Gitlab-Ubuntu.png
[4]: https://www.linuxtechi.com/wp-content/uploads/2018/06/Add-GitLAb-CE-Apt-Repository-Ubuntu.png
[5]: https://www.linuxtechi.com/wp-content/uploads/2018/06/Apt-Install-Gitlab-ce-Ubuntu.png
[6]: https://www.linuxtechi.com/wp-content/uploads/2018/06/Gitlab-Successful-Installlation-Message-Ubuntu.png
[7]: https://www.linuxtechi.com/wp-content/uploads/2018/06/GitLab-Login-Page-Post-Installation-Ubuntu.png
[8]: https://www.linuxtechi.com/wp-content/uploads/2018/06/GitLab-Web-Interface-Ubuntu.png
[9]: https://www.linuxtechi.com/wp-content/uploads/2018/06/Generate-CSR-Self-Sign-Cert-Gitlab.png
[10]: https://www.linuxtechi.com/wp-content/uploads/2018/06/Gitlab-reconfigured-Ubuntu.png
[11]: https://www.linuxtechi.com/wp-content/uploads/2018/06/Gitlab-Web-Interface-over-Https-Ubuntu.png
[0]: https://img.linux.net.cn/data/attachment/album/202308/08/113049el2dx242c4mwm40k.jpg