下面给你一份**在 CentOS 上配置 GitLab(CE 社区版)**的完整流程,适用于 CentOS 7 / CentOS 8 Stream,从安装到基础配置、常用优化都会讲到。
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
yum install -y curl policycoreutils openssh-server \
openssh-clients postfix wget
启动 SSH 和 Postfix:
systemctl enable sshd
systemctl start sshd
systemctl enable postfix
systemctl start postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
dnf install -y curl
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
✅ 说明
EXTERNAL_URL 是 GitLab 访问地址EXTERNAL_URL="http://192.168.1.100"
安装完成后会看到:
Thank you for installing GitLab!
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'] = "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
gitlab-ctl reconfigure
⚠️ 这一步必须执行
浏览器访问:
http://服务器IP
首次登录会要求设置 root 密码
默认用户:
用户名:root
密码:你设置的密码
gitlab-ctl status # 查看状态
gitlab-ctl stop # 停止
gitlab-ctl start # 启动
gitlab-ctl restart # 重启
gitlab-ctl tail # 查看日志
| 目录 | 作用 |
|---|---|
/var/opt/gitlab |
数据目录 |
/etc/gitlab |
配置文件 |
/var/log/gitlab |
日志 |
/opt/gitlab |
程序目录 |
gitlab-ctl tail
gitlab-rails console
user = User.where(id: 1).first
user.password = 'newpassword'
user.password_confirmation = 'newpassword'
user.save!
✅ 使用 域名 + HTTPS
✅ 定期备份:
gitlab-rake gitlab:backup:create
✅ 关闭注册(Settings → General → Sign-up restrictions)
如果你需要:
告诉我你的 CentOS 版本 + 使用场景,我可以给你更精确的配置方案。