Skip to content

CentOS 7 部署 GitLab

第一步:安装系统依赖

首先更新系统,并安装 GitLab 运行所需的基础软件包和邮件服务 Postfix。

bash
# 1. 更新系统并安装基础依赖及邮件服务
sudo yum update -y
sudo yum install -y curl policycoreutils-python openssh-server perl postfix

第二步:配置并启动 SSH 和 Postfix

bash
# 1. 启动 SSH 服务并设置开机自启
sudo systemctl enable sshd
sudo systemctl start sshd

# 2. 启动 Postfix 并设置开机自启
sudo systemctl enable postfix
sudo systemctl start postfix

注意:在配置 Postfix 时,如果出现配置界面,选择 "Internet Site" 并按提示操作即可。

第三步:开放防火墙端口

为了让外部能访问,需要在防火墙中放行 HTTP (80) 和 SSH (22) 服务,或者按实际情况开放 443 号端口。

bash
# 开放 HTTP 和 SSH 服务
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh

# 重载防火墙规则使配置生效
sudo firewall-cmd --reload

第四步:添加 GitLab EE 官方软件源

执行官方提供的脚本,自动将 GitLab EE 的 YUM 仓库添加到系统中。

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

下载速度慢怎么办?如果在国内,使用清华镜像源可能会快很多,具体方法可参考附录2

第五步:安装 GitLab EE

设置好你访问 GitLab 的网址后,就可以开始安装了。整个安装过程会根据网络情况持续几分钟。

bash
# 请将下面的地址替换为你服务器的域名或IP
sudo EXTERNAL_URL="http://your-domain-or-ip.com" yum install -y gitlab-ee

关于参数 EXTERNAL_URL:这个设置会写入 GitLab 的核心配置文件 /etc/gitlab/gitlab.rb 中。如果安装时忘记设置,可以在安装后手动修改此文件中的 external_url 项,然后执行 sudo gitlab-ctl reconfigure 使配置生效。

第六步:首次启动与访问

安装完成后,执行重新配置命令,GitLab 会自动启动所有服务。

bash
# 配置并启动 GitLab 的所有组件
sudo gitlab-ctl reconfigure

注意reconfigure 命令的执行时间可能较长,尤其在初次运行时,请耐心等待不要中断。

验证安装与初始化设置

完成上述步骤后,就可以进行最后的验证和初始化了。

  • 浏览器访问:在浏览器中输入你设置的 URL(http://your-domain-or-ip.com)。
  • 设置管理员密码:首次访问会被重定向到设置密码的页面,为 root 管理员账户设置一个强密码。
  • 登录 GitLab:使用用户名 root 和你刚设置的密码登录,即可开始使用。

附录

附录1:离线安装方法

在无法连接外网的内网服务器上,可以先在有网络的机器上下载 .rpm 安装包,再上传安装。

  1. 下载安装包:访问 GitLab EE 官方下载页清华镜像源,选择对应 el7.rpm 包(如 gitlab-ee-16.9.3-ee.0.el7.x86_64.rpm)。
  2. 安装:上传包到服务器后,用 yum localinstall 命令安装,它会自动处理本地依赖。
    bash
    sudo yum install -y curl policycoreutils-python openssh-server perl postfix
    sudo yum localinstall -y /path/to/your/gitlab-ee-*.rpm
  3. 配置:安装后,仍需配置 external_url 并执行 sudo gitlab-ctl reconfigure

附录2:使用国内镜像加速下载

如果在线安装很慢,可以用国内镜像安装。

  1. 创建仓库配置文件
    bash
    sudo vi /etc/yum.repos.d/gitlab-ee.repo
  2. 添加以下内容
    ini
    [gitlab-ee]
    name=GitLab EE Repository
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el$releasever/
    gpgcheck=0
    enabled=1
  3. 安装 GitLab
    bash
    sudo EXTERNAL_URL="http://your-domain-or-ip.com" yum install -y gitlab-ee

还是不行就看看是否存在文件 /etc/gitlab/gitlab.rb。如果有,直接替换为上面的内容后再安装。

附录3:端口冲突怎么办?

如果 80 端口被占用,GitLab 默认无法启动。可以在配置文件 /etc/gitlab/gitlab.rb 中修改 external_url,指定一个其他端口(如 http://your-domain-or-ip.com:8080),然后重新配置,并确保防火墙开放了该端口。

bash
# 修改 /etc/gitlab/gitlab.rb 文件
external_url 'http://your-domain-or-ip.com:8080'
bash
# 重新配置和重启
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

附录4:常用管理命令总结

安装完成后,这些命令会很有用。

命令作用
sudo gitlab-ctl reconfigure应用配置更改(修改 gitlab.rb 后必执行)
sudo gitlab-ctl status查看所有组件运行状态
sudo gitlab-ctl start/stop/restart启动/停止/重启 GitLab 所有服务
sudo gitlab-ctl tail实时查看日志,排查错误的好帮手
sudo cat /etc/gitlab/initial_root_password如果忘记密码,查看初始 root 密码(文件 24 小时后会自动删除)

Last updated:

Released under the MIT License.