news 2026/4/3 2:51:45

在 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/3/25 5:48:50

Open-AutoGLM离线部署到底难不难?,看完这篇万人收藏的技术解析就懂了

第一章:Open-AutoGLM离线部署的核心挑战 在将Open-AutoGLM模型部署至离线环境时,开发者面临一系列技术性难题。这些挑战不仅涉及计算资源的合理配置,还包括模型依赖项的完整性、推理性能的优化以及安全策略的适配。 模型体积与硬件资源限制 …

作者头像 李华
网站建设 2026/3/22 2:01:52

Open-AutoGLM控制苹果手机的5种潜在方式(技术突破大曝光)

第一章:Open-AutoGLM 能操作苹果手机吗Open-AutoGLM 是一个基于大语言模型的自动化任务执行框架,其核心能力在于理解自然语言指令并将其转化为可执行的操作流程。尽管该框架在安卓设备和桌面系统中已展现出较强的控制能力,但在苹果 iOS 生态中…

作者头像 李华
网站建设 2026/3/29 0:31:55

2025最新!自考党必看!9大AI论文平台深度测评与推荐

2025最新!自考党必看!9大AI论文平台深度测评与推荐 2025年自考论文写作新选择:AI平台测评指南 随着人工智能技术的不断进步,越来越多的自考学生开始借助AI论文平台提升写作效率与质量。然而,面对市场上琳琅满目的工具&…

作者头像 李华
网站建设 2026/3/31 10:24:32

‌独角兽公司SDET面试的核心转变

近年来,独角兽公司在快速迭代和高压环境中运营,对SDET角色的需求已从基础测试技能转向高效解决复杂技术问题的能力。2025年行业数据显示,85%的独角兽企业面试中,问题解决环节占比超过60%,这反映了企业对“实战型人才”…

作者头像 李华
网站建设 2026/4/1 18:52:20

内部流出!这10个免费插画站是4A广告公司的御用后备

你是否好奇,那些顶级4A广告公司的设计师们在预算有限的项目中、头脑风暴时,或制作比稿方案的初期视觉稿时,会去哪里寻找既符合国际审美标准、又不需要层层申请预算的优质素材?这些被视为行业机密的后备资源库,往往才是…

作者头像 李华