在linux服务器上搭建gitlab服务器可以快速搭建私有代码托管平台,满足团队协作开发时的代码管理、权限控制等需求,整个过程主要分为环境准备、安装部署、配置优化几个核心步骤。

环境准备
搭建gitlab前需要先确认服务器满足基础配置要求,避免后续运行出现性能问题。推荐服务器配置至少为2核4G内存,磁盘空间预留20G以上,操作系统建议选择Ubuntu 20.04或者CentOS 7及以上版本。
首先更新系统软件包,不同系统的更新命令如下:
- Ubuntu/Debian系统:
sudo apt update && sudo apt upgrade -y - CentOS/RHEL系统:
sudo yum update -y
同时需要安装git基础依赖,确保后续代码操作正常:
# Ubuntu/Debian安装git sudo apt install git -y # CentOS/RHEL安装git sudo yum install git -y
安装gitlab
获取安装包
gitlab分为社区版和企业版,个人和中小团队使用社区版即可满足需求,这里以社区版为例说明安装流程。
如果是Ubuntu系统,先添加gitlab官方仓库:
# 下载仓库配置脚本 curl -fsSL https://packages.gitlab.com/gitlab/gitlab-ce/setup.sh | sudo bash # 安装gitlab社区版 sudo apt install gitlab-ce -y
如果是CentOS系统,添加仓库并安装:
# 添加gitlab仓库 curl -fsSL https://packages.gitlab.com/gitlab/gitlab-ce/setup.sh | sudo bash # 安装gitlab社区版 sudo yum install gitlab-ce -y
如果服务器网络访问官方源速度较慢,也可以手动下载对应系统的rpm或者deb安装包,使用本地安装命令完成安装。
基础配置修改
安装完成后需要修改gitlab的配置文件,主要设置访问地址和端口。配置文件路径为/etc/gitlab/gitlab.rb。
打开配置文件,找到external_url字段,修改为服务器的访问地址,比如服务器公网IP为192.168.0.1,想要使用80端口访问,就设置为:
# 修改访问地址,替换为自己的服务器IP或者域名 external_url 'http://192.168.0.1'
如果80端口已经被其他服务占用,可以修改端口,比如使用8080端口:
external_url 'http://192.168.0.0:8080' # 同时需要配置nginx监听端口 nginx['listen_port'] = 8080
启动服务
修改完配置后,执行配置重载命令让修改生效,然后启动gitlab服务:
# 重载配置,这个过程会持续几分钟 sudo gitlab-ctl reconfigure # 启动gitlab所有服务 sudo gitlab-ctl start
可以通过以下命令查看服务运行状态,确认所有组件都正常运行:
sudo gitlab-ctl status
初始配置与基础使用
设置管理员密码
服务启动后,在浏览器访问之前配置的external_url地址,首次访问会跳转到密码设置页面,设置管理员账号root的密码,密码长度要求至少8位。
设置完成后使用root账号和设置的密码登录,就可以进入gitlab的管理后台。
创建项目与用户
登录后点击顶部导航栏的New project按钮可以创建新的代码仓库,填写项目名称、描述,选择仓库的可见性级别即可完成创建。
如果需要添加团队成员,可以在左侧导航栏进入Admin Area,选择Users选项,点击New user创建新用户,然后给新用户分配对应项目的访问权限。
常见问题排查
如果访问页面出现502错误,通常是端口冲突或者内存不足导致,可以检查端口占用情况,或者升级服务器配置。如果忘记管理员密码,可以通过以下命令重置:
# 进入gitlab控制台 sudo gitlab-rails console # 查找root用户 user = User.where(id: 1).first # 设置新密码 user.password = 'new_password_123' user.password_confirmation = 'new_password_123' # 保存修改 user.save! # 退出控制台 exit
日常维护中可以通过sudo gitlab-ctl tail命令查看gitlab的运行日志,快速定位问题原因。