Linux本地搭建GitLab服务器 - 内网穿透远程访问
本帖最后由 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:
sudo apt-get update
sudo apt-get install -y docker.io
启动并设置 Docker 开机自启动:
sudo systemctl start docker
sudo systemctl enable docker
3.2 拉取 GitLab 镜像
使用 Docker 拉取官方 GitLab 镜像:
sudo docker pull gitlab/gitlab-ce:latest
3.3 配置并启动 GitLab 容器
创建用于存储 GitLab 数据的目录:
sudo mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data
启动 GitLab 容器:
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
替换 `gitlab.example.com` 为你的实际域名或 IP 地址。
4. 内网穿透实现远程访问
4.1 安装 ngrok
ngrok 是一种流行的内网穿透工具。以下步骤展示如何安装和使用 ngrok。
下载 ngrok:
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 &&
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 &&
sudo apt update && sudo apt install ngrok
启动 ngrok:
ngrok http 80
ngrok 启动后会生成一个外网可访问的 URL,通过该 URL 可以远程访问本地 GitLab 服务器。
4.2 配置 frp
frp(Fast Reverse Proxy)是一种强大的内网穿透工具,适合需要长期运行的场景。
下载并配置 frp:
(1) 在服务器和客户端分别下载 frp 并解压。
(2) 配置 frps.ini(服务器端配置文件):
bind_port = 7000
(3) 配置 frpc.ini(客户端配置文件):
server_addr = your_server_ip
server_port = 7000
type = http
local_port = 80
custom_domains = gitlab.example.com
启动 frp:
在服务器端启动 frp 服务端:
./frps -c ./frps.ini
在客户端启动 frp 客户端:
./frpc -c ./frpc.ini
通过 `gitlab.example.com` 访问本地 GitLab 服务器。
5. 结论
通过上述步骤,成功在本地搭建了 GitLab 服务器并实现了内网穿透远程访问。无论是使用 ngrok 还是 frp,都能方便地在任何地方访问和管理本地 GitLab 服务器。希望本文对您有所帮助,并能够顺利搭建自己的 GitLab 服务器。
/ 荔枝学姐de课后专栏 /
Hi!这里是荔枝学姐~
欢迎来到我的课后专栏
自然语言学渣 NLP摆烂姐
热衷于技术写作 IT边角料
AIGC & Coding & Linux ...
~互撩~ TG: @Shaw_0xyz
页:
[1]