Centos

如何在CentOS 7上安装和配置GitLab

luobo · 1月18日 · 2020年 · ·

GitLab是一个使用Ruby编写的基于Web的开源Git存储库管理器,包括Wiki,问题管理,代码审查,监视以及持续集成和部署。 它使开发人员能够构建,部署和运行他们的应用程序。

提供了三种不同的GitLab版本:社区版(CE),企业版(EE)和GitLab托管的版本。

如果您想将项目从GitHub移开,则绝对应该尝试使用GitLab。 它可以从包括GitHub在内的不同来源导入项目和问题,这使迁移过程轻松自如。 GitLab界面经过精心设计,简洁,直观,并且在用户体验和功能方面接近GitHub。

有多种安装方式,具体取决于您的要求和偏好。 本教程介绍了使用Omnibus软件包在CentOS 7系统上安装和配置GitLab(CE)所需的步骤。

前提要求

本教程假定您具有全新的CentOS 7安装。

根据GitLab要求页面,建议将服务器用于:

  • 至少4GB的RAM内存。
  • 2个CPU内核。
  • 至少2GB的交换空间。
  • 指向服务器IP地址的域或子域。(可选)

为了增加安全性,建议设置基本防火墙。 您可以按照CentOS 7上的HHow如何使用FirewallD设置防火墙指南中的步骤进行操作。

您所登录的用户必须具有sudo特权才能安装软件包

安装所需的依赖项

更新本地软件包索引,并使用以下命令安装依赖项:

sudo yum install curl policycoreutils-python openssh-server

为了使GitLab能够发送通知电子邮件,您可以安装并使用Postfix或使用某些事务性邮件服务,例如SendGrid,MailChimp,MailGun或SES,在这种情况下,您可以跳过此步骤并配置[GitLab的SMTP设置] (https://docs.gitlab.com/omnibus/settings/smtp.html)完成安装后。

运行以下命令在您的CentOS服务器上安装Postfix:

sudo yum install postfix

在安装过程中,将要求您选择邮件服务器配置类型。 默认选项是Internet Site。 建议的选项是按TAB,然后按ENTER

接下来,系统将提示您输入System mail name,该名称应与服务器主机名相同。

安装完成后,通过运行以下命令启动并启用postfix服务:

sudo systemctl start postfix
sudo systemctl enable postfix

安装 Gitlab

GitLab安装是一个非常简单的过程。 我们将使用yum软件包管理器安装GitLab CE软件包。

首先使用以下curl命令将GitLab存储库添加到系统源列表中:

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

该脚本将启用存储库并安装必要的依赖项。 完成后,通过运行以下命令安装GitLab软件包:

sudo yum install gitlab-ce

系统将提示您接受GitLab存储库GPG密钥。 输入y,然后按Enter回车。

安装过程可能需要一段时间,成功安装后,您将看到以下输出:

Thank you for installing GitLab!
...
Complete!

调整防火墙规则

先决条件部分中链接了有关设置基本防火墙的指南。 要访问GitLab界面,您需要打开端口80443。为此,请运行以下命令:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

设置 GitLab URL

在访问GitLab Web界面之前,我们需要设置可访问GitLab的URL。 打开Gitlab的配置文件并进行以下更改:

sudo nano /etc/gitlab/gitlab.rb

在配置文件顶部附近,您将看到以external_url开头的一行。 更改值以匹配您的域/子域或IP地址。 如果您拥有域,请使用https,并且如果您想通过服务器IP地址访问GitLab界面,请使用http

external_url 'https://gitlab.example.com'

接下来搜索Let's Encrypt integration,取消对以letsencrypt ['enable']开头的行的注释,并将其设置为true。 (可选)如果您希望接收来自Let’s Encrypt的有关您的域的电子邮件,请取消注释以letencrypt ['contact_emails']开头的行并添加您的电子邮件地址。

如果将external_url设置为IP地址,则不应启用Let’s Encrypt集成。

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]'] # This should be an array of email addresses to add as contacts

最后保存并关闭文件,然后运行以下命令重新配置Gitlab:

sudo gitlab-ctl reconfigure

该命令将重新配置GitLab设置并生成一个免费的让我们加密SSL证书

通过Web界面配置GitLab

现在,您已经配置了GitLab URL,您可以通过GitLab Web界面从初始配置开始。

启动您的网络浏览器并导航至:

https://your_gitlab_domain_or_server_IP.com

0x01. 设置管理帐号密码

首次访问网络界面时,系统会提示您设置管理帐户的密码。

Gitlab 密码设置界面

输入安全密码,完成后单击Change your password按钮。

您将被重定向到登录页面:

Gitlab 登录页面

默认的管理帐户用户名是root。 在本教程的后面,我们将向您展示如何更改用户名。

  • Username: root
  • Password: [您设置的密码]

输入登录凭据并单击登录按钮后,您将进入GitLab欢迎页面。

Gitlab 欢迎页面

0x02. 编辑用户个人资料

您要做的第一件事是编辑用户个人资料。 单击用户头像(右上角),然后从下拉菜单中选择Settings设置:

Gitlab 个人设置界面

在这里,您可以更改您的姓名,电子邮件以及其他个人资料信息和设置。 根据您的喜好进行更改。

Gitlab 个人信息设置界面

完成后,单击Update Profile settingsc按钮,不久您将收到一封确认电子邮件,其中包含您提供的地址。 要确认您的帐户,请按照电子邮件中的说明进行操作。

0x03. 修改用户名

要访问Profile page配置文件页面,请单击左侧垂直导航菜单中的Account链接。

如您所知,第一个管理帐户的默认用户名是root。 要更改它,只需键入您的新用户名,然后单击更新用户名按钮。

Gitlab 修改用户名

在此屏幕上,您还可以启用两因素身份验证。

下次登录到GitLab仪表板时,需要输入新的用户名。

0x04. 添加SSH密钥

为了能够将本地git更改推送到GitLab服务器,您可以将SSH公钥添加到GitLab帐户。

如果您已经在本地系统上创建了SSH密钥对,则可以通过键入以下内容显示公钥:

cat ~/.ssh/id_rsa.pub

输出应类似于以下内容:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

如果以上命令未打印此类文件或目录,则意味着您的计算机上没有生成SSH密钥对。

要生成新的SSH密钥对,请使用以下命令:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

复制cat命令的输出,然后返回到GitLab的Web界面。 从左侧垂直导航菜单中单击SSH keys,以访问SSH密钥配置页面。

keys文本区域中,粘贴您先前从本地计算机复制的公共密钥,设置一个描述性标题,然后单击Add keys按钮:

现在,您无需提供GitLab帐户凭据,就可以从本地计算机推送和提取项目更改。

文章结语

本教程引导您完成在CentOS 7上GitLab的安装和配置。您还学习了如何编辑配置文件设置,如何更改用户名和添加SSH密钥。 现在,您可以创建第一个项目并开始使用GitLab。

如有疑问,请在下面发表评论。

0 条回应