Linux下GitLab的安装步骤是什么
小樊
42
2025-11-26 21:19:37
Linux下GitLab安装步骤
一 准备与环境要求
- 操作系统:推荐使用 Ubuntu/Debian 或 CentOS/RHEL 等主流发行版。
- 硬件建议:至少 2 核 CPU、4 GB 内存(生产环境建议 8 GB+)、20 GB+ 可用磁盘空间。
- 网络与端口:开放 HTTP 80/HTTPS 443 与 SSH 22,确保域名或服务器 IP 可访问。
- 基础依赖:安装 curl、openssh-server、ca-certificates;Ubuntu/Debian 建议同时安装 tzdata、perl;邮件通知建议安装 Postfix。
二 安装步骤 Ubuntu或Debian
- 更新系统并安装依赖
- sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
- 安装邮件服务(可选,用于通知)
- sudo apt install -y postfix(安装向导中选择 Internet Site 并填写域名)
- 添加 GitLab 官方仓库(CE 为社区版,EE 为企业版)
- curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 安装 GitLab
- sudo apt install -y gitlab-ce
- 配置外部访问地址(将域名或 IP 替换为你的实际地址)
- echo “external_url ‘http://your-domain-or-ip’” | sudo tee -a /etc/gitlab/gitlab.rb
- 使配置生效
- sudo gitlab-ctl reconfigure
- 访问与初始化
- 浏览器访问配置的 external_url,首次进入按提示设置 root 用户密码。
三 安装步骤 CentOS或RHEL
- 更新系统并安装依赖
- sudo yum update -y
- sudo yum install -y curl policycoreutils-python openssh-server postfix
- 启动并开机自启 SSH 与 Postfix
- sudo systemctl enable --now sshd postfix
- 配置防火墙放行 HTTP/HTTPS
- sudo firewall-cmd --permanent --add-service=http
- sudo firewall-cmd --permanent --add-service=https
- sudo firewall-cmd --reload
- 添加 GitLab 官方仓库(CE 为社区版,EE 为企业版)
- curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
- 安装 GitLab
- sudo EXTERNAL_URL=“http://your-domain-or-ip” yum install -y gitlab-ce
- 配置外部访问地址(如未在安装命令中设置)
- echo “external_url ‘http://your-domain-or-ip’” | sudo tee -a /etc/gitlab/gitlab.rb
- 使配置生效
- sudo gitlab-ctl reconfigure
- 访问与初始化
- 浏览器访问 external_url,首次进入设置 root 密码。
四 安装后配置与常用维护
- 防火墙与安全组
- Ubuntu/Debian(UFW):sudo ufw allow ‘Nginx Full’ && sudo ufw allow ‘OpenSSH’ && sudo ufw enable
- CentOS/RHEL(firewalld):sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --permanent --add-service=https && sudo firewall-cmd --reload
- 启用 HTTPS 与证书
- 在 /etc/gitlab/gitlab.rb 中启用:
- letsencrypt[‘enable’] = true
- letsencrypt[‘contact_emails’] = [‘admin@example.com’]
- 重新配置:sudo gitlab-ctl reconfigure(证书将自动申请与续期)
- 常用运维命令
- 启动/停止/重启/状态:sudo gitlab-ctl start|stop|restart|status
- 重新加载配置:sudo gitlab-ctl reconfigure
- 健康检查:sudo gitlab-rake gitlab:check
- 备份与恢复
- 创建备份:sudo gitlab-rake gitlab:backup:create(默认目录 /var/opt/gitlab/backups)
- 恢复备份:sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名
- 常见问题速排
- 访问 502:多为内存不足(增加 SWAP)或 80/443 端口被占用(检查 Nginx/Apache)
- Let’s Encrypt 失败:执行 sudo gitlab-ctl renew-le-certs 后重试 reconfigure
- 忘记 root 密码:sudo gitlab-rake “gitlab:password:reset[root]”。