如何在Ubuntu 18.04 LTS上安装GitLab社区版(CE)11.x

自从GitHub被Microsoft收购以来,许多开发人员已计划将自己的代码存储库从github.com迁移到替代的自托管解决方案。GitLab社区版(CE)是最常见的选择。

作为一种复杂而灵活的解决方案,可以使用多种方法来部署GitLab CE,但是这里仅涵盖官方推荐的方法,即Omnibus软件包安装。

先决条件

  • 至少具有4GB内存的全新Vultr Ubuntu 18.04 LTS x64服​​务器实例。建议为最多100个用户使用8GB或更多空间。假设其IPv4地址为203.0.113.1
  • 一个sudo的用户
  • gitlab.example.com指向上述实例。

注意: 在自己的服务器实例上进行部署时,请确保将所有示例值替换为实际值。

步骤1:执行托管GitLab CE的基本任务

启动SSH终端,并以sudo用户身份登录到Ubuntu 18.04 LTS x64服​​务器实例。

添加交换分区并调整swappiness设置

在具有4GB内存的计算机上部署GitLab CE 11.x时,需要设置4GB交换分区以使运行平稳:

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

注意: 如果使用其他服务器大小,则交换分区的大小可能会有所不同。

为了提高系统性能,建议将内核的swappiness设置配置为较低的值,例如10

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

cat命令的输出将为10

设置机器的主机名和标准域名(FQDN)

使用下面的命令来设置主机名,gitlab和FQDN,gitlab.example.com为机器:

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

您可以确认结果:

hostname
hostname -f

修改防火墙规则

允许入站SSH,HTTP和HTTPS流量

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

更新系统

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

升级过程中,系统可能会通知您grub配置文件的当前安装版本已在本地修改。由于我们实际上不负责修改,因此请使用UP箭头突出显示该install the package maintainer's version选项,然后按ENTER

当系统启动并再次运行时,以相同的sudo用户身份登录以继续。

步骤2:安装所需的依赖项

在安装GitLab CE之前,您需要安装必需的依赖项:

sudo apt install -y curl openssh-server ca-certificates

另外,如果要使用Postfix发送通知消息,则需要安装Postfix:

sudo apt install -y postfix

在安装过程中,可能会出现一个配置屏幕:

  1. TAB以突出显示<OK>第一个屏幕上的按钮,然后按ENTER
  2. 选择Internet Site,然后按ENTER
  3. 在该mail name字段中,输入服务器的FQDN gitlab.example.com,然后按ENTER
  4. 如果出现其他屏幕,请按ENTER接受默认设置。

启动并启用Postfix服务:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

修改Postfix的防火墙规则:

sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'

安装了Postfix后,您需要/etc/postfix/main.cf根据实际服务器设置通过编辑其主要配置文件来配置Postfix 。

注意: 除了上述说明以外,您还需要提交支持票证以取消SMTP端口25上Vultr的默认阻止。

另外,如果您要使用其他消息传递解决方案,只需跳过安装Postfix并选择在安装GitLab CE之后使用外部SMTP服务器。

步骤3:设置GitLab APT存储库,然后安装GitLab CE

在系统上设置GitLab CE APT存储库:

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

接下来,安装GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

安装可能需要一段时间。

最后,将您喜欢的Web浏览器指向http://gitlab.example.com,然后根据提示提交新密码以完成安装。

从现在开始,使用以下凭据以管理员身份登录:

  • 用户名: root
  • 密码: <your-new-password>

步骤4:通过集成“加密我们的SSL”证书来启用HTTPS访问

到目前为止,您已经在服务器实例上成功安装了GitLab CE 11.x,并且用户已经可以使用HTTP协议访问该站点。为了安全起见,建议通过集成Let's Encrypt SSL证书来启用对您的GitLab服务器的HTTPS访问。

使用vi编辑器打开GitLab CE配置文件:

sudo vi /etc/gitlab/gitlab.rb

找到以下两行:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

相应地替换它们:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']

保存并退出:

:wq!

使用更新的设置重新配置GitLab CE:

sudo gitlab-ctl reconfigure

重新配置可能需要一段时间。

重新配置完成后,在访问GitLab站点时,所有用户将被迫使用HTTPS协议。

注意: 从HTTP切换到HTTPS后,旧版Cookie可能会导致GitLab 422错误。清除Cookie可解决此问题。



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息