下面按从零开始的思路,给你一个**在 Linux 下配置 GitLab(社区版)**的完整说明,适用于 Ubuntu / Debian / CentOS / Rocky / Alma 等常见发行版。
如果你只想要某一步(比如只配邮箱、HTTPS、CI),可以直接跳到对应部分。
| 方式 | 适合 |
|---|---|
| Omnibus 包(官方推荐) | 生产环境、新手 |
| Docker | 快速测试 |
| 源码安装 | 不推荐 |
| Kubernetes Helm | 大规模集群 |
✅ 下面默认用 Omnibus 方式(最常用)
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata
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
sudo apt update
sudo apt install gitlab-ce
sudo yum install -y curl policycoreutils openssh-server
curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /etc/pki/rpm-gpg/gitlab-gpg
sudo yum install -y gitlab-ce
sudo vim /etc/gitlab/gitlab.rb
# 域名(必须)
external_url 'http://gitlab.example.com'
如果是 HTTPS:
external_url 'https://gitlab.example.com'
sudo gitlab-ctl reconfigure
这一步会:
✅ 第一次会比较慢(1–3 分钟)
浏览器访问:
http://服务器IP
或你配置的域名。
sudo cat /etc/gitlab/initial_root_password
登录:
root⚠️ 该文件 24 小时后自动删除
gitlab_rails['time_zone'] = 'Asia/Shanghai'
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'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '123456@qq.com'
然后:
sudo gitlab-ctl reconfigure
测试邮件:
gitlab-rails console
Notify.test_email('test@example.com', 'Test', 'Hello').deliver_now
external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
sudo gitlab-ctl reconfigure
GitLab 会自动申请证书并续期。
# 查看状态
sudo gitlab-ctl status
# 重启
sudo gitlab-ctl restart
# 查看日志
sudo gitlab-ctl tail
# 备份
sudo gitlab-backup create
# 恢复
sudo gitlab-backup restore BACKUP=timestamp
| 路径 | 说明 |
|---|---|
/etc/gitlab/ |
配置文件 |
/var/opt/gitlab/ |
数据 |
/var/log/gitlab/ |
日志 |
/var/opt/gitlab/git-data/ |
Git 仓库 |
你可以直接说:
我可以按你的 Linux 发行版、机器配置一步步给你定制命令。