专栏首页程序员大飞CentOS7.x 搭建 GitLab 教程

CentOS7.x 搭建 GitLab 教程

CentOS7.x 搭建 GitLab 教程

今天闲来无事,想起之前买了一个阿里云 ECS,一直闲置着没用,一时兴起就想搭个自己的 GitLab 玩玩,GitLab 官网也提供了安装教程,很简单,照着步骤一步步基本没什么问题,可能安装的过程中有一些坑需要自己去解决。

1.安装 GitLab

打开 GitLab 官网 https://www.gitlab.com.cn/installation/#centos-7

根据自己的系统选择,我们选择 CentOS7

首先,安装并配置必要的依赖关系,确保打开防火墙的 SSH 和 HTTP 的访问,如果没有,需要您输入下面命令打开

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

接下来安装 Postfix 发送邮件通知服务,或者如果您想使用其他方式(SMTP)来发送电子邮件,请跳过此步骤,并在安装了 GitLab 之后配置一个外部SMTP服务器。

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

添加 GitLab 包仓库并安装包

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

接下来,安装 GitLab 包,将 “http://gitlab.example.com” 更改为您想要访问 GitLab 的URL,安装将自动配置并在使用该 URL 来访问 GitLab,HTTPS 需要安装完成后来配置。

温馨提示:此处如果设置为域名访问,如果域名没有备案就会出现无法访问,如果不想备案网站域名,那么此处直接配置为服务器的公网 IP 即可。

因为我配置的是域名,因为我的域名没有备案,所以我访问的时候提示我备案域名,如下图:

配置完成后就开始下载并安装,过程大概会持续一个小时左右,视服务器具体带宽而定。

如果 GitLab 已经安装完成,并且你已经配置了域名想要修改配置变成 ip,按如下步骤执行命令:

vim  /etc/gitlab/gitlab.rb

找到 external_url 设置为你的 IP + 端口即可,注意这里设置的端口不能被占用,默认是 8080 端口,如果 8080 已经使用,请自定义其它端口,并在防火墙设置开放相对应的端口。

然后重置并启动 GitLab 执行:

gitlab-ctl reconfigure
gitlab-ctl restart

然后执行:

gitlab-ctl status

查看 GitLab 运行状态是否正常

访问 GitLab 页面:

输入你配置的ip或者域名来访问 GitLab,如果没有什么异常,会出现如下页面

第一次访问会提示修改密码,你需要按提示修改即可,默认账户名是 root

至此,GitLab 的安装就算完啦。

2.配置 postfix 邮件服务

发邮件系统我们用 Postfix,SMTP 系统默认是开启的,我们先设置关闭 SMTP,开启 Postfix

关闭 SMTP:

vim /etc/gitlab/gitlab.rb

找到 #gitlab_rails['smtp_enable'] = true

改为 gitlab_rails['smtp_enable'] = false

修改后执行

gitlab-ctl reconfigure

另一种是关闭 Postfix,设置开启 SMTP,相关教程请参考官网

https://doc.gitlab.cc/omnibus/settings/smtp.html

此处以配置 163 邮箱为例:

gitlab_rails[‘smtp_enable’] = true 
gitlab_rails[‘smtp_address’] = “smtp.163.com” 
gitlab_rails[‘smtp_port’] = 25 
gitlab_rails[‘smtp_user_name’] = “xxx@163.com” 
gitlab_rails[‘smtp_password’] = “xxx” 
gitlab_rails[‘smtp_domain’] = “163.com” 
gitlab_rails[‘smtp_authentication’] = :login 
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘gitlab_email_from’] = “xxx@163.com” 
user[“git_user_email”] = “xxx@163.com”

登录到 GitLab 并添加一个 GitLab 账户,并添加设置用户的邮箱地址,测试是否可以收到邮件通知,如果创建完成,设置的邮箱收到邮件说明邮件服务没有问题,注意如果没有收到邮件,有时候邮箱会拦截邮件,你在垃圾邮件中看看是否邮件被拦截,如果被拦截,你可以将此邮件添加到白名单中。

3.其他异常情况处理

另外,如果 访问 GitLab 时的速度非常慢,或者报 502 错误,如下图

可能是你的服务器配置太低,GitLab 官方建议装 GitLab 的服务器的配置最低要求为:CPU 2核心 + 4GB可用内存(RAM + Swap)。 如果服务器配置过低,可能导致您访问 GitLab的速度过慢,甚至会出现无响应等状况。

提示 FirewallD is not running 说明防火墙未开启,

执行 systemctl status firewalld

如果出现 Active: inactive (dead) 表示防火墙未开启。

开启防火墙 systemctl start firewalld

再次查看防火墙状态,如果出现 Active: active (running) 表示防火墙开启成功。

欢迎关注我的微信公众号:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 解决MarkdownPad2在win10下html渲染错误This view has crashed

    通过http://markdownpad.com/faq.html#livepreview-directx官网查看

    IT大飞说
  • RxJava2.x 常用操作符列表

    IT大飞说
  • Android Studio添加arr依赖

    compile(name: 'com.datescroller.lib-release', ext: 'aar')

    IT大飞说
  • KVM虚拟机安装 GitLab EE

    GitLab 是一个基于网页的软件开发生命周期管理工具,提供了 git 代码仓库、知识库、问题追踪、CI/CD 流水线功能,使用开源许可证,由 GitLab 公...

    宋天伦
  • 基于CentOS7搭建GitLab

    GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Gi...

    拓荒者
  • 基于CentOS7搭建GitLab

    GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Gi...

    拓荒者
  • 如何在Ubuntu 18.04上安装和配置GitLab

    GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,以及其他与开发相关的功能,如问题跟踪。它旨在使用您自己的基础...

    你在哪里
  • 如何在Debian 9上安装和配置GitLab

    GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,以及其他与开发相关的功能,如问题跟踪。它旨在使用您自己的基础...

    林岑影
  • gitlab安装详解

    GitLab是利用Ruby On Rails开发的一个开源版本管理系统,实现了一个自托管的Git项目仓库,是集代码托管,测试,部署于一体的开源git仓库管理软件...

    dogfei
  • 如何在Ubuntu 16.04上安装和配置GitLab

    GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,还有其他与开发相关的功能,如问题跟踪。它旨在使用你自己的基础...

    楠宝宝

扫码关注云+社区

领取腾讯云代金券