温馨提示×

CentOS如何配置GitLab

小樊
42
2026-07-08 08:58:16
栏目: 智能运维

下面给你一份**在 CentOS 上安装并配置 GitLab(CE 社区版)**的完整流程,适用于 CentOS 7 / CentOS 8 Stream,并包含常见配置项。


一、准备环境

1. 系统要求

  • 内存:至少 4GB(推荐 8GB+)
  • CPU:2 核以上
  • 磁盘:20GB+(视仓库大小而定)
  • 系统:CentOS 7 / 8

2. 更新系统

sudo yum update -y

3. 安装基础依赖

sudo yum install -y curl policycoreutils openssh-server \
    openssh-clients postfix wget

4. 启动 SSH 和 Postfix

sudo systemctl enable sshd
sudo systemctl start sshd

sudo systemctl enable postfix
sudo systemctl start postfix

二、安装 GitLab

方式一(推荐):使用官方仓库安装

1. 添加 GitLab 仓库

curl -fsSL https://packages.gitlab.com/setup.sh | sudo bash

2. 安装 GitLab CE

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

⚠️ 把 gitlab.example.com 换成你的 服务器 IP 或域名
例如:

sudo EXTERNAL_URL="http://192.168.1.100" yum install -y gitlab-ce

三、配置 GitLab

1. 初始化配置

sudo gitlab-ctl reconfigure

这一步会自动配置 Nginx、数据库、Redis 等组件


2. 修改 GitLab 配置文件

配置文件路径:

/etc/gitlab/gitlab.rb

常用配置项示例:

修改访问地址

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

修改端口(如 8080)

external_url 'http://gitlab.example.com:8080'
nginx['listen_port'] = 8080

使用自定义域名

external_url 'http://gitlab.yourdomain.com'

修改后执行:

sudo gitlab-ctl reconfigure

四、防火墙配置

CentOS 7

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

如果修改了端口(如 8080)

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

五、访问 GitLab

  1. 浏览器访问:
http://服务器IP
  1. 首次登录会要求设置 root 密码

  2. 默认用户:

  • 用户名:root
  • 密码:你设置的密码

六、常用 GitLab 管理命令

# 查看状态
sudo gitlab-ctl status

# 启动 / 停止 / 重启
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart

# 查看日志
sudo gitlab-ctl tail

# 重新加载配置
sudo gitlab-ctl reconfigure

七、可选配置

1. 邮件配置(SMTP)

修改 /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "your@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

2. 中文界面

登录后:

右上角头像 → Preferences → Localization → 简体中文

八、常见问题

1. 访问 502

  • 内存不足(最常见)
  • 端口被占用
  • Nginx 未启动

2. 忘记 root 密码

sudo gitlab-rake "gitlab:password:reset[root]"

如果你愿意,我可以帮你:

  • ✅ 写 CentOS 7 / 8 专用一键脚本
  • ✅ 配置 HTTPS(Let’s Encrypt)
  • ✅ 配置 GitLab Runner(CI/CD)
  • ✅ 迁移 GitLab 数据

只要告诉我你的 CentOS 版本和用途即可。

0