RedHat离线安装Gitlab

由于在局域网中无法使用互联网的资源, 因此在内网的Linux上安装Gitlab需要做一些准备工作!

使用yum安装Gitlab
由于redhat的yum源是收费的, 因此当使用redhat的yum源安装依赖时, 会报not register...的异常, 解决的方案是将redhat的yum源切换成Centos系统的yum源, Centos的yum源是免费的, 切换步骤如下:

1. 上传Centos镜像文件

将Centos的镜像文件上传到Linux某个目录下, 此时上传的Centos的镜像文件最好是evething版本的, 防止后期某些依赖需要另外下载

mkdir /data #创建一个data文件夹,把上传的iso镜像放到这个data目录下

2. 挂载镜像文件

将上传的Centos镜像文件挂载到Linux下的某个目录

mount -o loop /data/CentOS-6.8-x86_64-bin-DVD1.iso /mnt/centos6.8/
ps:(mount命令 -o指定选项,loop用来把一个文件当成硬盘分区mount到目录

3. 编辑repo文件

进入/etc/yum.repos.d/目录下, 将原有的以.repo结尾的文件做备份, 并新建一个新的repo文件

mkdir bak #新建一个空文件夹, 用于备份repo文件
mv *.repo bak/ #将原有的repo文件移动到bak文件夹下
vi centos.repo #新建一个repo文件

在新增的repo文件中加入以下内容:

[centos6.8]
name=centos6.8
baseurl=file:///mnt/centos6.8/
enabled=1
gpgcheck=0

4. 更新yum的本地数据库

yum update

至此, redhat的yum源切换完成
注意, 此时挂载的yum源是临时的, 开机重启之后需重新手动挂载,可通过以下方式实现自动挂载

cd /etc/init.d/

vim centosyum.sh  (文件名自定义)

在新增的文件中添加如下内容:

#! /bin/bash
#add for chkconfig
#chkconfig: 2345 70 30
#description: mount yum        #简短描述
#processname: centosyum            #进程名
mount -o loop /data/CentOS-6.8-x86_64-bin-DVD1.iso /mnt/centos6.8/ 

5. 安装依赖

yum install -y curl policycoreutils-python openssh-server cronie

6. 离线下载gitlab-ce并上传Linux

在互联网上下载gitlab-ce的rpm包, 并上传到Linux中

7. yum本地安装gitlab

EXTERNAL_URL="http://192.168.220.130" yum localinstall gitlab-ce-10.4.0-ce.0.el7.x86_64.rpm

8. 关闭防火墙

1. 永久性生效
开启:chkconfig iptables on

关闭:chkconfig iptables off

2. 即时生效,重启后失效
开启:service iptables start

关闭:service iptables stop

补充:
a. 防火墙还需要关闭ipv6的防火墙:
chkconfig ip6tables off

并且可以通过如下命令查看状态:
chkconfig --list iptables

b. selinux状态可以通过以下命令查看:
sestatus

9. 查看gitlab的状态

gitlab-ctl status

[root@localhost yum.repos.d]# gitlab-ctl status
run: gitaly: (pid 47342) 2617s; run: log: (pid 46584) 2745s
run: gitlab-monitor: (pid 47376) 2616s; run: log: (pid 46938) 2704s
run: gitlab-workhorse: (pid 47356) 2616s; run: log: (pid 46690) 2734s
run: logrotate: (pid 46811) 2717s; run: log: (pid 46810) 2717s
run: nginx: (pid 46761) 2724s; run: log: (pid 46760) 2724s
run: node-exporter: (pid 46885) 2711s; run: log: (pid 46884) 2711s
run: postgres-exporter: (pid 47398) 2615s; run: log: (pid 47095) 2681s
run: postgresql: (pid 46252) 2860s; run: log: (pid 46251) 2860s
run: prometheus: (pid 47386) 2616s; run: log: (pid 47031) 2692s
run: redis: (pid 46126) 2871s; run: log: (pid 46125) 2871s
run: redis-exporter: (pid 46981) 2699s; run: log: (pid 46980) 2699s
run: sidekiq: (pid 46523) 2757s; run: log: (pid 46522) 2757s
run: unicorn: (pid 46459) 2763s; run: log: (pid 46458) 2763s

10. 更新gitlab的配置

(可略过次操作)

gitlab-ctl reconfigure

最后, 通过浏览器访问gitlab, http://ip, gitlab安装完毕后默认端口是80, 浏览器的默认端口也是80

你可能感兴趣的:(RedHat离线安装Gitlab)