sudo yum update -y
curl(下載工具)、policycoreutils(SELinux策略工具)、openssh-server(SSH服務,用于代碼推送)、postfix(郵件服務,用于通知)。sudo yum install -y curl policycoreutils-python openssh-server postfix
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
GitLab官方提供了CentOS的YUM倉庫,通過以下命令添加,以便后續安裝最新版本的GitLab Community Edition(CE,社區版)。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
使用YUM命令從官方倉庫安裝GitLab CE,安裝過程會自動解決依賴問題。
sudo yum install -y gitlab-ce
GitLab的主配置文件為/etc/gitlab/gitlab.rb,需修改以下關鍵參數:
your_server_ip或域名為你的服務器地址(如http://192.168.1.100或https://gitlab.example.com),這是GitLab的入口地址。sudo vi /etc/gitlab/gitlab.rb
# 找到并修改以下行(取消注釋并替換)
external_url 'http://your_server_ip'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@gmail.com"
gitlab_rails['smtp_password'] = "your_app_password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'your_email@gmail.com'
修改完成后,保存并退出編輯器。
gitlab.rb中的設置,生成Nginx配置、數據庫初始化等。sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
sudo systemctl enable gitlab-runsvdir
external_url(如http://192.168.1.100),進入GitLab登錄頁面。root)的密碼,設置完成后即可登錄。sudo yum install -y certbot python2-certbot-nginx
sudo certbot --nginx -d your_gitlab_url
/var/opt/gitlab/backups目錄。sudo gitlab-rake gitlab:backup:create
sudo setenforce 0
sudo sed -ri 's/(SELINUX).*/\1disabled/g' /etc/selinux/config
通過以上步驟,即可在CentOS上成功搭建GitLab服務器,實現代碼托管、協作開發等功能。如需進一步定制(如調整端口、添加用戶),可通過GitLab Web界面或配置文件完成。