news 2026/6/13 22:51:01

在 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/6/12 11:26:53

揭秘Open-AutoGLM自动化引擎:如何3步实现浏览器智能操控

第一章:揭秘Open-AutoGLM自动化引擎的核心能力Open-AutoGLM 是新一代面向大语言模型任务自动化的智能引擎,专为简化复杂推理流程、提升执行效率而设计。其核心架构融合了动态任务编排、上下文感知调度与自适应反馈机制,能够在无需人工干预的前…

作者头像 李华
网站建设 2026/6/10 19:42:10

2025 年 IoT 数据平台技术雷达:哪些技术正在改变游戏规则?

在制造、能源、零售与城市基础设施等领域,IoT 设备数量仍在持续增长。根据研究机构 IoT Analytics 的报告,2025 年期间,全球在用的物联网设备数量持续增长,预计全年将实现 14% 的增长,到 12 月底累计达到 211 亿台。但…

作者头像 李华
网站建设 2026/5/30 20:03:16

Open-AutoGLM能否打通iOS系统壁垒:深入解析对苹果手机的操作可能性

第一章:Open-AutoGLM 能操作苹果手机吗目前,Open-AutoGLM 并不能直接操作苹果手机(iPhone)。该框架主要聚焦于自动化生成自然语言任务的提示工程与模型推理流程,运行环境依赖 Python 及相关深度学习库,尚未…

作者头像 李华