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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/41dbe189d1094446.png)
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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/dbc86f2204094528.png)
现在使用以下yum命令安装GitLab。
yum -y install gitlab-ce
安装完成后,您将得到如下所示的结果。
![图片[3]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/a531670d0e094602.png)
至此,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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/33ba7c0be9094657.png)
步骤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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/149bd951e2094807.png)
如果您看到如下所示的结果,则表示您的域名证书已生成,并存储在“/etc/letsencrypt/live”目录中。
![图片[6]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/d9be6320f3094826.png)
接下来,在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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/f1da5283a8094912.png)
生成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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/8a83806eac095037.png)
最后,使用以下命令应用GitLab配置。
gitlab-ctl reconfigure
当一切完成时,您应该得到如下所示的结果。
![图片[9]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/d6a916c8bb095106.png)
步骤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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/b21c8fb9dd095207.png)
现在重新加载防火墙并检查防火墙配置。确保SSH、HTTP和HTTPS在列表中。
firewall-cmd --reload
firewall-cmd --list-all
![图片[11]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/843265511c095235.png)
至此,GitLab的防火墙配置已经完成。
步骤7-执行安装
因此,GitLab已安装在系统中,并在防火墙下运行。在这一步中,我们将在服务器上安装GitLab后进行一些快速设置。
重置GitLab根密码
打开您的网络浏览器,键入gitlab URL“gitlab.hakase labs.co”。您将被重定向到HTTPS连接。使用您自己的密码更改根密码,然后单击“更改密码”按钮进行确认。
![图片[12]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/618274a760095322.png)
现在,您可以使用默认用户“root”和自己的密码登录GitLab仪表板。
![图片[13]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/c7378156e5095336.png)
更改个人资料和用户名
登录GitLab仪表板后,单击图标配置文件的右上角,然后单击“设置”图标设置您的配置文件。
![图片[14]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/de4280330c095351.png)
在“个人资料”选项卡中,更改您的姓名和电子邮件地址,然后单击底部的“更新个人资料设置”按钮进行确认。
![图片[15]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/bc602486c5095407.png)
接下来,转到“帐户”选项卡,用您自己的用户名更改默认的根用户名,然后单击“更新用户名”按钮。
![图片[16]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/bc3fa92ef7095423.png)
添加SSH密钥
确保您已经拥有密钥,如果您没有SSH密钥,可以使用下面的命令生成一个。
ssh-keygen
![图片[17]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/2f801a5b95095453.png)
您将在~/.ssh/目录中获得两个密钥。“id_rsa”将是您的私钥,“id_rsa.pub”将是公钥。
接下来,回到Web浏览器,单击“SSH密钥”选项卡。复制“id_rsa.pub”文件的内容并粘贴到密钥框中,然后单击“添加密钥”。
![图片[18]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/c5bc331596095511.png)
至此,SSH密钥已更新。
注册限制和限制设置
点击“管理区域”图标,然后点击齿轮图标并选择“设置”。
![图片[19]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/0273b8eece095533.png)
在“帐户和限制设置”部分,您可以配置每个用户的最大项目数。在“注册限制”部分,您可以将电子邮件的域名添加到白名单框中。
![图片[20]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/ac9b29bb95095558.png)
完成所有操作后,滚动到底部并单击“保存”。
就是这样。基本的GitLab配置已经完成。
第8步-测试
现在,我们将使用我们的自托管GitLab进行一些测试。
创建新项目
单击右上角的加号图标以创建新的项目存储库。
![图片[21]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/53cabc5520095634.png)
键入项目的项目名称、描述和设置可见性设置。然后单击“创建项目”按钮。
![图片[22]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/81b5c05dbe095651.png)
至此,该项目已经创建。
测试首次提交
创建项目后(在我们的例子中是伪造的),您将被重定向到项目页面。现在开始向存储库添加新内容。
确保你的计算机上安装了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_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/8ccf04bf98095820.png)
现在,从您的web浏览器打开项目(在我们的例子中是howtoforge),您将看到一个新的README.md文件已添加到存储库中。
![图片[24]_如何在CentOS 7上安装和配置GitLab CE_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/05/b59a76f094095835.png)
因此,这证实了Gitlab已成功安装在Ubuntu CentOS 7上,内存为4GB。
参考
https://docs.gitlab.com/ce/
https://about.gitlab.com/downloads/
暂无评论内容