gitlab ce是linux自托管git平台首选,需先配置ssh、postfix、防火墙;再通过yum源安装;接着修改external_url并重载服务;最后初始化root密码并可选配置smtp邮件。

如果您计划在Linux系统上部署一个自托管的Git代码仓库平台,则GitLab CE(社区版)是最常用的开源选择之一。以下是适用于主流Linux发行版(如CentOS 7、AlmaLinux 8、RHEL等)的完整安装与基础配置流程:
一、安装前环境准备与依赖配置
GitLab对系统资源和基础服务有明确要求,必须确保SSH、Postfix邮件服务、防火墙规则及必要工具已就绪,否则后续服务将无法正常启动或发送通知。
1、执行命令安装基础依赖包:
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients
2、启用并启动SSH服务:
sudo systemctl enable sshd
sudo systemctl start sshd
3、安装并配置Postfix作为本地SMTP服务器:
sudo yum install -y postfix
sudo systemctl enable postfix
sudo systemctl start postfix
4、开放系统防火墙中的HTTP(80端口)与SSH(22端口):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
二、添加GitLab官方或镜像源并安装CE包
直接使用rpm包安装虽快但易因版本冲突失败;推荐通过配置YUM源实现稳定安装,并支持后续升级维护。
1、下载并执行GitLab官方仓库配置脚本:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
2、若国内访问缓慢,可改用清华大学镜像源:
sudo tee /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce]
name=GitLab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el\$releasever/
gpgcheck=0
enabled=1
EOF
3、刷新YUM缓存并安装GitLab CE:
sudo yum makecache
sudo yum install -y gitlab-ce
三、修改GitLab主配置文件并重载服务
默认配置指向http://gitlab.example.com,必须修改为实际可访问的地址(IP或域名),否则Web界面无法加载且内部服务绑定失败。
1、编辑主配置文件:
sudo vim /etc/gitlab/gitlab.rb
2、定位到external_url行,将其修改为当前服务器IP加端口(例如):
external_url 'http://192.168.0.10'
3、如需指定非标准HTTP端口(如9898),则同步修改:
nginx['listen_port'] = 9898
4、保存退出后执行重配置命令:
sudo gitlab-ctl reconfigure
5、重启所有GitLab组件:
sudo gitlab-ctl restart
四、初始化管理员密码并验证访问
首次启动后GitLab会生成初始root用户,但密码未设置,需通过交互式命令设定,否则无法登录Web控制台。
1、执行初始化密码命令:
sudo gitlab-ctl console -e production
2、在Ruby控制台中输入以下两行(注意引号为英文单引号):
user = User.where(id: 1).first
user.password = 'MyNewPassw0rd123'
user.password_confirmation = 'MyNewPassw0rd123'
user.save!
3、退出控制台:
exit
4、在浏览器中访问:http://192.168.0.10,使用用户名root与刚设置的密码登录
五、可选:配置SMTP邮件服务(以腾讯企业邮箱为例)
启用邮件功能后,GitLab才能发送注册确认、密码重置、合并请求通知等关键消息,否则相关操作将静默失败。
1、继续编辑/etc/gitlab/gitlab.rb,在文件末尾追加以下配置块:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "admin@yourdomain.com"
gitlab_rails['smtp_password'] = "your_app_specific_password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "admin@yourdomain.com"
2、再次运行重配置命令:
sudo gitlab-ctl reconfigure










