下面给你一份在 CentOS 上配置 GitLab(CE 社区版)的完整实操指南,从安装到常见配置,适合服务器环境(CentOS 7 / 8 / Stream 都适用,略有差异我会说明)。
systemctl stop firewalld
systemctl disable firewalld
或放行 HTTP / HTTPS:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
sudo yum install -y curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
✅ 注意:
EXTERNAL_URL 填你的 服务器 IP 或域名sudo EXTERNAL_URL="http://192.168.1.100" yum install -y gitlab-ce
sudo gitlab-ctl reconfigure
⏳ 首次执行时间较长(2–5 分钟)
sudo gitlab-ctl status
浏览器访问:
http://服务器IP
首次登录:
rootsudo cat /etc/gitlab/initial_root_password
⚠️ 该文件 24 小时后自动删除
sudo vi /etc/gitlab/gitlab.rb
修改:
external_url 'http://gitlab.example.com'
然后:
sudo gitlab-ctl reconfigure
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
测试:
gitlab-rails console
> Notify.test_email('test@qq.com', 'Test', 'Hello').deliver_now
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
external_url 'https://gitlab.example.com'
sudo gitlab-ctl reconfigure
gitlab-ctl start # 启动
gitlab-ctl stop # 停止
gitlab-ctl restart # 重启
gitlab-ctl status # 状态
gitlab-ctl tail # 查看日志
gitlab_rails['gitlab_ci_enabled'] = false
prometheus_monitoring['enable'] = false
sudo gitlab-ctl uninstall
sudo rpm -e gitlab-ce
sudo rm -rf /var/opt/gitlab
sudo rm -rf /etc/gitlab
你可以直接告诉我:
我可以给你 定制版配置方案 或 Docker 方式部署(更轻量)。