温馨提示×

新服务器linux gitlab配置

小樊
50
2026-09-25 18:00:00
栏目: 云计算

下面给你一份新 Linux 服务器上部署 GitLab(社区版)的完整配置指南,以 CentOS 7/8、Ubuntu 20.04/22.04 最常见场景为例,从零到可用。


一、服务器准备

1. 系统要求

  • 内存:至少 4GB(推荐 8GB+)
  • CPU:2 核以上
  • 磁盘:50GB+
  • 系统:
    • Ubuntu 20.04 / 22.04
    • CentOS 7 / 8(CentOS 已停更,建议 Ubuntu)

2. 基础设置

# 关闭防火墙(或放行端口)
systemctl stop firewalld
systemctl disable firewalld

# 或修改主机名
hostnamectl set-hostname gitlab

二、安装 GitLab(推荐官方 Omnibus 包)

✅ Ubuntu

sudo apt update
sudo apt install -y curl openssh-server ca-certificates postfix

curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

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

✅ CentOS

sudo yum install -y curl policycoreutils openssh-server postfix

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

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

EXTERNAL_URL 改成你的域名或 IP,如:

EXTERNAL_URL="http://192.168.1.100"

三、基础配置

1. 修改配置文件

vi /etc/gitlab/gitlab.rb

常见配置:

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

# 修改端口(可选)
# external_url 'http://192.168.1.100:8080'

# 邮箱(可选)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'

2. 使配置生效

gitlab-ctl reconfigure

四、启动与管理

gitlab-ctl start
gitlab-ctl stop
gitlab-ctl restart
gitlab-ctl status

访问:

http://服务器IP

首次登录:

  • 用户名:root
  • 密码在:
cat /etc/gitlab/initial_root_password

五、常见问题

1. 端口冲突(如 80 被占用)

external_url 'http://192.168.1.100'
nginx['listen_port'] = 8080

然后:

gitlab-ctl reconfigure

2. 修改 root 密码

gitlab-rails console
user = User.where(id: 1).first
user.password = '新密码'
user.password_confirmation = '新密码'
user.save!
exit

六、备份与恢复(重要)

备份

gitlab-rake gitlab:backup:create

恢复

gitlab-rake gitlab:backup:restore BACKUP=时间戳

七、可选增强

  • ✅ HTTPS(Let’s Encrypt)
  • ✅ CI/CD Runner
  • ✅ LDAP / 钉钉 / 飞书集成
  • ✅ 容器化(Docker GitLab)

如果你告诉我:

  • 系统版本
  • 是否用 Docker
  • 是否要 HTTPS / 域名
  • 内网还是公网

我可以直接给你定制版配置命令。

0 踩