下面给你一份在 Linux 上配置 GitLab 的完整指南,从安装到基本配置,适合自建 GitLab(CE/EE),不是 GitLab.com 的网页配置。
| 项目 | 建议 |
|---|---|
| 系统 | Ubuntu 20.04 / 22.04 或 CentOS 7/8 |
| CPU | ≥ 4 核 |
| 内存 | ≥ 8GB(4GB 会很卡) |
| 磁盘 | ≥ 50GB |
| 用户 | root 或 sudo |
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 -y gitlab-ce
sudo vim /etc/gitlab/gitlab.rb
# 外部访问地址(域名或 IP)
external_url 'http://gitlab.example.com'
# 如果是 HTTPS
# external_url 'https://gitlab.example.com'
如果只用 IP:
external_url 'http://192.168.1.100'
sudo gitlab-ctl reconfigure
✅ 成功后你会看到:
gitlab Reconfigured!
sudo gitlab-ctl start
查看状态:
sudo gitlab-ctl status
浏览器访问:
http://服务器IP
设置 root 密码
sudo gitlab-rake "gitlab:password:reset[root]"
登录:
root编辑 /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'] = "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
external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
sudo gitlab-ctl reconfigure
Admin → Settings → General → Sign-up restrictions
sudo gitlab-ctl start # 启动
sudo gitlab-ctl stop # 停止
sudo gitlab-ctl restart # 重启
sudo gitlab-ctl status # 状态
sudo gitlab-ctl tail # 查看日志
sudo gitlab-backup create
备份目录:
/var/opt/gitlab/backups/
sudo gitlab-backup restore BACKUP=timestamp
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
原因:
解决:
free -h
sudo gitlab-ctl restart
如果你愿意,可以告诉我:
我可以给你定制一套配置方案 ✅