Gitlab代码管理工具安装配置

前言:

没有真正的证书与域名建议使用http+ip的方式在内网使用,不建议使用假的域名地址

一、安装前配置

bash 复制代码
#更改主机域名
hostnamectl set-hostname gitlab.dome.com
bash
#配置hosts 底部添加下面内容
vim /etc/hosts
############################
ip  gitlab.dome.com
############################

#下载安装所需配置
yum install -y curl policycoreutils openssh-server openssh-clients postfix
#设置postfifix开机自启(postfifix支持gitlab发信功能)。
systemctl enable postfix && systemctl start postfix

#获取gpg秘钥
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#运行内存大于4G 硬盘大于20G否则测试环境都搭建不了会报错

二、下载安装gitlab

bash 复制代码
#三选其一 按照第一种进行的测试
#1、配置gitlab yum源
vim /etc/yum.repos.d/gitlab-ce.repo
############gitlab-ce.repo###########################
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
###################################################
#更新yum源
yum makecache
#查询是否有gitlab-ce的yum安装包
yum list gitlab-ce
#安装gitlab-ce
yum -y install gitlab-ce

#2、下载gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm

#3、安装gitlab-ce
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum -y install gitlab-ce

三、手动配置ssl证书

bash 复制代码
#创建证书存放文件
mkdir -p /etc/gitlab/ssl
#创建私有密钥
openssl genrsa -out "/etc/gitlab/ssl/gitlab.dome.com.key" 2048
#进入存放文件
cd /etc/gitlab/ssl
#查看创建的私有密钥
ll
#创建私有证书
openssl req -new -key "/etc/gitlab/ssl/gitlab.dome.com.key" -out "/etc/gitlab/ssl/gitlab.dome.com.csr"
###################创建密钥信息####################

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN          CN  ##国家
State or Province Name (full name) []:SX      BJ   ##省份
Locality Name (eg, city) [Default City]:XA    BJ   ##城市  
Organization Name (eg, company) [Default Company Ltd]:    ##空格
Organizational Unit Name (eg, section) []:                ##空格
Common Name (eg, your name or your server's hostname) []:gitlab.example.com    
Email Address []:123456@qq.com                 ##邮箱地址记住等会要登录
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456                ## 密码
An optional company name []:                  ##空格
###################################################

创建CRT签署证书

安装完成,创建好了ssl密钥和证书

在ssl目录下ll

可以看到ssl密钥和证书

利用ssl密钥和证书创建签署证书

bash 复制代码
#创建crt签署证书
openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.dome.com.csr" -signkey "/etc/gitlab/ssl/gitlab.dome.com.key" -out "/etc/gitlab/ssl/gitlab.dome.com.crt"

ll /etc/gitlab/ssl/

用openssl签署pem证书

bash 复制代码
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

更改ssl下的所有证书的权限

bash 复制代码
chmod 600 *

四、配置证书到gitlab证书中

bash 复制代码
vim /etc/gitlab/gitlab.rb 
external_url 'https://gitlab.dome.com'      ###改为https开头
nginx['redirect_http_to_https'] = true           ###取消#号更改注释并为true  1397行
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.dome.com.crt"     ###更改路径
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.dome.com.key"     ###更改路径
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"   ##更改路径###   # Path to dhparams.pem, eg.  /etc/gitlab/ssl/dhparams.pem

更改完之后初始化命令执行

bash 复制代码
#初始化gitlab-ce    如果初始化报错不成功则重启之后再进行初始化
gitlab-ctl reconfigure
#重启gitlab-ce
gitlab-ctl restart

gitlab-ctl restart sidekiq

对nginx进行操作

bash 复制代码
cd /var/opt/gitlab/nginx/conf/
#编辑gitlab-http.conf文件
vim gitlab-http.conf
###########gitlab-http.conf#####################
server_name gitlab.example.com;    #在这个下面添加下面语句
rewrite ^(.*)$ https://$host$1 permanent;      ####需要添加的配置 注:(配置在80端口)
################################

五、重启gitlab

bash 复制代码
#重启gitlab
gitlab-ctl restart

六、在windows系统里面操作

bash 复制代码
在C:\Windows\System32\drivers\etc\hosts 添加以下
##############hosts###########################
192.168.90.218        gitlab.dome.com
##############################################
#验证
ping 192.168.90.218


浏览器登录 gitlab    机器配置要大于4g内存,否则很容易启动不了,报502
浏览器输入:https://gitlab.dome.com

七、查看初始密码

bash 复制代码
#初始管理员账号:root
#查看初始密码 
cat /etc/gitlab/initial_root_password

中文设置

问题处理

若没有真正的证书,建议不要用opssl签署的证书来配置https 协议 gitlab 域名 建议直接用 http协议 否则jenkins引用gitlab会报错一直无法通过用户名密码验证或者密钥验证

gitlab改成http协议

bash 复制代码
#1、修改配置文件gitlab.rb
vim /etc/gitlab/gitlab.rb
#############gitlab.rb 内容只有下面一条其他的可以自己加不过ssl相关需要注释掉##############
external_url 'http://IP地址'
################################################################################
#2、重新获取配置文件
gitlab-ctl reconfigure
#3、重启gitlab
gitlab-ctl restart

#访问地址
http://IP地址
相关推荐
孤寂大仙v25 分钟前
【Linux笔记】理解文件系统(上)
linux·运维·笔记
钢板兽1 小时前
Java后端高频面经——JVM、Linux、Git、Docker
java·linux·jvm·git·后端·docker·面试
byxdaz1 小时前
NVIDIA显卡驱动、CUDA、cuDNN 和 TensorRT 版本匹配指南
linux·人工智能·深度学习
pyliumy2 小时前
在基于Arm架构的华为鲲鹏服务器上,针对openEuler 20.03 LTS操作系统, 安装Ansible 和MySQL
服务器·架构·ansible
大白的编程日记.2 小时前
【Linux学习笔记】Linux基本指令分析和权限的概念
linux·笔记·学习
努力学习的小廉2 小时前
深入了解Linux —— 调试程序
linux·运维·服务器
努力学习的小廉2 小时前
深入了解Linux —— git三板斧
linux·运维·git
只做开心事3 小时前
Linux网络之数据链路层协议
linux·服务器·网络
钡铼技术物联网关3 小时前
ARM嵌入式低功耗高安全:工业瘦客户机的智慧城市解决方案
linux·安全·智慧城市
AI学IT3 小时前
(安全防御)旁挂组网双机热备负载分担实验
运维·服务器·网络