温馨提示×

Linux GitLab怎样配置

小樊
48
2026-07-14 10:14:53
栏目: 智能运维

下面给你一份**在 Linux 服务器上配置 GitLab(社区版)**的完整实操指南,适用于 Ubuntu / Debian / CentOS / Rocky / AlmaLinux 等常见发行版。


一、准备环境

1️⃣ 系统要求(建议)

  • 内存:≥ 4GB(2GB 勉强可用)
  • CPU:≥ 2 核
  • 磁盘:≥ 20GB(代码量大会更多)
  • 系统:Ubuntu 20.04 / 22.04、CentOS 7/8、Rocky、AlmaLinux

二、安装 GitLab(推荐官方方式)

✅ Ubuntu / Debian

# 1. 安装依赖
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata

# 2. 添加 GitLab 官方仓库
curl -fsSL https://packages.gitlab.com/setup.sh | sudo bash

# 3. 安装 GitLab CE(替换为你服务器 IP 或域名)
sudo EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ce

✅ CentOS / Rocky / AlmaLinux

# 1. 安装依赖
sudo yum install -y curl policycoreutils openssh-server perl

# 2. 添加 GitLab 仓库
curl -fsSL https://packages.gitlab.com/setup.sh | sudo bash

# 3. 安装 GitLab CE
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

三、配置 GitLab

1️⃣ 主配置文件

sudo vim /etc/gitlab/gitlab.rb

2️⃣ 常见配置项

✅ 修改访问地址

external_url 'http://192.168.1.100'

external_url 'https://gitlab.example.com'

✅ 修改端口(可选)

nginx['listen_port'] = 8080

3️⃣ 重新加载配置

sudo gitlab-ctl reconfigure

⚠️ 第一次执行时间较长,耐心等待


四、启动与状态检查

sudo gitlab-ctl start
sudo gitlab-ctl status

常用命令:

sudo gitlab-ctl stop
sudo gitlab-ctl restart
sudo gitlab-ctl tail

五、首次访问 GitLab

  1. 浏览器访问:
    http://服务器IP
    
  2. 设置 root 用户密码
  3. 使用:
    • 用户名:root
    • 密码:刚设置的密码

六、配置邮箱(强烈建议)

示例:QQ 邮箱 / 企业邮箱

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "123456@qq.com"
gitlab_rails['smtp_password'] = "邮箱授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

然后执行:

sudo gitlab-ctl reconfigure

七、配置 HTTPS(可选但推荐)

使用 Let’s Encrypt

letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
external_url 'https://gitlab.example.com'
sudo gitlab-ctl reconfigure

八、防火墙配置

Ubuntu

sudo ufw allow 80
sudo ufw allow 443

CentOS

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

九、常见问题排查

❌ 访问 502

sudo gitlab-ctl restart

检查内存是否不足。

❌ 无法发送邮件

gitlab-rails console
Notify.test_email('test@qq.com', 'title', 'body').deliver_now

十、备份与恢复(重要)

备份

sudo gitlab-backup create

恢复

sudo gitlab-backup restore BACKUP=timestamp

十一、GitLab 常用目录

作用 路径
配置文件 /etc/gitlab/gitlab.rb
日志 /var/log/gitlab
数据 /var/opt/gitlab
仓库 /var/opt/gitlab/git-data

十二、进阶配置(可选)

  • GitLab Runner(CI/CD)
  • LDAP / 单点登录
  • 限制注册
  • 限制仓库大小
  • 高可用 / 集群

如果你愿意,可以告诉我: ✅ 你的 Linux 发行版
✅ 是否 内网 / 公网
✅ 是否 需要 HTTPS / 邮箱 / CI

我可以帮你给出完全针对你环境的配置方案

0