安装 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

相关推荐
REDcker1 分钟前
Webpack Rollup Vite三者构建对比详解 开发体验与选型考量
运维·webpack·devops
北极熊kw3 分钟前
FreeBSD 安装 Xrdp 后,远程桌面时只显示白色终端 Xterm
linux·运维·服务器·rdp·freebsd·xterm
枳实-叶4 分钟前
【Linux驱动开发】第二天:内核模块生命周期+内存分配全解
linux·驱动开发
计算机安禾5 分钟前
【Linux从入门到精通】第28篇:文本处理三剑客(中)——sed 流编辑器
linux·服务器·编辑器
多租户观察室6 分钟前
DNS服务器跟普通服务器有什么区别?
运维·服务器
Will_Ye19 分钟前
Ubuntu:系统断网后自动重连指定wifi脚本
linux·运维·ubuntu
学术小白人25 分钟前
【见刊通知】ICGEM E2025、IPAT 2025、AISNS 2026、IEAS 2025、BTFM 2026 等数个会议已见刊
运维·服务器·检索·rdlink研发家·见刊
郝学胜-神的一滴25 分钟前
深入epoll封装:event_set与event_add核心原理剖析
linux·服务器·开发语言·网络·c++·unix
HABuo29 分钟前
【linux(四)】套接字编程--socket套接字及其接口认识
linux·运维·服务器·c语言·c++·ubuntu·centos
凤年徐30 分钟前
命令行进度条完全指南:倒计时、缓冲区刷新与动态下载
linux