在CentOS上安裝和配置GitLab是一個相對復雜的過程,但以下步驟可以幫助你順利完成安裝。
sudo yum update
sudo yum install -y curl policycoreutils-python openssh-server openssh-client postfix wget vim
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
在瀏覽器中輸入服務器的IP地址,你應該能夠看到GitLab的登錄頁面。使用默認的管理員賬戶(root)登錄,并設置新密碼。
端口沖突:如果在安裝過程中遇到端口沖突,可以修改GitLab的默認端口。編輯 /etc/gitlab/gitlab.rb
文件,找到以下行并修改為所需的端口號:
gitlab_rails['gitlab_shell_ssh_port'] = 1234
然后重新配置并啟動GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
郵件服務配置:確保Postfix郵件服務已正確配置。編輯 /etc/postfix/main.cf
文件,設置正確的主機名和域名。然后啟動并啟用Postfix服務:
sudo systemctl start postfix
sudo systemctl enable postfix
防火墻設置:確保防火墻允許GitLab使用的端口(默認為80和443)。使用以下命令打開端口:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --reload
修改外部URL:如果需要修改GitLab的外部URL,編輯 /etc/gitlab/gitlab.rb
文件,找到以下行并修改為所需的主機名和端口:
external_url 'http://your_server_ip:port'
然后重新配置并啟動GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
SSH密鑰配置:為了使用SSH方式訪問GitLab,需要在本地生成SSH密鑰,并將公鑰添加到GitLab。使用以下命令生成SSH密鑰:
ssh-keygen -t rsa -C "your_email@example.com"
將生成的公鑰(~/.ssh/id_rsa.pub
)添加到GitLab的SSH密鑰管理中。
如果你希望使用Docker來安裝GitLab,可以按照以下步驟進行:
docker pull gitlab/gitlab-ce:latest
mkdir /usr/local/gitlab
mkdir /usr/local/gitlab/config
mkdir /usr/local/gitlab/logs
mkdir /usr/local/gitlab/data
docker run --detach \
--hostname gitlab.example.com \
--publish 8929:8929 \
--publish 22:22 \
--name gitlab \
--restart always \
--volume /usr/local/gitlab/config:/etc/gitlab \
--volume /usr/local/gitlab/logs:/var/log/gitlab \
--volume /usr/local/gitlab/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest
http://gitlab.example.com:8929
,使用默認的管理員賬戶(root)登錄,并設置新密碼。通過以上步驟,你應該能夠在CentOS上成功安裝和配置GitLab。如果在安裝過程中遇到任何問題,請參考GitLab的官方文檔或相關的技術論壇尋求幫助。