在 Linux 上配置 GitLab 通常有两种常见方式:Omnibus 包安装(官方推荐) 和 Docker 安装。下面我先给你一个最常用、最完整的 Omnibus 安装配置流程,适用于 Ubuntu / Debian / CentOS / RHEL。
# Ubuntu / Debian
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata
# CentOS / RHEL
sudo yum install -y curl policycoreutils openssh-server
curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg
# Ubuntu / Debian
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 EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ce
✅ 说明:
EXTERNAL_URL 是 GitLab 访问地址sudo EXTERNAL_URL="http://192.168.1.100"
sudo vim /etc/gitlab/gitlab.rb
常见配置项:
external_url 'http://gitlab.example.com'
# 邮件配置(可选)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "your@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
sudo gitlab-ctl reconfigure
⚠️ 第一次执行时间较长,请耐心等待。
浏览器访问:
http://服务器IP
首次登录:
rootsudo cat /etc/gitlab/initial_root_password
⚠️ 密码 24 小时后失效,请尽快修改。
# 查看状态
sudo gitlab-ctl status
# 启动 / 停止 / 重启
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
# 查看日志
sudo gitlab-ctl tail
# Ubuntu
sudo ufw allow 80
sudo ufw allow 22
# CentOS
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
docker run -d \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume gitlab-config:/etc/gitlab \
--volume gitlab-logs:/var/log/gitlab \
--volume gitlab-data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
external_url "http://ip:8080"
nginx['listen_port'] = 8080
sudo gitlab-rake "gitlab:password:reset[root]"
如果你愿意,可以告诉我:
我可以给你一份完全定制的 GitLab 配置方案。