温馨提示×

GitLab在Linux如何配置

小樊
42
2026-07-14 10:36:43
栏目: 智能运维

下面以 GitLab CE(社区版)Linux 上的配置为例,按常见发行版给你一个从 安装 → 基础配置 → 启动 → 常用配置 的完整说明。


一、Linux 发行版选择

GitLab 官方推荐使用:

  • Ubuntu(LTS)
  • Debian
  • Rocky Linux / AlmaLinux / RHEL
  • openSUSE

⚠️ 建议使用 全新干净的服务器,避免与 Nginx / PostgreSQL / Redis 冲突。


二、安装 GitLab(以 Ubuntu 为例)

1️⃣ 安装依赖

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

2️⃣ 添加 GitLab 仓库

curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/gitlab-archive-keyring.gpg] \
https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list

3️⃣ 安装 GitLab CE

sudo apt update
sudo apt install -y gitlab-ce

三、核心配置文件(最重要)

GitLab 的主配置文件是:

/etc/gitlab/gitlab.rb

1️⃣ 设置访问地址(必须)

sudo vim /etc/gitlab/gitlab.rb

修改:

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

✅ 如果是 IP 访问:

external_url 'http://192.168.1.100'

✅ 如果是 HTTPS:

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

2️⃣ 应用配置(每次修改后都要执行)

sudo gitlab-ctl reconfigure

⚠️ 这一步会:

  • 生成配置
  • 启动/重启服务
  • 初始化数据库

四、启动 / 查看状态

启动 GitLab

sudo gitlab-ctl start

查看状态

sudo gitlab-ctl status

停止 GitLab

sudo gitlab-ctl stop

五、首次访问 GitLab

  1. 浏览器访问:
http://服务器IP
  1. 设置 root 密码 (首次访问会自动跳转)

  2. 登录账户:

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

六、常用配置示例

1️⃣ 修改端口(非 80)

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

然后:

sudo gitlab-ctl reconfigure

2️⃣ 配置 SMTP 邮件(发邮件)

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

3️⃣ 开启 HTTPS(Let’s Encrypt)

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

letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true

4️⃣ 修改仓库存储路径

git_data_dirs({
  "default" => {
    "path" => "/data/gitlab/git-data"
  }
})

七、GitLab 目录结构(了解)

目录 作用
/etc/gitlab 配置文件
/var/opt/gitlab 数据文件
/var/log/gitlab 日志
/opt/gitlab GitLab 程序

查看日志:

sudo gitlab-ctl tail

八、常见问题

❌ 端口被占用

sudo netstat -tunlp | grep 80

❌ 内存不足(最低 4GB)

free -h

❌ 防火墙

sudo ufw allow 80
sudo ufw allow 443

九、如果你想用 Docker(可选)

docker run -d \
  --hostname gitlab.example.com \
  -p 443:443 -p 80:80 \
  --name gitlab \
  gitlab/gitlab-ce:latest

十、我可以继续帮你

你可以直接告诉我:

  • ✅ Linux 发行版(Ubuntu / CentOS / Rocky)
  • ✅ 是否内网使用
  • ✅ 是否需要 HTTPS / 邮箱 / CI
  • ✅ 是否想用 Docker

我可以给你针对性配置方案

0