找回密码
 立即注册
查看: 389|回复: 0

[linux] Linux本地搭建GitLab服务器 - 内网穿透远程访问

[复制链接]

279

主题

0

回帖

964

积分

超级版主

积分
964
发表于 2024-6-17 11:40:26 | 显示全部楼层 |阅读模式
本帖最后由 Shaw0xyz 于 2024-6-17 12:10 编辑

1. 引言

GitLab 是一种强大的自托管 Git 仓库管理工具,广泛用于版本控制和 DevOps。本文将详细介绍如何在本地搭建 GitLab 服务器,并通过内网穿透技术实现远程访问。这样,即使在家中或公司内网环境中,也可以方便地远程管理代码仓库。

2. 准备工作

在开始搭建 GitLab 服务器之前,需要完成以下准备工作:

2.1 安装必要的软件

确保系统已安装以下软件:

(1) Docker:用于容器化部署 GitLab。
(2) 内网穿透工具:如 ngrok 或 frp,用于实现内网穿透。

2.2 系统要求

GitLab 对硬件和操作系统有一定要求。建议使用至少 4GB 内存和 2 核 CPU 的服务器,并安装最新版本的 Ubuntu 或 CentOS。

3. 搭建本地 GitLab 服务器

3.1 安装 Docker

在终端中执行以下命令安装 Docker:

  1. sudo apt-get update
  2. sudo apt-get install -y docker.io
复制代码


启动并设置 Docker 开机自启动:

  1. sudo systemctl start docker
  2. sudo systemctl enable docker
复制代码


3.2 拉取 GitLab 镜像

使用 Docker 拉取官方 GitLab 镜像:

  1. sudo docker pull gitlab/gitlab-ce:latest
复制代码


3.3 配置并启动 GitLab 容器

创建用于存储 GitLab 数据的目录:

  1. sudo mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data
复制代码


启动 GitLab 容器:

  1. sudo docker run --detach \
  2.   --hostname gitlab.example.com \
  3.   --publish 443:443 --publish 80:80 --publish 22:22 \
  4.   --name gitlab \
  5.   --restart always \
  6.   --volume /srv/gitlab/config:/etc/gitlab \
  7.   --volume /srv/gitlab/logs:/var/log/gitlab \
  8.   --volume /srv/gitlab/data:/var/opt/gitlab \
  9.   gitlab/gitlab-ce:latest
复制代码


替换 `gitlab.example.com` 为你的实际域名或 IP 地址。

4. 内网穿透实现远程访问

4.1 安装 ngrok

ngrok 是一种流行的内网穿透工具。以下步骤展示如何安装和使用 ngrok。

下载 ngrok:

  1. curl -s <a href="https://ngrok-agent.s3.amazonaws.com/ngrok.asc" target="_blank">https://ngrok-agent.s3.amazonaws.com/ngrok.asc</a> | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc > /dev/null &&
  2. echo "deb <a href="https://ngrok-agent.s3.amazonaws.com" target="_blank">https://ngrok-agent.s3.amazonaws.com</a> buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list &&
  3. sudo apt update && sudo apt install ngrok
复制代码


启动 ngrok:

  1. ngrok http 80
复制代码

ngrok 启动后会生成一个外网可访问的 URL,通过该 URL 可以远程访问本地 GitLab 服务器。

4.2 配置 frp

frp(Fast Reverse Proxy)是一种强大的内网穿透工具,适合需要长期运行的场景。

下载并配置 frp:

(1) 在服务器和客户端分别下载 frp 并解压。
(2) 配置 frps.ini(服务器端配置文件):

  1. [common]
  2. bind_port = 7000
复制代码


(3) 配置 frpc.ini(客户端配置文件):

  1. [common]
  2. server_addr = your_server_ip
  3. server_port = 7000

  4. [http]
  5. type = http
  6. local_port = 80
  7. custom_domains = gitlab.example.com
复制代码

启动 frp:

在服务器端启动 frp 服务端:

  1. ./frps -c ./frps.ini
复制代码

在客户端启动 frp 客户端:

  1. ./frpc -c ./frpc.ini
复制代码

通过 `gitlab.example.com` 访问本地 GitLab 服务器。

5. 结论

通过上述步骤,成功在本地搭建了 GitLab 服务器并实现了内网穿透远程访问。无论是使用 ngrok 还是 frp,都能方便地在任何地方访问和管理本地 GitLab 服务器。希望本文对您有所帮助,并能够顺利搭建自己的 GitLab 服务器。





/ 荔枝学姐de课后专栏 /

Hi!这里是荔枝学姐~

欢迎来到我的课后专栏

自然语言学渣 NLP摆烂姐

热衷于技术写作 IT边角料

AIGC & Coding & linux ...

~互撩~ TG: @Shaw_0xyz

荔枝学姐爱吃荔枝!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-5 02:23 , Processed in 0.065626 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表