文章目录

  • 前言
  • 1. 下载Gitlab
  • 2. 安装Gitlab
  • 3. 启动Gitlab
  • 4. 安装cpolar
  • 5. 创建隧道配置访问地址
  • 6. 固定GitLab访问地址
    • 6.1 保留二级子域名
    • 6.2 配置二级子域名
  • 7. 测试访问二级子域名

转载自远控源码文章:Linux搭建GitLab私有仓库,并内网穿透实现公网访问

前言

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。

Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。

下面我们通过在Linux centOS8 中搭建GitLab私有仓库并且结合Cpolar内网穿透工具,实现在公网环境下也可以访问私有仓库Gitlab。

1. 下载Gitlab

在系统中创建一个目录,名字叫GitLab,存放下载的安装包

mkdir /usr/local/gitlab

进入创建的目录

cd /usr/local/gitlab

下载Gitlab安装包,等待下载完成

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-15.0.2-ce.0.el8.x86_64.rpm/download.rpm

2. 安装Gitlab

下载成功后,开始安装Gitlab,首先安装一个工具包,时间很长,等待安装完成:

yum install  policycoreutils-python-utils

然后安装Gitlab,进去我们上面创建的/usr/local/gitlab目录下执行:

rpm -Uvh gitlab-ce-15.0.2-ce.0.el8.x86_64.rpm

安装完成后,更新配置,稍微需要点时间,耐心等待一下,完成后,我们可以看到用户名和密码

gitlab-ctl reconfigure

以下信息我们可以看到用户名和密码,用户名为:root,密码需要单独查看

上面那个路径就是密码路径,查看密码:

cat /etc/gitlab/initial_root_password

3. 启动Gitlab

测试启动,没有出错表示成功

gitlab-ctl start

然后修改访问地址,编辑Gitlab配置文件,

vim /etc/gitlab/gitlab.rb

把external_url的值换成http://127.0.0.1:8088,端口号可以自己指定,这里指定8088,然后保存

修改完后重新加载配置文件

gitlab-ctl reconfigure

然后重新启动Gitlab

sudo gitlab-ctl restart

如果有防火墙,添加防火墙端口:8088

firewall-cmd --zone=public --add-port=8088/tcp --permanent

然后打开浏览器,输入Linux 局域网ip+8088,即可访问成功

输入上面的用户名:root 和上面查看的密码即可登录成功啦

4. 安装cpolar

上面我们在本地Linux虚拟机安装了Gitlab,下面我们安装cpolar内网传统工具,通过cpolar的http公网地址,我们可以很容易远程也可以访问GitLab,而无需自己注册域名.下面是安装cpolar步骤

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:

cpolar authtoken xxxxxxx

  • 向系统添加服务,将cpolar配置为开机自启
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

5. 创建隧道配置访问地址

成功启动cpolar服务后,我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。

登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个http协议的隧道指向上面设置的8088端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8088
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

然后打开在线隧道列表,查看并且复制公网地址

然后打开浏览器,输入公网地址,即可访问成功

6. 固定GitLab访问地址

由于刚刚创建隧道使用的是随机临时地址,该地址会在24小时内发生变化,为了长期远程访问,我们接下来将这个公网地址配置为固定的。

6.1 保留二级子域名

需升级至基础套餐或以上才支持配置二级子域名

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

本例保留一个名称为gitlabTest的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

6.2 配置二级子域名

登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为gitlabTest

修改完成后,点击更新

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。

7. 测试访问二级子域名

打开浏览器,我们来测试一下访问配置成功的二级子域名,测试成功,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。 而且这个地址也不会再随机变化,他是固定不变的,只要保持隧道在线,我们在外就可以通过这个公网地址,随时随地远程访问,无需公网IP,也不用设置路由器。

Linux搭建GitLab私有仓库,并内网穿透实现公网访问相关推荐

  1. 【远程访问】Linux搭建SVN服务器,并内网穿透实现公网远程访问

    文章目录 前言 1. Ubuntu安装SVN服务 2. 修改配置文件 2.1 修改svnserve.conf文件 2.2 修改passwd文件 2.3 修改authz文件 3. 启动svn服务 4. ...

  2. Linux搭建SVN服务器,并内网穿透实现公网远程访问

    文章目录 1. Ubuntu安装SVN服务 2. 修改配置文件 2.1 修改svnserve.conf文件 2.2 修改passwd文件 2.3 修改authz文件 3. 启动svn服务 4. 内网穿 ...

  3. 群晖NAS搭建WebDav服务,并内网穿透实现公网访问

    WebDAV是基于HTTP协议的通信协议.适用于有些客户限制于其他协议,要求使用WebDAV协议进行数据传输的,下面是通过WebDAV协议来访问群晖NAS的设置教程. 1. 在群晖套件中心安装WebD ...

  4. CentOS搭建web服务器,并内网穿透实现公网访问

    在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常 ...

  5. 群晖搭建个人网站,内网穿透实现公网访问 1/3

    系列文章 群晖搭建个人网站,内网穿透实现公网访问 1/3 群晖搭建个人网站,内网穿透实现公网访问 2/3 群晖搭建个人网站,内网穿透实现公网访问 3/3 现代商业活动离不开数据,随着时间推移,企业的数 ...

  6. 群晖搭建个人网站,内网穿透实现公网访问 3/3

    列文章 群晖搭建个人网站,内网穿透实现公网访问 1/3 群晖搭建个人网站,内网穿透实现公网访问 2/3 群晖搭建个人网站,内网穿透实现公网访问 3/3 上一篇: 群晖搭建个人网站,内网穿透实现公网访问 ...

  7. 搭建企业内部Discuz网页论坛,并内网穿透实现公网访问

    小张是一家生产企业的销售部新员工,一次客户提出了一项技术问题,小张作为新人不是很了解,多方询问仍没有满意答案,最后通过公司论坛向生产部板块提问,很快得到专业解答.小张以此答案回复客户后,客户非常满意, ...

  8. Cloudreve搭建云盘系统,并内网穿透实现公网访问

    文章目录 1.前言 2.本地网站搭建 1.环境使用 2.支持组件选择 3.网页安装 4.测试和使用 5.问题解决 3.本地网页发布 1.cpolar云端设置 2.cpolar本地设置 4.公网访问测试 ...

  9. 通过HFS低成本搭建NAS,并内网穿透实现公网访问 2/2

    在上篇文章中,我们向大家展示了如何配置HFS,设置了访问用户和上传下载文件的权限.接下来,我们就可以使用cpolar,建立一条内网穿透数据隧道,让我们能在公共互联网上访问到位于内网的hfs,进行文件的 ...

最新文章

  1. android webview权限申请_android - 在运行时向摄像机请求WebView权限 - 堆栈内存溢出...
  2. C语言数组参数与指针参数
  3. 领域驱动设计:软件核心复杂性应对之道_人人都可以领域驱动设计(一)
  4. 71道经典Android面试题和答案
  5. 雨尘奇偶猫单页SEO系统源码v1.3
  6. 计算机网络及电子邮件的原理,全国2006年4月全国自考计算机网络基本原理真题及答案..doc...
  7. 微信小程序——调查问卷案例
  8. 【老生谈算法】基于matlab时域频域处理的语音信号变声处理系统设计与算法原理(论文+程序源码+GUI图形用户界面)——变声算法
  9. Java毕业设计_智能快递柜的设计与实现
  10. 润乾报表CookBook与使用
  11. ctcpejmu单词_微生物英文单词
  12. Python调用pywin32模拟触屏滑动 刷宝视频,自动刷视频python
  13. ffmpeg裁剪视频尺寸
  14. 教师博客能不能改成学生博客_学生应该博客吗?
  15. 【Go】Go语言中的下划线
  16. linux cp覆盖不提示,cp执行命令,如何直接覆盖不提示
  17. THz:在IoT上的应用
  18. Array王锐大神力作:osg与PhysX结合系列内容——第0节 前言篇
  19. ROS开发之如何使用常用可视化工具?
  20. 运放参数解释及常用运放选型

热门文章

  1. MoxaNP5110使用手记
  2. 十三、缓存雪崩+缓存击穿+缓存穿透
  3. 在IDEA中使用密码连接GitHub报错“lnvalid authentication data. 404 Not Found - NotFound“
  4. dsp怪胎_2011年8月最佳怪胎文章
  5. metaq主要命令——————学习
  6. 【转贴】公务员考试图形推理热点题型分析
  7. util.js 常用
  8. Google Chrome 91.0.4472.124 官方正式版
  9. overleaf的使用
  10. python视频识别_视频人员行为识别(Action Recognition)