在CentOS上部署GitLab可以通过多种方式实现,其中最常见的是使用Omnibus包管理器。以下是详细的步骤指南:
前提条件
- CentOS 7或8:确保你的系统是CentOS 7或8。
- 防火墙配置:确保防火墙允许HTTP(80)和HTTPS(443)端口。
- SELinux配置:如果SELinux处于 enforcing 模式,可能需要调整相关策略。
安装Omnibus包管理器
-
更新系统包:
sudo yum update -y
-
添加GitLab仓库:
sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
-
安装GitLab Omnibus包:
sudo yum install gitlab-ce
配置GitLab
-
编辑配置文件:
sudo nano /etc/gitlab/gitlab.rb
-
修改外部URL(如果需要): 找到并修改以下行,设置你的GitLab实例的外部URL:
external_url 'http://your-gitlab-url'
-
重新配置GitLab:
sudo gitlab-ctl reconfigure
启动和停止GitLab服务
-
启动GitLab:
sudo gitlab-ctl start
-
停止GitLab:
sudo gitlab-ctl stop
-
重启GitLab:
sudo gitlab-ctl restart
访问GitLab
- 打开浏览器,访问你在配置文件中设置的URL(例如
http://your-gitlab-url
)。 - 按照屏幕上的指示完成初始设置,包括设置管理员密码。
配置SSL(可选但推荐)
-
安装Certbot:
sudo yum install certbot python2-certbot-nginx -y
-
获取SSL证书:
sudo certbot --nginx -d your-gitlab-url
-
自动续期证书: Certbot会自动设置一个cron任务来续期证书。
配置防火墙
确保防火墙允许HTTP和HTTPS流量:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
配置SELinux(可选)
如果SELinux处于 enforcing 模式,可能需要调整相关策略:
sudo setsebool -P httpd_can_network_connect 1
通过以上步骤,你应该能够在CentOS上成功部署GitLab。如果有任何问题,请参考GitLab官方文档或社区支持。