前言

最近在折腾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. 使用MSYS2环境中编译Qt5.5.0的补丁

    Qt的configure脚本对MinGW静态编译支持不太完善,总有这样那样的问题.如果你不嫌麻烦,而且可以接受高版本的Qt的话,可以考虑使用我做的补丁在MSYS2环境中编译.Qt5.4.2的补丁 Qt ...

  2. JavaWeb实现上传文件

    需要 commons-io与commons-fileupload 首先在jsp中创建一下布局 <%@ page contentType="text/html;charset=UTF-8 ...

  3. React性能优化之PureComponent 和 memo使用分析

    前言 关于react性能优化,在react 16这个版本,官方推出fiber,在框架层面优化了react性能上面的问题.由于这个太过于庞大,我们今天围绕子自组件更新策略,从两个及其微小的方面来谈rea ...

  4. 【粗略版】Linux deploy手机上创建自己的服务器

    偶尔看见了一篇安卓手机z安装linux的文章,正好自己有一个旧手机,心里有个大胆的想法. 简单来说,就是把旧手机安装linux然后装上容器,尝试部署一个简单项目,下面会记录下过程: 首先了解下这个软件 ...

  5. PATB 1018. 锤子剪刀布

    时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图 ...

  6. 异常:Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]

    内容中包含 base64string 图片造成字符过多,拒绝显示

  7. 用.NET Core实现一个类似于饿了吗的简易拆红包功能

      需求说明 以前很讨厌点外卖的我,最近中午经常点外卖,因为确实很方便,提前点好餐,算准时间,就可以在下班的时候吃上饭,然后省下的那些时间就可以在中午的时候多休息一下了. 点餐结束后,会有一个好友分享 ...

  8. 记一次linux通过jstack定位CPU使用过高问题或排查线上死锁问题

    一.java定位进程 在服务器中终端输入命令:top 可以看到进程ID,为5421的cpu这列100多了. 记下这个数字:5421 二.定位问题进程对应的线程 然后在服务器中终端输入命令:top -H ...

  9. 微服务-springcloud-注册中心

    创建服务注册中心(eureka-server) 1.创建项目,选择 Eureka Server 别的都不要选择,next-finish 2.application.yml中写入如下信息:通过eurek ...

  10. vue.js 解决跨域问题

    我们调试vue.js代码的时候一般都用chrome, 下载插件 进入chrome应用商店 搜索 重启chrome就可以解决跨域问题