前言

最近在折腾gitlab,本篇记录搭建的过程方便以后查找

环境

Windows server + VMware

安装

为方便本次我们直接采用Bitnami的VOA安装包(VOA格式可同时兼容VirtualBox和VMware),可以直接在虚拟机导入即可。安装包位于这里

打开VMware Workstation, File -> Open, 选择刚刚下载好的VOA文件,根据界面内容进行虚拟机配置。

安装完后,即可进入虚拟机,显示如下:

  • 显示gitlab的url地址,默认web登陆用户'root'及登陆密码
  • 同时显示默认的虚拟机用户和密码: bitnami

静态IP配置

默认虚拟机采用DHCP配置,我们可以自行配置成静态IP。官方文档

  • 使用以下命令获取网络接口名称。通常,接口名称的格式为enXXXX

    sudo ifconfig



    可以看到网络接口名为ens32

  • 通过复制现有配置文件并将其放在/ etc / systemd / network目录中,为网络接口创建配置文件。在此示例中,假设新配置文件名为25-wired.network

    cd /etc/systemd/network
    sudo cp 99-dhcp.network 25-wired.network
  • 编辑新配置文件并将其更新为下面的配置。将INTERFACE-NAME占位符替换为网络接口的实际名称(这里应为ens32),并使用反映本地网络的值更新示例IP地址,网关和DNS服务器

   [Match]
Name=INTERFACE-NAME [Network]
Address=10.1.10.9/24
Gateway=10.1.10.1
DNS=10.1.10.1
  • 保存更改并重新启动虚拟机以使更改生效。

启用SSH连接

默认情况下,在Bitnami虚拟机中SSH服务是禁用的。要启用SSH服务器,请在服务器控制台上执行以下命令:官方文档

sudo rm -f /etc/ssh/sshd_not_to_be_run
sudo systemctl enable ssh
sudo systemctl start ssh

启用后我们就可以通过SSH客户端连接到虚拟机。登陆用户名和密码可以从虚拟机启动时显示界面获取(默认:bitnami)

SSL配置

默认情况下,Bitnami已经帮我们将gitlab配置成了https访问方式,同时也提供了一个测试证书。通过命令编辑查看gitlab配置:

sudo vim /etc/gitlab/gitlab.rb



可以看到bitnami提供给我们的默认证书放在etc/gitlab/ssl/下。

下面我们来生成我们自己的证书(自签证书),同时让google chrome浏览器来识别。参考文档

因本次我们需要生成本地IP的自签证书,ssl.conf配置有点小区别,主要是[alt_names]节点下的DNS.*要更换成IP.*. 完整ssl.conf

[req]
prompt = no
default_md = sha256
default_bits = 2048
distinguished_name = dn
x509_extensions = v3_req [dn]
C = TW
ST = Taiwan
L = Taipei
O = Duotify Inc.
OU = IT Department
emailAddress = admin@example.com
CN = localhost [v3_req]
subjectAltName = @alt_names [alt_names]
IP.1 = 172.30.3.88

使用openssl命令生成

openssl req -x509 -new -nodes -sha256 -utf8 -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt -config ssl.conf

使用WinScp上传

如果你不在bitnami虚拟机里生成证书,就需要将生成的证书(server.key和server.crt)上传到bitnami虚拟机里。

我们使用WinScp sftp协议来上传,由于默认的bitnami登陆用户没有权限来操作etc/gitlab/ssl/目录。必须对WinScp做特别设置,如下:

在新建连接对话框,点击Advance按钮,切换到sftp设置:

切换到shell设置:

完成以上步骤后就可以连上bitnami虚拟机。上传完证书后,最好重启一下虚拟机。

让google chrome浏览器识别证书

默认情况下google chrome并不会识别我们的自签证书,必须将证书导入到我们系统的受信任的根证书颁发机构



安装方法:

  • 双击我们刚才生成的server.crt文件,在对话框中选择 安装证书...

  • 按照向导提示将证书安装到受信任的根证书颁发机构下。

  • 打开chrome浏览器查看:

基于Bitnami gitlab OVA包的gitlab 环境搭建的更多相关文章

  1. 基于全志H3芯片的ARM开发环境搭建

    基于全志H3芯片的ARM开发环境搭建 最近买了个友善之臂的NanoPi M1板子,又在网上申请了个NanoPi NEO板子,这两个都是基于全志H3芯片的Crotex-A7四核ARM开发板,两个板子可以 ...

  2. 基于docker的 Hyperledger Fabric 多机环境搭建(上)

    环境:ubuntu 16.04 Docker  17.04.0-ce go 1.7.4 consoul v0.8.0.4 ======================================= ...

  3. 基于vlc sdk的二次开发--环境搭建、编译

    前言 关于 搭建.编译VLC,不同的平台有不同的方法,可以参考wiki. 其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin.通过测试,最后决定采用MSYS+MinGW搭建 ...

  4. 基于 Android NDK 的学习之旅-----环境搭建

    工欲善其事 必先利其器 , 下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建. 1.Android 开发环境搭建 Android开发环境搭建不是重点,相信看此文章的 ...

  5. 基于Prometheus和Grafana的监控平台 - 环境搭建

    相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据. ...

  6. GitLab篇之Linux下环境搭建

    之前公司一直在使用微软的VSS和SVN做为源代码管理工具,考虑到VSS和SVN的局限性,个人一直建议我们应该采用Git来管理我们的源代码.Git的好处不多说相信大家也都知道的.Git不仅仅是一个源代码 ...

  7. 在windows环境下基于sublime text3的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

  8. 基于cygwin构建u-boot(一)环境搭建

    从本文开始,更系统的描述基于cygwin构建u-boot. 之前<痛苦的版本对齐>系列,对于cygwin环境下Sourcery CodeBench,u-boot-1.1.6的构建有侧面的说 ...

  9. 基于docker的 Hyperledger Fabric 多机环境搭建(下)

    Docker环境部署见上一篇博客:http://www.cnblogs.com/cnblogs-wangzhipeng/p/6994541.html. 我们部署分布式容器服务后就要在上面部署Fabri ...

随机推荐

  1. Qt:移动无边框窗体(使用Windows的SendMessage)

    移动无边框窗体的代码网上很多,其原理都是一样的,但是是有问题的,我这里只是对其修正一下 网上的代码仅仅实现了两个事件 void EditDialog::mousePressEvent(QMouseEv ...

  2. XP系統IIS最大連接數修改

    方法一: 安裝軟件 http://download.microsoft.com/download/iis50/Utility/5.0/NT45/EN-US/MtaEdt22.exe 然後進入  W3S ...

  3. c++用参数返回堆上的空间

    <高质量c++和c编程>7.4 指针参数是如何传递内存的一节中写道 void GetMemory(char *p, int num) { p = (char *)malloc(sizeof ...

  4. 深度强化学习day01初探强化学习

    深度强化学习 基本概念 强化学习 强化学习(Reinforcement Learning)是机器学习的一个重要的分支,主要用来解决连续决策的问题.强化学习可以在复杂的.不确定的环境中学习如何实现我们设 ...

  5. Hexo+NexT(一):在Windows下安装Hexo+NexT及搭建博客

    阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到 ...

  6. devexpress GridView按条件给行号上色

    private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDra ...

  7. MQ消息队列搭建命令及方法

    MQ 是一款稳定.安全又可靠的消息传递中间件.它使用消息和队列来支持应用程序.系统.服务和文件之间的信息交换.它可以简化和加速多个平台中不同应用程序和业务数据的集成.支持各种 API 和语言,并可以在 ...

  8. 编写loadrunner的ftp脚本(详细步骤)

    大家好,主要给大家讲解编写loadrunner的ftp脚本详细步骤,及FTP函数注释,及FTP脚本两种编写方式,手动和录制.亲测 No problem!^_^ 1.首先要了解loadrunner中几个 ...

  9. EditPlus 格式化HTML JS CSS

    首先你得安装一个EditPlus,然后下载你想格式化的xxxformatter.js文件,也就是网上说的EDTOOLS 1.在你的工具里边找到-->配置自定义工具 具体做法如下: 第5步 命令: ...

  10. Kafka 学习之路(一)—— Kafka简介

    一.简介 Apache Kafka是一个分布式的流处理平台.它具有以下特点: 支持消息的发布和订阅,类似于RabbtMQ.ActiveMQ等消息队列: 支持数据实时处理: 能保证消息的可靠性投递: 支 ...