news 2026/4/23 14:07:55

在 Linux 上安装 GitLab Community Edition (CE,社区版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 Linux 上安装 GitLab Community Edition (CE,社区版)

在 Linux 上安装 GitLab Community Edition (CE,社区版) 通常推荐使用官方提供的 Omnibus 安装包,因为它集成了运行 GitLab 所需的所有组件(Nginx, PostgreSQL, Redis 等),配置和维护最简单。

以下是以 Ubuntu/Debian 和 CentOS/AlmaLinux/Rocky Linux 为例的详细安装与使用教程。

第一阶段:准备工作

最低硬件要求:
内存 (RAM): 至少 4GB(建议 8GB,否则会经常卡顿或报错 502)。
CPU: 2核或以上。
磁盘: 建议预留 20GB 以上空间。

第二阶段:安装 GitLab CE

1. 安装依赖包
Ubuntu / Debian: sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates tzdata perl sudo apt-get install -y postfix

如果需要发送邮件通知,可以安装 Postfix(安装过程选 Internet Site),也可以后续配置 SMTP

CentOS 7 / AlmaLinux / Rocky Linux: sudo dnf install -y curl policycoreutils openssh-server openssh-clients perl sudo systemctl enable sshd sudo systemctl start sshd

安装 Postfix (可选)

sudo dnf install -y postfix sudo systemctl enable postfix sudo systemctl start postfix

配置防火墙允许 HTTP/HTTPS (CentOS/AlmaLinux 需要)

sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
2. 添加 GitLab 镜像源

使用清华大学开源软件镜像站(国内速度快)或官方源。这里为了稳定和速度,推荐使用官方脚本,它会自动检测你的系统。

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

如果是 CentOS/RPM系,命令通常是 script.rpm.sh

3. 安装 GitLab CE

关键点: 你需要设置 EXTERNAL_URL,这是你访问 GitLab 的地址。
如果有域名:http://gitlab.example.com
如果是局域网 IP:http://192.168.1.100
运行以下命令开始安装(会自动下载约 1GB 的包,请耐心等待):

Ubuntu / Debian: sudo EXTERNAL_URL="http://192.168.1.100" apt-get install gitlab-ce CentOS / AlmaLinux: sudo EXTERNAL_URL="http://192.168.1.100" dnf install gitlab-ce

(请将 IP 地址替换为你服务器的实际 IP)

4. 等待安装完成

看到 GitLab 的 Logo 字符画并提示 GitLab Reconfigured! 即表示安装成功。

第三阶段:初始化配置与登录

1. 获取初始 root 密码

安装完成后,系统会生成一个随机密码,文件有效期为 24 小时。
查看密码:

sudo cat /etc/gitlab/initial_root_password
2. 登录 Web 界面

打开浏览器,访问你设置的 EXTERNAL_URL(例如 http://192.168.1.100)。

账号: root 密码: 刚才 cat 命令查看到的字符串。
3. 修改密码和语言(建议)

登录后,点击右上角头像 -> Edit profile -> Password,立即修改一个你可以记住的复杂密码。
设置中文: 点击右上角头像 -> Preferences -> 往下翻找到 Localization -> Language 选择 Chinese, Simplified -> Save changes -> 刷新页面。

第四阶段:基本使用指南

1. 创建项目 (Project)

点击顶部导航栏的 “+” 号 -> 新建项目/仓库。
选择 “创建空白项目”。
输入项目名称(如 my-first-project)。
可见性级别:
Private: 只有特定成员可见。
Internal: 登录用户可见。
Public: 任何人可见。
点击新建。

2. 配置 SSH 密钥 (用于上传代码)

为了不用每次推送代码都输密码,需要配置 SSH Key。
在你的电脑上(即你要写代码的电脑,Windows/Mac/Linux)打开终端/Git Bash:
code
Bash
ssh-keygen -t rsa -b 4096 -C “your_email@example.com”

一路回车即可

查看生成的公钥:

cat ~/.ssh/id_rsa.pub

复制显示的一长串字符(以 ssh-rsa 开头)。
回到 GitLab 网页 -> 右上角头像 -> 偏好设置 (Preferences) -> SSH 密钥 (SSH Keys)。
将内容粘贴到“密钥”框中,点击“添加密钥”。

3. 上传代码

回到你刚才创建的 GitLab 空白项目页面,它会提示你如何上传。
情况 A:上传现有的本地代码文件夹

cd existing_folder git init git remote add origin http://192.168.1.100/root/my-first-project.git git add . git commit -m "Initial commit" git push -u origin master

情况 B:克隆新项目

git clone git@192.168.1.100:root/my-first-project.git cd my-first-project touch README.md git add README.md git commit -m "add readme" git push -u origin main

第五阶段:常用维护命令
GitLab 提供了一个命令行工具 gitlab-ctl 来管理服务。
重新加载配置: (修改了 /etc/gitlab/gitlab.rb 后必须执行)

sudo gitlab-ctl reconfigure

启动/停止/重启所有服务:

sudo gitlab-ctl start sudo gitlab-ctl stop sudo gitlab-ctl restart

查看服务状态:

sudo gitlab-ctl status

查看日志: (排查问题用)

sudo gitlab-ctl tail

常见问题排查

访问报 502 Whoops, GitLab is taking too much time to respond:
原因:通常是内存不足或者服务正在启动中。
解决:刚启动需要等待 2-3 分钟。如果一直 502,请检查服务器内存是否大于 4GB,可以通过增加 Swap 分区临时解决。
修改端口(如果 80 端口被占用):
编辑配置文件:sudo vim /etc/gitlab/gitlab.rb
找到 external_url 修改为带端口的,例如:‘http://192.168.1.100:8088’
找到 nginx[‘listen_port’] 取消注释并改为 8088。
执行 sudo gitlab-ctl reconfigure。
忘记 root 密码:
进入控制台:sudo gitlab-rails console -e production
执行命令重置:

Ruby user = User.where(id: 1).first user.password = 'NewPassword123!' user.password_confirmation = 'NewPassword123!' user.save! exit
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 6:52:28

2026,网络安全变革核心:统一架构成为必然,一文读懂转型全景

到 2026 年,网络安全将不再只是 IT 团队专属的技术主题,而是将日益成为董事会层面的优先事项。随着网络攻击的频率和严重性不断增加,董事会将需要能够让他们了解组织安全状况的平台。 Armis 首席执行官 Yevgeny Dibrov 认为,统一网…

作者头像 李华
网站建设 2026/4/22 23:06:57

Java赋能:陪诊小程序开启医院暖心陪护

在医疗资源紧张、患者就医体验需求升级的背景下,Java技术凭借其稳定性、扩展性和生态优势,为陪诊小程序构建了全场景、智能化、安全可靠的数字化服务平台,从患者预约、陪诊服务到医院管理,实现“就医流程简化、服务温度提升、资源…

作者头像 李华
网站建设 2026/4/23 12:20:26

学长亲荐10个AI论文工具,助你搞定本科毕业论文!

学长亲荐10个AI论文工具,助你搞定本科毕业论文! AI工具,让论文写作不再“难” 在本科毕业论文的撰写过程中,很多同学都会遇到内容组织困难、语言表达不流畅、查重压力大等问题。而随着AI技术的发展,越来越多的智能工具…

作者头像 李华
网站建设 2026/4/23 13:43:43

Unity Visual Effect Graph 属性(Properties)详解

目录 前言 一、什么是 Properties? 可视化连接示例: 二、Property 的基本类型 三、访问多组件属性(Component Access) 应用场景: 四、类型转换(Casting) 转换规则: 五、复合属性类型(Compound Property Types) 典型示例: 使用方式: 六、可空间化属性(…

作者头像 李华
网站建设 2026/4/23 12:09:46

精益内核:五大原则与十大工具的系统性耦合逻辑

**观点:**精益生产的成功,不在于孤立地应用几个工具,而在于深刻理解其核心原则,并让工具为原则服务,形成系统合力。 理由:许多改善活动失败,源于“工具主义”——跟风导入看板或自动化&#xff…

作者头像 李华
网站建设 2026/4/23 10:12:48

这10个免费插画网站,资深设计师打死都不愿公开

你有没有好奇过,为什么资深设计师的作品总有一种难以言喻的独特质感?在竞争激烈的设计行业,保持视觉上的领先优势,有时就意味着守护几个关键的资源秘诀。《2025年创意资源信息差与专业竞争力关联度报告》中揭示了一个关键现象&…

作者头像 李华