Ubuntu 26.04 本地安装 GitLab CE 完整教程(非 Docker 方式)

发布时间:2026/6/25 11:33:33

Ubuntu 26.04 本地安装 GitLab CE 完整教程(非 Docker 方式) 本文详细介绍在 Ubuntu 26.04 系统上通过 Omnibus 包方式安装 GitLab CE 的完整过程适用于本地部署和私有化部署场景。## 一、环境说明### 1.1 系统环境- **操作系统**Ubuntu 26.04 (Resolute Raccoon)- **内存**建议 4GB 以上本文环境 30GB- **CPU**建议 2 核心以上本文环境 8 核心- **磁盘**建议 50GB 以上可用空间### 1.2 GitLab 版本- **版本**GitLab CE 18.9.2- **安装方式**Omnibus 包官方推荐- **非 Docker**原生系统服务方式部署---## 二、安装前准备### 2.1 安装系统依赖GitLab 需要以下基础依赖bashsudo apt updatesudo apt install -y curl openssh-server postfix **说明** - curl用于下载文件和访问 HTTP 资源 - openssh-server提供 SSH 访问功能 - postfix用于发送通知邮件可选---## 三、配置 GitLab 软件源### 3.1 添加 GPG 密钥bash# 下载 GPG 密钥curl -fsSL https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-ce.gpg# 设置密钥权限sudo chmod 644 /usr/share/keyrings/gitlab-ce.gpg### 3.2 添加软件源清华镜像由于 Ubuntu 26.04 是开发版本官方源尚未支持需要使用 Ubuntu 24.04 (noble) 的源。推荐使用清华大学镜像源加速下载bashsudo bash -c cat /etc/apt/sources.list.d/gitlab-gitlab-ce.sources EOFTypes: debURIs: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/noble/Suites: nobleComponents: mainArchitectures: amd64Signed-By: /usr/share/keyrings/gitlab-ce.gpgEOF **注意**Ubuntu 26.04 使用新的 deb822 源格式需要使用 .sources 后缀文件。### 3.3 更新软件源bashsudo apt update---## 四、安装 GitLab CE### 4.1 执行安装bashsudo EXTERNAL_URLhttp://你的服务器IP apt install -y gitlab-ce **说明** - EXTERNAL_URL设置 GitLab 的访问地址 - 安装包大小约 1.4GB请确保网络畅通 - 使用清华镜像源下载速度可达 20MB/s 以上### 4.2 安装过程说明安装过程中会自动完成以下操作1. 解压 GitLab 包约 4GB 空间2. 创建 git、gitlab-psql、gitlab-www 等系统用户3. 配置 Redis、PostgreSQL、Nginx 等组件4. 初始化服务配置---## 五、配置 GitLab### 5.1 修改配置文件GitLab 的主配置文件位于 /etc/gitlab/gitlab.rbbash# 编辑配置文件sudo vim /etc/gitlab/gitlab.rb### 5.2 常用配置项ruby# 外部访问地址external_url http://192.168.1.100# Nginx 配置nginx[listen_port] 80nginx[listen_https] false# GitLab 数据目录git_data_dirs({default { path /var/opt/gitlab/git-data }})# 邮件通知配置可选gitlab_rails[smtp_enable] truegitlab_rails[smtp_address] smtp.example.comgitlab_rails[smtp_port] 587gitlab_rails[smtp_user_name] gitlabexample.comgitlab_rails[smtp_password] your_passwordgitlab_rails[smtp_domain] example.comgitlab_rails[smtp_authentication] logingitlab_rails[smtp_enable_starttls_auto] true### 5.3 应用配置bash# 重新配置 GitLabsudo gitlab-ctl reconfigure **注意**首次 reconfigure 可能需要 3-5 分钟请耐心等待。---## 六、验证安装### 6.1 检查服务状态bashsudo gitlab-ctl status**正常输出示例**run: alertmanager: (pid 24254) 20s; run: log: (pid 23818) 57srun: gitaly: (pid 24193) 22s; run: log: (pid 22790) 192srun: gitlab-exporter: (pid 24207) 21s; run: log: (pid 23700) 75srun: gitlab-kas: (pid 23225) 183s; run: log: (pid 23257) 180srun: gitlab-workhorse: (pid 24152) 23s; run: log: (pid 23573) 88srun: logrotate: (pid 22501) 207s; run: log: (pid 22515) 206srun: nginx: (pid 24173) 22s; run: log: (pid 23602) 86srun: node-exporter: (pid 24207) 21s; run: log: (pid 23677) 80srun: postgres-exporter: (pid 24269) 19s; run: log: (pid 24000) 51srun: postgresql: (pid 22846) 189s; run: log: (pid 22862) 188srun: prometheus: (pid 24225) 21s; run: log: (pid 23789) 61srun: puma: (pid 23433) 102s; run: log: (pid 23448) 98srun: redis: (pid 22698) 201s; run: log: (pid 22713) 200srun: redis-exporter: (pid 24212) 21s; run: log: (pid 23737) 69srun: sidekiq: (pid 23469) 95s; run: log: (pid 23487) 94s### 6.2 访问 GitLab在浏览器中访问配置的地址http://你的服务器IP### 6.3 获取初始密码首次登录需要使用 root 用户和初始密码bash# 查看初始 root 密码sudo cat /etc/gitlab/initial_root_password **重要提示**该密码文件会在首次 reconfigure 后 24 小时内自动删除请及时修改密码。---## 七、常用管理命令### 7.1 服务管理bash# 启动所有服务sudo gitlab-ctl start# 停止所有服务sudo gitlab-ctl stop# 重启所有服务sudo gitlab-ctl restart# 重启单个服务如 nginxsudo gitlab-ctl restart nginx# 查看服务状态sudo gitlab-ctl status### 7.2 日志查看bash# 查看所有日志sudo gitlab-ctl tail# 查看特定服务日志sudo gitlab-ctl tail nginxsudo gitlab-ctl tail sidekiqsudo gitlab-ctl tail postgresql### 7.3 备份与恢复bash# 创建备份sudo gitlab-backup create# 恢复备份需先停止相关服务sudo gitlab-ctl stop pumasudo gitlab-ctl stop sidekiqsudo gitlab-backup restore BACKUP1234567890_2024_01_01_1.0.0# 启动服务sudo gitlab-ctl start### 7.4 其他命令bash# 重新配置sudo gitlab-ctl reconfigure# 清理缓存sudo gitlab-rake cache:clear# 检查环境sudo gitlab-rake gitlab:check SANITIZEtrue# 查看版本sudo gitlab-rake gitlab:env:info---## 八、常见问题解决### 8.1 内存不足问题GitLab 默认占用较大内存如果服务器内存较小可以优化配置ruby# 在 /etc/gitlab/gitlab.rb 中添加puma[worker_processes] 2sidekiq[max_concurrency] 10### 8.2 端口冲突如果 80 端口被占用可以修改 Nginx 监听端口rubynginx[listen_port] 8080### 8.3 无法访问1. 检查防火墙设置bashsudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw allow 22/tcp2. 检查服务状态bashsudo gitlab-ctl status3. 查看错误日志bashsudo gitlab-ctl tail nginx### 8.4 邮件发送失败检查 SMTP 配置是否正确确保防火墙允许出站连接bashtelnet smtp.example.com 587---## 九、性能优化建议### 9.1 数据库优化对于大型实例可以优化 PostgreSQL 配置rubypostgresql[shared_buffers] 256MBpostgresql[work_mem] 16MBpostgresql[max_connections] 500### 9.2 Redis 优化rubyredis[maxmemory] 512mbredis[maxmemory_policy] noeviction### 9.3 Puma 优化rubypuma[worker_processes] 4puma[worker_timeout] 60puma[worker_processes] 2---## 十、安全建议### 10.1 启用 HTTPS生产环境强烈建议启用 HTTPSrubyexternal_url https://gitlab.example.comnginx[redirect_http_to_https] trueletsencrypt[enable] trueletsencrypt[contact_emails] [adminexample.com]### 10.2 修改默认密码首次登录后立即修改 root 密码。### 10.3 配置防火墙bash# 只开放必要端口sudo ufw allow 22/tcp # SSHsudo ufw allow 80/tcp # HTTPsudo ufw allow 443/tcp # HTTPSsudo ufw enable### 10.4 定期备份建议配置定时备份任务bash# 编辑 crontabsudo crontab -e# 添加每日凌晨 2 点备份0 2 * * * /opt/gitlab/bin/gitlab-backup create CRON1---## 十一、总结本文详细介绍了在 Ubuntu 26.04 系统上通过 Omnibus 包方式安装 GitLab CE 的完整流程。相比 Docker 方式原生安装具有以下优势- **性能更好**无容器层开销- **管理方便**使用系统服务管理- **集成度高**所有组件统一管理- **维护简单**官方 gitlab-ctl 工具一键管理**注意事项**1. 确保服务器有足够内存建议 4GB 以上2. 生产环境务必启用 HTTPS3. 定期备份重要数据4. 及时更新 GitLab 版本修复安全漏洞---## 参考链接- [GitLab 官方文档](https://docs.gitlab.com/)- [Omnibus GitLab 安装指南](https://gitlab.com/gitlab-org/omnibus-gitlab)- [清华大学开源软件镜像站](https://mirrors.tuna.tsinghua.edu.cn/)- [GitLab 备份与恢复](https://docs.gitlab.com/omnibus/settings/backup.html)---**作者**林宏权**版权声明**本文为原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明

相关新闻