前置准备:虚拟机安装以及配置相关

包含安装 centos7、8 虚拟机、设置静态 ip 等

https://www.cnblogs.com/poloyy/category/1703784.html

注意:我用的是 centos 7

官方安装教程

https://about.gitlab.com/install/

安装 Gitlab 前系统预配置准备工作

关闭 firewalld 防火墙

# 看防火墙状态
systemctl status firewalld # 暂停运行防火墙
systemctl stop firewalld # 看防火墙状态
systemctl status firewalld # 禁止防火墙自启
systemctl disable firewalld # 看防火墙状态
systemctl status firewalld

关闭 selinux 强制访问安全策略

保证该策略不会影响 gitlab 正常运行

# 第一步 关闭selinux
vim /etc/sysconfig/selinux
....
SELINUX = disabled
.... # 第二步重启虚拟机
reboot

验证是否已关闭成功

[root@localhost ~]# getenforce
Disabled

安装 Omnibus Gitlab-ce package

Omnibus

  • 综合性
  • Gitlab 为了方便大家快速上手,推出这个包,一键下载安装 Gitlab 需要的依赖、组件、配置
  • 如果用源代码的安装方式,会比较繁琐、

安装 Gitlab 组件

yum -y install curl policycoreutils openssh-server openssh-clients postfix perl

配置 Gitlab yum 仓库源

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

启动 postfix 邮件服务

systemctl start postfix && systemctl enable postfix

安装 Gitlab-ce 社区版本

记住是社区版本,所以是免费的

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

这里其实就可以通过浏览器访问你的 Gitlab 了,但还有一些操作要做

本地 hosts 文件,配置域名和虚拟机 IP

为什么要做这一步

因为我们是通过虚拟机需搭建社区版 Gitlab 的,上面安装 gitlab-ce 的时候也指定了相对 URL,为的就是更方便访问 Gitlab,有一个域名(就是下面这部分操作)

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

配置 hosts

window 电脑下 Ctrl + X

访问 gitlab

如果遇到 502 的问题

参考这篇博客

https://www.cnblogs.com/poloyy/p/14690030.html

Gitlab 相关配置初始化并完成安装

证书创建与配置加载

# 创建一个目录
mkdir -p /etc/gitlab/ssl # 创建私钥
openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048

使用私钥创建 csr 证书

openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"

查看是否创建成功私钥和 csr 证书

cd /etc/gitlab/ssl
ll

利用私钥和 csr 证书创建 crt 签署证书

openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"

生成 pm 证书

openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

到此为止,所有证书已经都生成成功!

修改所有证书的权限

chmod 600 *

编辑 Gitlab 的配置文件

将所有证书配置到配置文件当中

vim /etc/gitlab/gitlab.rb

修改以下内容

external_url "https://gitlab.example.com"
nginx['redirect_http_to_https'] = true

初始化 Gitlab 所有配置

gitlab-ctl reconfigure

最后的 Notes 翻译

无伤大雅

  • 似乎在配置GitLab实例时尚未指定初始root密码。
  • 首次访问GitLab实例时,系统会显示一个屏幕,用于设置
  • 默认管理员帐户的密码,用户名为“ root”。

Nginx SSL 代理服务配置

更改 Gitlab HTTP 配置文件

vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

rewrite ^(.*)$ https://$host$1 permanent;

重启 Gitlab

gitlab-ctl restart

Gitlab(2)- centos7.x 下安装社区版 Gitlab 以及它的配置管理的更多相关文章

  1. Mac下安装社区版MongoDB

    MongoDB下载地址:https://www.mongodb.com/download-center?_ga=2.98072543.1777419256.1515472368-391344272.1 ...

  2. 【CNMP系列】CentOS7.0下安装MySql5.6服务

    接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...

  3. Gitlab在Centos7上的安装

    一 官网说明 安装步骤:https://about.gitlab.com/install/#centos-7 安装说明:本文只是用来给微服务当配置中心,只是较浅的记录一下安装步骤,后面会详细讲解及在d ...

  4. Centos7.2下安装redis&通用键值命令

    Centos7.2下安装redis&通用键值命令 Centos7.2下安装redis 官方网站:https://redis.io/ 1.进入/usr/local/src/目录 cd /usr/ ...

  5. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  6. Linux centos7环境下安装JDK的步骤详解

    Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令:   java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...

  7. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  8. 【CNMP系列】CentOS7.0下安装PHP5.6.30服务

    上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204 附上一节地址:http://www.cnblogs.co ...

  9. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

随机推荐

  1. Nature | 多层次蛋白质组学综合分析冠状病毒侵染宿主细胞的分子机制

    冠状病毒是一种自然界普遍存在的单股正链RNA病毒,电镜下呈日冕状或皇冠状,故命名为冠状病毒.在本世纪初短短20年中,共爆发了三次冠状病毒疫情,即2003年SARS-CoV.2012年MERS-CoV和 ...

  2. rollup 开发环境搭建

    rollup 开发环境搭建 初始化项目使用lerna管理项目 使用npm init 初始化项目 npm init -y 安装lerna并初始化项目 npm install lerna --save-d ...

  3. 去掉文件中的^M

    一般情况下用:set ff=unix就可以解决问题,如果无效,用下面的方法手工完成: :%s/[ctrl+v] [ctrl+m]//g ctrl+v表示按住Ctrl键再按下v键.

  4. JavaScript学习06(操作BOM和表单)

    操作BOM window 所有浏览器都支持 window 对象.它代表浏览器的窗口. 所有全局 JavaScript 对象,函数和变量自动成为 window 对象的成员. 全局变量是 window 对 ...

  5. 如何请求一个需要登陆才能访问的接口(基于cookie)---apipost

    在后台在开发.调试接口时,常常会遇到需要登陆才能请求的接口. 比如:获取登陆用户的收藏列表,此时,我们就需要模拟登陆状态进行接口调试了.如图: 今天,我们讲解利用ApiPost的环境变量,解决这种需要 ...

  6. DVWA(二): Brute Force(全等级暴力破解)

    tags: DVWA Brute Force Burp Suite Firefox windows2003 暴力破解基本利用密码字典使用穷举法对于所有的账号密码组合全排列猜解出正确的组合. LEVEL ...

  7. miniFTP项目实战一

    项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...

  8. 一张图带你搞懂Node事件循环

    说一件重要的事儿:你还没关注公众号[前端印记],更多精彩内容等你探索-- 以下全文7000字,请在你思路清晰.精力充沛的时刻观看.保证你理解后很长时间忘不掉. Node事件循环 Node底层使用的语言 ...

  9. 题解—P3000 [USACO10DEC]Cow Calisthenics G

    做这题之前最好学会 "树形 \(dp\) 求树的直径"这一前缀知识(虽然我会但是我还是没想出来) 几乎想到要求直径这道题也没什么问题了(这不是废话吗,为什么题面里给了"直 ...

  10. 算法入门 - 基于动态数组的栈和队列(Java版本)

    之前我们学习了动态数组的实现,接下来我们用它来实现两种数据结构--栈和队列.首先,我们先来看一下栈. 什么是栈? 栈是计算机的一种数据结构,它可以临时存储数据.那么它跟数组有何区别呢? 我们知道,在数 ...