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

GitLab是由GitLab股份有限公司开发的基于Rails的开源存储库管理器。它是一个基于web的git存储库管理程序,允许您的团队在编码、测试和部署应用程序方面进行协作。GitLab提供了几个功能,包括wiki、问题跟踪、代码审查和活动提要。

GitLab公司提供4种产品:
Gitlab CE(社区版)-自托管且免费;社区论坛的支持。
Gitlab EE(企业版)-自托管和付费;带有附加功能。
GitLab.com-SaaS和免费。
GitLab.io-由GitLab股份有限公司管理的私有GitLab实例。

在本教程中,我们将讨论在具有4GB RAM的CentOS 7 Server上逐步安装GitLab CE(社区版)。但在这里,我们将使用GitLab提供的“omnibus”包进行安装。

我们将做什么:
· 安装程序包
· 安装GitLab
· 配置GitLab URL
· 生成SSL让我们加密和DHPARAM证书
· 为GitLab启用Nginx HTTPS
· 配置防火墙
· 执行GitLab安装
· 测试

先决条件
CentOS 7服务器-64位
最小内存2GB
Root权限

步骤1-安装软件包
在此步骤中,我们将下载/安装GitLab安装所需的一些软件包。我们将使用curl下载存储库安装程序、SELinux管理器的policycoreutils、OpenSSH和作为本地SMTP服务器的postfix。

使用以下yum命令安装所有这些软件包。

yum -y install curl policycoreutils openssh-server openssh-clients postfix

之后,启动ssh和postfix服务。

systemctl start sshd
systemctl start postfix

现在,让它们在启动时自动运行。

systemctl enable sshd
systemctl enable postfix
图片[1]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

GitLab安装所需的所有软件包现在都已安装在服务器上。

第二步-安装GitLab
GitLab提供了一个用于添加GitLab CE存储库的安装程序。使用curl下载安装程序并运行脚本(如下所示)以添加新的GitLab CE存储库。

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

GitLab CE仓库已添加到系统中。

图片[2]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

现在使用以下yum命令安装GitLab。

yum -y install gitlab-ce

安装完成后,您将得到如下所示的结果。

图片[3]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

至此,GitLab CE现已安装在CentOS 7服务器上。

步骤3-配置GitLab URL
在本教程中,我们将使用GitLab的域名。具体来说,我们将使用“gitlab.hakase labs.co”域名

转到GitLab配置目录“/etc/GitLab”,然后用vim编辑器编辑配置文件“GitLab.rb”。

cd /etc/gitlab/
vim gitlab.rb

将external_url行更改为域名“gitlab.hakase labs.co”。

external_url 'http://gitlab.hakase-labs.co'

保存更改并退出vim。

图片[4]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

步骤4-生成SSL Let’s encrypt和DHPARAM证书
对于基本的安全层,我们将在GitLab网站上使用SSL。我们将使用Letsencrypt的免费SSL证书并生成DHPARAM证书,以添加额外的安全层。

要生成Letsencrypt证书,我们需要安装存储库中提供的Letsencrypt命令行工具。

在CentOS 7上使用下面的yum命令安装Letsencrypt工具。

yum -y install letsencrypt

安装完成后,使用以下命令生成新的SSL证书letsencrypt。

letsencrypt certonly --standalone -d gitlab.hakase-labs.co

注意:在生成SSL Letsencrypt时,请确保您的HTTP和HTTPS端口未被防火墙阻止。

键入续订通知的电子邮件地址,然后键入Letsencrypt服务条款协议的“A”,最后键入“N”并再次按Enter键。

图片[5]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

如果您看到如下所示的结果,则表示您的域名证书已生成,并存储在“/etc/letsencrypt/live”目录中。

图片[6]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

接下来,在GitLab配置目录“/etc/GitLab/”下创建新的“ssl”目录。

mkdir -p /etc/gitlab/ssl/

现在使用OpenSSL生成DHPARAM证书pem文件。更大的部分更安全。

sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
图片[7]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

生成DHPARAM证书后,将证书文件的权限更改为600。

chmod 600 /etc/gitlab/ssl/*

因此,GitLab安装的SSL Letsencrypt和DHPARAM证书已经生成。

步骤5-为GitLab启用Nginx HTTPS
在这个阶段,我们已经有了来自Letsencrypt的免费SSL证书文件和使用OpenSSL命令生成的DHPARAM证书。在这一步中,我们将为GitLab网站启用HTTPS。我们将启用HTTPS并强制HTTP到HTTPS连接。

首先,转到GitLab配置目录并编辑配置文件“GitLab.rb”。

cd /etc/gitlab/
vim gitlab.rb

并在external_url行将HTTP更改为HTTPS。

external_url 'https://gitlab.hakase-labs.co'

然后将以下配置粘贴到“external_url”行配置下。

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

保存更改并退出vim。

图片[8]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

最后,使用以下命令应用GitLab配置。

gitlab-ctl reconfigure

当一切完成时,您应该得到如下所示的结果。

图片[9]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

步骤6-配置防火墙
在本教程中,我们将在防火墙下运行GitLab。因此,请确保它已安装在系统上。如果您没有该软件包,可以使用以下命令安装它。

yum -y install firewalld

启动firewalld,并使用systemctl命令使其在启动时自动运行,如下所示。

systemctl start firewalld
systemctl enable firewalld

接下来,为我们的服务开辟新的港口。我们将为GitLab配置打开SSH、HTTP和HTTPS端口。运行下面的防火墙cmd命令打开端口。

firewall-cmd --permanent --add-service ssh
firewall-cmd --permanent --add-service http
firewall-cmd --permanent --add-service https
图片[10]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

现在重新加载防火墙并检查防火墙配置。确保SSH、HTTP和HTTPS在列表中。

firewall-cmd --reload
firewall-cmd --list-all
图片[11]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

至此,GitLab的防火墙配置已经完成。

步骤7-执行安装
因此,GitLab已安装在系统中,并在防火墙下运行。在这一步中,我们将在服务器上安装GitLab后进行一些快速设置。

重置GitLab根密码
打开您的网络浏览器,键入gitlab URL“gitlab.hakase labs.co”。您将被重定向到HTTPS连接。使用您自己的密码更改根密码,然后单击“更改密码”按钮进行确认。

图片[12]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

现在,您可以使用默认用户“root”和自己的密码登录GitLab仪表板。

图片[13]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

更改个人资料和用户名
登录GitLab仪表板后,单击图标配置文件的右上角,然后单击“设置”图标设置您的配置文件。

图片[14]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

在“个人资料”选项卡中,更改您的姓名和电子邮件地址,然后单击底部的“更新个人资料设置”按钮进行确认。

图片[15]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

接下来,转到“帐户”选项卡,用您自己的用户名更改默认的根用户名,然后单击“更新用户名”按钮。

图片[16]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

添加SSH密钥
确保您已经拥有密钥,如果您没有SSH密钥,可以使用下面的命令生成一个。

ssh-keygen
图片[17]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

您将在~/.ssh/目录中获得两个密钥。“id_rsa”将是您的私钥,“id_rsa.pub”将是公钥。

接下来,回到Web浏览器,单击“SSH密钥”选项卡。复制“id_rsa.pub”文件的内容并粘贴到密钥框中,然后单击“添加密钥”。

图片[18]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

至此,SSH密钥已更新。

注册限制和限制设置
点击“管理区域”图标,然后点击齿轮图标并选择“设置”。

图片[19]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

在“帐户和限制设置”部分,您可以配置每个用户的最大项目数。在“注册限制”部分,您可以将电子邮件的域名添加到白名单框中。

图片[20]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

完成所有操作后,滚动到底部并单击“保存”。

就是这样。基本的GitLab配置已经完成。

第8步-测试
现在,我们将使用我们的自托管GitLab进行一些测试。

创建新项目
单击右上角的加号图标以创建新的项目存储库。

图片[21]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

键入项目的项目名称、描述和设置可见性设置。然后单击“创建项目”按钮。

图片[22]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

至此,该项目已经创建。

测试首次提交
创建项目后(在我们的例子中是伪造的),您将被重定向到项目页面。现在开始向存储库添加新内容。

确保你的计算机上安装了Git。

对于此测试,我们需要在计算机上设置Git帐户,您可以使用以下命令执行此操作:

git config --global user.name "hakase"
git config --global user.email "[email protected]"

克隆存储库并添加一个新的README.md文件。

git clone https://[email protected]/hakase/howtoforge.git
cd howtoforge/
vim README.md

系统会要求您输入hakase密码。请键入我们第一次访问GitLab时使用的密码,然后将新内容添加到README.md文件中。

使用以下命令将新更改提交到存储库。

git add .
git commit -m 'Add README.md file by hakase-labs'

接下来,将存储库推送到GitLab服务器。

git push origin master

键入密码,然后按Enter继续。您应该看到如下所示的结果。

图片[23]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

现在,从您的web浏览器打开项目(在我们的例子中是howtoforge),您将看到一个新的README.md文件已添加到存储库中。

图片[24]_如何在CentOS 7上安装和配置GitLab CE_马特资源网

因此,这证实了Gitlab已成功安装在Ubuntu CentOS 7上,内存为4GB。

参考
https://docs.gitlab.com/ce/
https://about.gitlab.com/downloads/

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容