安装 GitLab

在 Ubuntu 虚拟机上安装 GitLab 来进行代码管理是一个非常成熟且常用的方案。以下是安装 GitLab 社区版(CE,免费版)的详细图文步骤。

在开始之前,请确保你的虚拟机满足 GitLab 的基本要求(建议至少分配 4GB 内存 和 2个 CPU 核心,否则安装和运行过程可能会非常卡顿)。

第一步:更新系统并安装必要依赖

首先,打开虚拟机的终端(Terminal),更新系统的软件包列表,并安装 GitLab 所需的基础依赖项:

bash 复制代码
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

第二步:安装邮件服务(可选)

GitLab 需要一个邮件服务来发送注册、密码重置等通知邮件。如果你暂时不需要邮件通知,可以跳过这一步。通常我们使用 Postfix:

bash 复制代码
sudo apt-get install -y postfix

(注意:在安装 Postfix 的过程中,系统可能会弹出一个配置界面。选择 Internet Site,然后在下一页填写你的虚拟机的域名或 IP 地址即可。)

第三步:添加 GitLab 官方软件源

使用 curl 命令下载并运行 GitLab 提供的脚本,这会自动将 GitLab 的软件源添加到你的 Ubuntu 系统的包管理器中:

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

第四步:安装 GitLab

接下来正式安装 GitLab。在执行安装命令时,你需要设置 EXTERNAL_URL,这是你以后在浏览器中访问 GitLab 的地址。如果你没有域名,可以直接使用虚拟机的 IP 地址(例如 http://192.168.1.100)。

bash 复制代码
sudo EXTERNAL_URL="http://你的虚拟机IP或域名" apt-get install gitlab-ce

(注意:请将 http://你的虚拟机IP或域名 替换为你实际的 IP 地址。下载和安装过程可能需要几分钟到十几分钟,请耐心等待。)

第五步:获取初始密码并登录

安装完成后,终端会显示一个狐狸的图案,说明 GitLab 安装成功。

获取管理员密码: GitLab 会自动生成一个初始的管理员密码,并保存在一个临时文件中。使用以下命令查看密码:

bash 复制代码
sudo cat /etc/gitlab/initial_root_password

(请复制并保存 Password 后面那一长串字符。注意:这个文件会在 24 小时后自动删除。)

访问 Web 界面: 打开你电脑上的浏览器,输入你刚才配置的 EXTERNAL_URL(即你的虚拟机 IP)。

bash 复制代码
登录系统:

用户名: root

密码: 刚才获取的那一长串初始密码。

第六步:修改初始密码(重要)

为了安全起见,首次登录后请立即修改密码:

点击右上角的用户头像,选择 Edit profile (编辑个人资料)。

在左侧导航栏中选择 Password (密码)。

输入当前密码和新密码,点击 Save password 保存。

常用 GitLab 运维命令备忘录

在管理虚拟机时,可能会用到以下命令:

重新配置 GitLab (修改配置文件 /etc/gitlab/gitlab.rb 后必须执行):sudo gitlab-ctl reconfigure

启动 GitLab: sudo gitlab-ctl start

停止 GitLab: sudo gitlab-ctl stop

重启 GitLab: sudo gitlab-ctl restart

查看运行状态: sudo gitlab-ctl status

相关推荐
A心有千千结3 分钟前
通过 SSH 反向代理让服务器借用本机网络访问 GitHub 的最佳实践
linux·服务器·网络·git·ssh·github
fengkai454510 分钟前
十三、Zabbix 监控
运维·服务器·zabbix·监控·网络设备
古法老登瞎折腾21 分钟前
大数据智能运维实战(二):准备一个可复现的运维实验环境
java·大数据·运维·spring ai·mcp
书生执笔画浮沉23 分钟前
Linux 内核模块为什么不能自己解决兼容性问题?
linux·c·kernel·update·灵感
数据中心的那点事儿33 分钟前
艾特网能:GPU算力服务器冷却系统配套设计介绍
运维·服务器·gpu算力
15Moonlight37 分钟前
Linux网络(03):Socket 编程 TCP
linux·网络·tcp/ip
广州灵眸科技有限公司1 小时前
单芯片同时跑 Linux 与 RT-Thread:RV1126B的AMP异构方案完整拆解
linux·运维·服务器
小雪崩1 小时前
嵌入式学习:Linux驱动开发总结
linux·驱动开发·学习
C++ 老炮儿的技术栈1 小时前
std::atomic 是什么
linux·c语言·网络·c++·visual studio
xixiaoyunya1 小时前
把网站状态巡检自动化:从“每天手动刷一遍”到秒级无人值守
运维·自动化