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

操作系统:centos 7.3

1、关闭firewalld防火墙

  #systemctl stop firewalld    //关闭防火墙

  #systemctl disable firewalld  //禁止防火墙开机启动

2、关闭selinux并重启系统(关闭强制访问控制安全策略,可以用getenforce查看selinux状态。)

  #vi /etc/sysconfig/selinux

  ...

  SELINUX=disabled

  ...

  #reboot

二、安装Omnibus Gitlab-ce package

  可以先将yum源切换成国内的yum源,参考:https://opsx.alibaba.com/mirror,点击对应操作系统的帮助,有具体替换的方法。

1、安装Gitlab组件

  #yum -y install cur policycoreutils openssh-server openssh-clients postifx

2、配置Yum仓库(下载gitlab yum仓库源)

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

3、启动postfix邮件服务

  #systemctl start postfix && systemctl enable postfix

4、安装Gitlab-ce社区版

  #yum install -y gitlab-ce

三、配置Gitlab

1、先手动创建一个ssl目录

  #mkdir -p /etc/gitlab/ssl

2、利用Openssl创建创建私有密钥

  #openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048

3、使用刚才创建的私有密钥创建csr证书

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

4、创建crt证书

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

5、创建pem证书

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

6、将/etc/gitlab/ssl下的证书修改为600权限

  #chmod 600 /etc/gitlab/ssl/*

7、修改gitlab配置文件vi /etc/gitlab/gitlab.rb

  将external_url 'http://gitlab.example.com'的http修改为https

  将# nginx['redirect_http_to_https'] = false的注释去掉,修改为nginx['redirect_http_to_https'] = true

  将# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"修改为# nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"

  将# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"修改为# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"

  将# nginx['ssl_dhparam'] = nil 修改为# nginx['ssl_dhparam'] = /etc/gitlab/ssl/dhparams.pem

8、初始化gitlab所有相关配置(比较耗时)

  #gitlab-ctl reconfigure

9、修改gitlab的代理配置文件(/var/opt/gitlab/nginx/conf/gitlab-http.conf)

  #vi /var/opt/gitlab/nginx/conf/gitlab-http.conf

  修改配置项在找到server_name,在server_name下添加如下配置内容:rewrite ^(.*)$ https://$host$1 permanent;

  重启gitlab,使配置生效

  #gitlab-ctl restart

10、在访问的机器上修改hosts文件

  将gitlab服务器的地址添加上gitlab.example.com的配置

  然后访问https://gitlab.example.com

/etc/gitlab/ssl/gitlab.example.com.key

GitLab安装部署与管理的更多相关文章

  1. 一文搞懂GitLab安装部署及服务配置

    GitLab安装部署 Git,GitHub,GitLab,这三个东东长得好像呀,都是个啥? Git是Linus Torvalds(如果不知道这位大神是谁,请出门左转,慢走不送~)为了帮助管理Linux ...

  2. DevOps实践之Gitlab安装部署

    All GitLab packages are posted to our package server and can be downloaded. We maintain five repos: ...

  3. Gitlab安装部署及基础操作

      环境说明 系统版本 CentOS 7.2 x86_64(较新版本的gitlab集成了更多功能,顺利运行起来的硬件要求较高,这里给了3G内存) 软件版本 gitlab-ce-10.8.4 GitLa ...

  4. gitlab安装部署汉化

    1.获取gitlab汉化包(要部署非汉化版,可以跳过这一块内容) 说明:gitlab中文社区版的项目,v7-v8.8是由Larry Li发起的“GitLab 中文社区版项目”(https://gitl ...

  5. CentOS 7 环境下 GitLab安装部署以及账号初始化

    1. 安装相关依赖 yum install curl policycoreutils openssh-server openssh-clients -y # 确保sshd启动(正常情况下, sshd是 ...

  6. gitlab安装部署

    参考文章: https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/install/centos http://www.xsjxmx.com/ ...

  7. Solr7 安装部署 管理界面介绍

    Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...

  8. GitLab - 安装并启动GitLab

    1 - GitLab安装 1.1 信息确认 [Anliven@node102 ~]$ uname -a Linux node102 3.10.0-957.el7.x86_64 #1 SMP Thu N ...

  9. OpenStack安装部署管理中常见问题解决方法

    一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...

随机推荐

  1. Mybatis利用拦截器做统一分页

    mybatis利用拦截器做统一分页 查询传递Page参数,或者传递继承Page的对象参数.拦截器查询记录之后,通过改造查询sql获取总记录数.赋值Page对象,返回. 示例项目:https://git ...

  2. Javascript 初学笔记

    变量作用域 自 ES2015 起,JS 引入let 和 const 关键词定义变量的块作用域(Block Scope). var 仅支持全局作用域(Global Scope)和函数作用域(Functi ...

  3. Ubuntu系统下在PyCharm里用virtualenv集成TensorFlow

    我的系统环境 Ubuntu 18.04 Python3.6 PyCharm 2018.3.2 community(免费版) Java 1.8 安装前准备 由于众所周知的原因,安装中需要下载大量包,尽量 ...

  4. 第四次ScrumMeeting博客

    第四次ScrumMeeting博客 本次会议于10月28日(六)22时整在3公寓725房间召开,持续15分钟. 与会人员:刘畅.辛德泰.窦鑫泽.张安澜.赵奕. 1. 每个人的工作(有Issue的内容和 ...

  5. node项目设置环境变量

    在UNIX系统中: $ NODE_ENV=production node app 在Windows中: $ set NODE_ENV=production $ node app 这些环境变量会出现在程 ...

  6. Sorting a Three-Valued Sequence(三值排序)

    Description 排序是一种很频繁的计算任务.现在考虑最多只有三值的排序问题.一个实际的例子是,当我们给某项竞赛的优胜者按金银铜牌序的时候. 在这个任务中可能的值只有三种1,2和3.我们用交换的 ...

  7. 扩展欧几里德 SGU 106

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=106   题意:求ax + by + c = 0在[x1, x2], [y1, y2 ...

  8. iOS- 关于AVAudioSession的使用——后台播放音乐

    1.前言 •AVAudioSession是一个单例,无需实例化即可直接使用.AVAudioSession在各种音频环境中起着非常重要的作用 •针对不同的音频应用场景,需要设置不同的音频会话分类   1 ...

  9. webpack打包多html开发案例新

    闲来无事在原来简单打包案例的基础上,参考vue-cli的打包代码,改为多文件打包. 区别于上篇文章<webpack打包多html开发案例>,此次打包根据开发的不同环节进行打包,也就是有开发 ...

  10. 关于解决java读取excel文件遇空行抛空指针的问题 !

    关于解决java读取excel文件遇空行抛空指针的问题 ! package exceRead; import java.io.File; import java.io.FileInputStream; ...