前提条件
- 操作系统: AlmaLinux 8(或相似版本)
- 内存: 至少 4GB RAM
- 硬盘: 至少 20GB 硬盘空间(建议更多)
- sudo 权限: 你需要在系统上具有 root 权限,或者是可以使用
sudo
的用户。
步骤 1: 更新系统
首先,更新系统包以确保系统处于最新状态:
sudo dnf update -y
步骤 2: 安装依赖包
安装一些必要的依赖包:
sudo dnf install -y curl policycoreutils openssh-server perl
步骤 3: 安装并启用 Postfix(邮件服务)
GitLab 需要邮件服务来发送通知。你可以使用 Postfix
来处理邮件:
sudo dnf install -y postfix
sudo systemctl enable --now postfix
步骤 4: 添加 GitLab 的官方仓库
GitLab 提供了官方的安装包和仓库。添加 GitLab 仓库:
curl https://packages.gitlab.com/gpg.key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-GitLab
sudo curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
步骤 5: 安装 GitLab
安装 GitLab(社区版或企业版):
sudo dnf install -y gitlab-ee
- 注意:如果你想安装社区版,可以使用
gitlab-ce
替代gitlab-ee
。
步骤 6: 配置 GitLab
安装完成后,你需要配置 GitLab:
sudo gitlab-ctl reconfigure
这将会自动完成 GitLab 的配置和所有必要服务的启动。
步骤 7: 防火墙设置
确保防火墙允许访问 GitLab 的 HTTP 和 SSH 服务(端口 80, 443 和 22):
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
步骤 8: 访问 GitLab
-
默认情况下,GitLab 将会在你的服务器的端口 80 上运行。你可以通过以下方式访问它:
- 使用浏览器访问
http://<your-server-ip>
- 初始登录时,使用
root
作为用户名,并生成一个随机密码。
- 使用浏览器访问
-
如果你正在使用域名,确保 DNS 配置正确,并在浏览器中访问
http://your-domain-name
。
步骤 9: 初始设置
第一次登录时,你将被要求设置一个新的密码。设置密码后,就可以使用 GitLab 进行项目管理了。
步骤 10: 配置 GitLab 为 HTTPS(可选)
如果你想为 GitLab 配置 HTTPS(推荐),你可以使用 Let’s Encrypt
来自动获取 SSL 证书:
- 确保你的域名指向了你的服务器的 IP 地址。
- 编辑 GitLab 配置文件
/etc/gitlab/gitlab.rb
:sudo nano /etc/gitlab/gitlab.rb
- 配置 HTTPS 相关设置:
external_url "https://your-domain-name" letsencrypt['enable'] = true
- 重新配置 GitLab:
sudo gitlab-ctl reconfigure
步骤 11: 启动、停止和重启 GitLab
你可以使用以下命令来管理 GitLab 服务:
- 启动 GitLab:
sudo gitlab-ctl start
- 停止 GitLab:
sudo gitlab-ctl stop
- 重启 GitLab:
sudo gitlab-ctl restart
步骤 12: 备份和恢复 GitLab(可选)
你可以定期备份 GitLab 的数据:
sudo gitlab-rake gitlab:backup:create
备份文件将存储在 /var/opt/gitlab/backups
目录中。
要恢复备份,可以使用以下命令:
sudo gitlab-rake gitlab:backup:restore BACKUP=<timestamp>
结语
至此,你已经在 AlmaLinux 上成功部署了 GitLab。如果在过程中遇到问题,可以通过查看 GitLab 日志来进行排查:
sudo gitlab-ctl tail