在 CentOS 上部署 GitLab 一般有 两种方式:
✅ 官方 Omnibus 包(最推荐,简单稳定)
✅ Docker 方式(适合已有 Docker 环境)
下面我按 CentOS 7 / 8(含 Stream) 给你一份可落地的配置教程。
# 关闭防火墙(或自行放行 80/443/22)
systemctl stop firewalld
systemctl disable firewalld
# 关闭 SELinux(或配置为 permissive)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
⚠️ 生产环境建议保留 SELinux,并单独配置策略
yum install -y curl policycoreutils openssh-server postfix
systemctl enable sshd postfix
systemctl start sshd postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
社区版用
gitlab-ce
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
或本地 IP:
EXTERNAL_URL="http://192.168.1.100" yum install -y gitlab-ee
gitlab-ctl reconfigure
访问:
http://服务器IP
首次登录账号:
root/etc/gitlab/initial_root_passwordexternal_url 'http://gitlab.example.com'
external_url 'http://192.168.1.100:8080'
nginx['listen_port'] = 8080
重新配置:
gitlab-ctl reconfigure
external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
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_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab-ctl status
gitlab-ctl stop
gitlab-ctl start
gitlab-ctl restart
gitlab-ctl tail
docker run -d \
--hostname gitlab.example.com \
-p 443:443 -p 80:80 -p 22:22 \
--name gitlab \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ee
prometheus_monitoring['enable'] = false
gitlab-rails console
user = User.find_by(username: 'root')
user.password = '新密码'
user.save!
如果你告诉我:
我可以直接给你 一份完整可复制的配置文件。