温馨提示×

在CentOS上搭建GitLab服务器步骤

小樊
54
2025-09-01 18:02:57
栏目: 云计算

在CentOS上搭建GitLab服务器的详细步骤

1. 安装前准备

  • 更新系统:确保系统软件包为最新版本,避免兼容性问题。
    sudo yum update -y
    
  • 安装必要依赖:GitLab运行需要curl(下载工具)、policycoreutils(SELinux策略工具)、openssh-server(SSH服务,用于代码推送)、postfix(邮件服务,用于通知)。
    sudo yum install -y curl policycoreutils-python openssh-server postfix
    
  • 启动并设置SSH开机自启:GitLab依赖SSH进行代码托管和推送。
    sudo systemctl enable sshd
    sudo systemctl start sshd
    
  • 配置防火墙:允许HTTP(80)、HTTPS(443)流量通过,确保Web界面可访问。
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    

2. 添加GitLab官方仓库

GitLab官方提供了CentOS的YUM仓库,通过以下命令添加,以便后续安装最新版本的GitLab Community Edition(CE,社区版)。

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

3. 安装GitLab CE

使用YUM命令从官方仓库安装GitLab CE,安装过程会自动解决依赖问题。

sudo yum install -y gitlab-ce

4. 配置GitLab

GitLab的主配置文件为/etc/gitlab/gitlab.rb,需修改以下关键参数:

  • 设置外部访问URL:替换your_server_ip或域名为你的服务器地址(如http://192.168.1.100https://gitlab.example.com),这是GitLab的入口地址。
    sudo vi /etc/gitlab/gitlab.rb
    # 找到并修改以下行(取消注释并替换)
    external_url 'http://your_server_ip'
    
  • 可选:配置邮件服务(用于通知、密码重置):若需使用邮件功能,需配置SMTP参数(以Gmail为例,需开启“允许不够安全的应用”或使用应用专用密码)。
    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'
    

修改完成后,保存并退出编辑器。

5. 初始化配置并启动GitLab

  • 重新配置GitLab:应用gitlab.rb中的设置,生成Nginx配置、数据库初始化等。
    sudo gitlab-ctl reconfigure
    
  • 启动GitLab服务:启动GitLab相关组件(Nginx、PostgreSQL、Redis等),并设置开机自启。
    sudo gitlab-ctl start
    sudo systemctl enable gitlab-runsvdir
    

6. 访问GitLab Web界面

  • 打开浏览器:输入配置的external_url(如http://192.168.1.100),进入GitLab登录页面。
  • 首次登录:系统会引导设置管理员账户(默认用户名为root)的密码,设置完成后即可登录。

7. 可选优化步骤

  • 配置SSL证书:为GitLab启用HTTPS,提升安全性。可使用Let’s Encrypt免费获取证书:
    sudo yum install -y certbot python2-certbot-nginx
    sudo certbot --nginx -d your_gitlab_url
    
  • 备份GitLab数据:定期备份数据,防止丢失。备份文件默认存储在/var/opt/gitlab/backups目录。
    sudo gitlab-rake gitlab:backup:create
    
  • 关闭SELinux(可选):若遇到SELinux导致的权限问题,可临时关闭(不推荐生产环境):
    sudo setenforce 0
    sudo sed -ri 's/(SELINUX).*/\1disabled/g' /etc/selinux/config
    

通过以上步骤,即可在CentOS上成功搭建GitLab服务器,实现代码托管、协作开发等功能。如需进一步定制(如调整端口、添加用户),可通过GitLab Web界面或配置文件完成。

0