如何在CentOS 8上安装和配置GitLab CE
如何在CentOS 8上安装和配置GitLab CE
GitLab是基于GitLab Inc.开发的基于Rails的开源资源库管理器。它是基于Web的git资源库管理器,它使您的团队可以在编码,测试和部署应用程序方面进行协作。 GitLab提供了多种功能,包括Wiki,问题跟踪,代码审查和活动供稿。
GitLab Inc提供4种产品:
- Gitlab CE(社区版)-自托管且免费; 社区论坛的支持。
- Gitlab EE(企业版)-自托管和付费; 带有附加功能。
- GitLab.com-SaaS和免费。
- GitLab.io-由GitLab Inc管理的私有GitLab实例。
在本教程中,我们将向您展示如何在CentOS 8服务器上安装GitLab CE。 我们将使用GitLab提供的“ omnibus”软件包安装GitLab CE,对GitLab进行一些基本配置,并测试以创建新的GitLab项目。
先决条件
对于本指南,我们将在具有4GB RAM,30GB可用磁盘空间和2个CPU的最新版本的CentOS 8服务器上安装GitLab CE。
我们将要做什么?
- 安装软件包依赖项
- 添加存储库并安装GitLab CE(社区版)
- 生成SSL Letsencrypt和DHPARAM证书
- 为GitLab启用Nginx HTTPS
- 配置防火墙
- GitLab安装后
- 测验
第1步-安装软件包依赖项
首先,我们将安装GitLab所需的一些软件包依赖项,包括OpenSSH软件包和Postfix。
使用下面的dnf命令安装GitLab CE的软件包依赖项。
sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix
完成所有安装后,启动SSH和Postfix服务。
systemctl start sshd
systemctl start postfix
接下来,将两个服务都添加到系统引导中。
systemctl enable sshd
systemctl enable postfix
结果,软件包依赖项的安装已完成。
第2步-添加存储库并安装GitLab
在这一步中,我们将正式的GitLab存储库添加到我们的CentOS 8系统并安装GitLab CE软件包。
使用下面的安装程序脚本添加GitLab存储库。
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
完成所有步骤后,您将获得以下结果。
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <[email protected]>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
Userid : "GitLab, Inc. <[email protected]>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.
要验证GitLab存储库,请运行以下dnf命令。
sudo dnf repolist
您将在列表中找到GitLab存储库。
接下来,使用以下命令安装GitLab CE软件包
sudo dnf install gitlab-ce -y
完成所有安装后,您将获得如下结果。Advertisement.banner-1{text-align:center; padding-top:10pximportant; padding-bottom:10pximportant; padding-left:0pximportant; padding-right:0pximportant; width:100%important; box-sizing:border-boximportant; background -color:#eeeeeeimportant; border:1px实心#dfdfdf}
结果,现在在CentOS 8系统上安装了GitLab CE社区版。
第3步-生成SSL Letsencrypt和DHPARAM
在本教程中,我们将在安全的HTTPS连接上运行GitLab,并且将使用Letsencrypt的SSL Letsencrypt和DHAPRAM(可使用openssl命令生成)。
在此步骤中,我们将使用certbot命令行工具生成SSL Letsencrypt,该工具可以从EPEL存储库安装,然后使用openssl生成DHPARAM证书。
使用以下命令将EPEL存储库添加到CentOS 8系统。
sudo dnf install epel-release
接下来,使用下面的dnf命令安装certbot软件包。
sudo dnf install certbot
完成所有安装后,使用下面的certbot命令生成用于GitLab的SSL Letsencryp。
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io
现在,您的SSL证书将在’/etc/letsencrypt/live/gitlab.hakase-labs.io’目录中可用,请使用以下命令进行检查。
ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/
您将获得“ fullchain.pem”和“ privkey.pem”证书。
接下来,使用下面的openssl命令将DHPARAM证书生成到’/ etc / gitlab’目录。
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
完成所有操作后,将“ dhparam.pem”证书的权限更改为“ 0600”。
sudo chmod 600 /etc/gitlab/dhparams.pem
结果,生成了用于GitLab的SSL Letsencrypt和DHPARAM证书。
第4步-为GitLab设置域名启用Nginx HTTPS
在此步骤中,我们将设置域名并为GitLab启用Nginx HTTPS安全连接。
转到“ / etc / gitlab”目录并编辑配置“ gitlab.rb”。
cd /etc/gitlab/
vim gitlab.rb
在“ external_url”行上,使用您自己的名称更改默认域名,并将http更改为https协议,如下所示。
external_url 'https://gitlab.hakase-labs.io'
接下来,在“ external_url”行之后添加以下配置,并确保使用您自己的SSL和DHPARAM证书进行更改。
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"
保存并关闭。
接下来,运行以下命令以重新配置GitLab并应用新配置。
sudo gitlab-ctl reconfigure
该命令将调用为Omnibus GitLab提供动力的Chef脚本,以重新配置GitLab安装。
完成所有步骤后,请转到下一步。
第5步-配置防火墙
在GitLab上启用HTTPS之后,我们将HTTP和HTTPS服务添加到Firewalld。
运行下面的firewall-cmd命令。
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
之后,重新加载firewalld服务以应用新配置。
firewall-cmd --reload
现在,使用以下命令检查firewalld上的所有服务。
firewall-cmd --list-services
现在,您将在列表中获得SSH,HTTP和HTTPS服务。
结果,您已经将HTTP和HTTPS服务添加到了firewalld,并且GitLab现在可以使用了。
第6步-GitLab安装后
打开您的Web浏览器,然后在地址栏上键入您的GitLab域名安装。 我的是:https://gitlab.hakase-labs.io/,请使用您的地址。
然后,您将被重定向到重置密码页面。
-GitLab重置默认密码
输入默认的GitLab用户“ root”的新密码。
现在,单击“更改密码”按钮,您将被重定向到GitLab登录页面。
输入默认用户“ root”和密码,然后单击“登录”按钮,您将获得如下的GitLab仪表板。
更改个人资料和用户名
登录到GitLab仪表板后,请使用您自己的默认“ root”用户进行更改。
要更改个人资料设置,请点击图标个人资料的右上角,然后点击“设置”图标以设置您的个人资料。
现在输入新的用户名和电子邮件地址,然后滚动到底部页面并单击“更新配置文件设置”按钮。
接下来,单击“帐户”选项卡,使用您自己的默认用户名更改为“ root”,然后单击“更新用户名”按钮。
结果,root用户的默认用户名和电子邮件地址已更改。
添加SSH密钥
现在,我们将SSH密钥添加到GitLab。 确保您拥有SSH密钥,如果没有,则可以使用以下命令生成SSH密钥。
ssh-keygen
现在,您将在用户主目录内的“〜/ .ssh”目录中生成SSH密钥。
接下来,返回到GitLab仪表板,然后单击“ SSH密钥”选项卡菜单。
复制SSH公钥“〜/ .ssh / id_rsa.pub”的内容并粘贴到GitLab页面,然后单击“添加密货币钥”按钮。
结果,SSH密钥已添加到GitLab。
设置每个帐户的项目限额
在顶部中间菜单上,单击“设置”按钮。
现在,单击“设置”>“常规”,在“帐户和限制”部分,单击“扩展”。
根据需要更改“默认项目限制”,然后单击“保存”按钮。
如此一来,每个帐户的默认项目限制已更改。
第7步-创建新项目并提交
在这一步中,我们将通过创建一个新的GitLab项目来测试我们的GitLab安装。
创建新的GitLab项目
要在GitLab上创建一个新项目,请单击右上角菜单上的“ +”插入按钮。
现在,输入详细信息您的项目名称,项目标记和描述,然后单击“创建项目”按钮。
并创建了新的GitLab项目。
在笔记本电脑上设置GitLab
在GitLab上创建新项目后,我们将在本地计算机上设置GitLab帐户。
打开您的终端并运行以下git命令来设置git的默认用户和电子邮件地址。
git config --global user.name "hakase"
git config --global user.email "[email protected]"
接下来,将您的GitLab项目克隆到本地计算机目录并进入。
git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/
结果,已经配置了Git的默认用户和电子邮件,并且GitLab项目已被克隆到本地计算机。
进行更改并提交
现在,我们在本地计算机上有了GitLab项目,我们将进行测试以更改“ README.md”文件,并对GitLab项目进行首次提交。
使用编辑器编辑“ README.md”文件。
vim README.md
现在对文件进行更改,然后保存并关闭。
之后,使用下面的命令添加新版本的“ README.md”文件并提交。
git add .
git commit -m "Change README.md"
现在,使用下面的git push命令将新更改推送到GitLab存储库。
git push origin master
“ README.md”文件的新更改已推送到GitLab存储库。
接下来,返回到Web浏览器上的GitLab存储库,您将获得新版本的’README.md’文件,其中的提交注释位于顶部。
结果,我们成功创建了一个新的GitLab项目并对其进行更改。
最后,在CentOS 8 Server上的安装和配置GitLab已成功完成。