下面给你一份在 Debian 上配置 GitLab(CE 社区版)的完整流程,适用于 Debian 11 / 12。如果你用的是 Ubuntu,步骤也几乎一样。
sudo apt update
sudo apt upgrade -y
sudo apt install -y \
curl \
openssh-server \
ca-certificates \
tzdata \
gnupg \
lsb-release
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/debian $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list
sudo apt update
sudo apt install -y gitlab-ce
安装完成后会看到类似:
Thank you for installing GitLab!
sudo nano /etc/gitlab/gitlab.rb
重点修改:
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
⚠️ 这一步会执行 Chef,时间稍长,不要中断。
sudo cat /etc/gitlab/initial_root_password
密码只在 24 小时内有效(实际可一直用,只要不删除文件)
http://服务器IP
登录:
rootgitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_signup_enabled'] = false
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@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
# 查看状态
sudo gitlab-ctl status
# 重启
sudo gitlab-ctl restart
# 查看日志
sudo gitlab-ctl tail
# 查看配置
sudo gitlab-rake gitlab:env:info
sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
sudo gitlab-ctl reconfigure
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo gitlab-ctl tail
✅ Debian 安装 GitLab 核心步骤:
gitlab-ceexternal_urlgitlab-ctl reconfigure如果你需要:
可以直接告诉我你的使用场景,我可以给你定制方案。