在CentOS环境下部署GitLab,可以按照以下步骤进行:
sudo yum install -y curl policycoreutils openssh-server
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://your_server_ip" yum install -y gitlab-ce
将http://your_server_ip替换为你的服务器IP地址或域名。
/etc/gitlab/gitlab.rb文件,进行必要的配置。sudo nano /etc/gitlab/gitlab.rb
external_url设置正确。external_url 'http://your_server_ip'
unicorn['worker_processes'] = 3
unicorn['timeout'] = 300
gitlab_rails['gitlab_shell_ssh_port'] = 2222
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
打开浏览器,访问http://your_server_ip,你应该能看到GitLab的登录页面。
为了安全起见,建议为GitLab配置SSL证书。
sudo yum install -y certbot python2-certbot-nginx
sudo certbot --nginx -d your_domain.com
/etc/gitlab/gitlab.rb中添加以下内容:nginx['listen_port'] = 443
nginx['ssl_certificate'] = "/etc/letsencrypt/live/your_domain.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/your_domain.com/privkey.pem"
nginx['ssl_protocols'] = "TLSv1 TLSv1.1 TLSv1.2"
nginx['ssl_ciphers'] = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS"
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
确保防火墙允许HTTP/HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
完成以上步骤后,你的GitLab应该已经成功部署在CentOS环境下,并且可以通过浏览器访问。