centos7离线安装gitLab

一、前言

二、相关依赖准备

三、下载

四、安装

一、前言

在项目开发中都需要代码托管仓库来对开发中的代码进行管理,主流的两大代码托管仓库SVN(subversion)和GitHub。GitHub是很适合的开源项目代码托管,但在很多企业前期开发中需要建立私有仓库来管理代码,所以企业开发用的最多的还是gitLab。二者的区别这里不做过多讲解。感兴趣的朋友可以自己去查阅资料。 本文参考:centOS7 安装gitlab 转 亲测实用

Centos 7搭建Gitlab服务器超详细

Centos7 搭建Gitlab服务器并配置项目全过程

特此感谢!

二、相关依赖准备

gitlab前要安装相关依赖。需要用到policycoreutils-python、openssh、postfix组件, 首先确认通过命令确认是否安装组件。 查看是否安装Openssh

$ rpm -qa|grep openssh

出现以下内容则证明已安装openssh

centos7离线安装fuser centos7离线安装gitlab_服务器

查看是否安装postfix

$ rpm -qa|grep postfix

出现以下内容则证明已安装成功

centos7离线安装fuser centos7离线安装gitlab_服务器_02

查看是否安装policycoreutils-python

$ rpm -qa|grep policycoreutils-python

出现以下内容则证明安装成功

centos7离线安装fuser centos7离线安装gitlab_服务器_03

如果使用命令发现并没有安装,则查看yum源中是否有相关rpm包, 使用命令查看是否有openssh的rpm包

$ yum list | grep openssh

centos7离线安装fuser centos7离线安装gitlab_git_04

使用命令安装rpm包

$ yum -y install openssh.x86_64 $yum -y install openssh-server.x86_64 $yum -y install openssh-clients.x86_64

policycoreutils-python与postfix安装同上。如果yum源中也没有对应的rpm包,就只能先从网上下载好对应的rpm包后在安装。考虑到有很多依赖需要其他依赖的支持,从而引出一系列问题,本文推荐使用完整版centos7的yum源,这样安装起来需要的相关依赖也会自动下载,也为以后的中间件安装做准备。想要研究一下单独安装的朋友请自行查阅资料,不在本文进行讲解,后续可能会出一些比较典型的依赖离线安装,敬请期待!

三、下载

基础版centos7.5的yum源某云地址(可满足绝大多数依赖需求):https://pan.baidu.com/s/1Pz4MSgLOQxqo8hoPHXJXtw

提取码:0h6a

gitlab下载地址:https://packages.gitlab.com/gitlab/gitlab-ce 觉得慢的可以使用清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

以git官方地址为例:

选择el/7版本

  • EL7 软件包用于在Red Hat 7.x, CentOS 7.x, and CloudLinux 7.x的安装 点击下载

四、安装

将下载好的gitlab安装包通过wincsp工具上传到目标服务器。

将ssh服务设置开机启动

$ systemctl enable sshd

启动ssh服务

$ systemctl start sshd

查看ssh服务状态

$ systemctl status sshd

active(running)表示ssh服务已启动

centos7离线安装fuser centos7离线安装gitlab_centos7离线安装fuser_05

默认防火墙firewall是安装好并开启的,如需了解防火墙相关操作请参考此篇文章:centos7防火墙开启与关闭及开通策略

将http服务策略添加到防火墙

$ firewall-cmd --permanent --add-service=http

重启防火墙使之生效

$ systemctl reload firewalld

设置postfix开机启动

$ systemctl enable postfix

启动postfix服务

$ systemctl start postfix

查看postfix服务状态

$ systemctl status postfix

active(running)表示postfix服务已启动

centos7离线安装fuser centos7离线安装gitlab_gitlab_06

做好以上准备后接下来就可以安装gitlab了,cd到上传gitlab安装包的目录中,使用rpm命令安装gitlab

$ rpm -i gitlab-ce-12.1.17-ce.0.el7.x86_64.rpm

出现以下内容则说明安装成功了

centos7离线安装fuser centos7离线安装gitlab_centos7离线安装fuser_07

修改gitlab登录地址

$ vim /etc/gitlab/gitlab.rb

centos7离线安装fuser centos7离线安装gitlab_gitlab_08

使用命令重置gitlab

$ gitlab-ctl reconfigure

整个过程需要几分钟,我安装时用了6分25秒

centos7离线安装fuser centos7离线安装gitlab_gitlab_09

使用命令重启gitlab

$ gitlab-ctl restart

centos7离线安装fuser centos7离线安装gitlab_git_10

重启后浏览器登录gitlab出现502报错

centos7离线安装fuser centos7离线安装gitlab_rpm包_11

查阅资料很多安装的博主都说是权限问题,执行以下命令赋权

$ chmod -R 755 /var/log/gitlab

赋权后重置gitlab配置

$ gitlab-ctl reconfigure

发现还是不行,于是又找了度娘,很多博主都强调了一点,gitlab启动至少要4gb的运行内存,不然会出现各种奇怪的错误。

centos7离线安装fuser centos7离线安装gitlab_git_12

无奈个人电脑配置较低,安装虚拟机时只分配了1gb内存,偷偷找了公司测试环境的服务器按照步骤重新装了一遍,公司的虚拟机时16c/32g的配置,安装后登录发现还是502!我炸了,接着度娘,最后还是把我的问题找到了,安装过程中/etc/gitlab/gitlab.rb配置文件中unicorn[‘port’]这个配置默认使用的是8080端口,如果这个端口被占用了 是要修改端口的,查看日志

$ tail -400f /var/log/gitlab/unicorn/unicorn_stderr.log

果然是端口被占用

centos7离线安装fuser centos7离线安装gitlab_服务器_13

修改/etc/gitlab/gitlab.rb配置文件端口号

centos7离线安装fuser centos7离线安装gitlab_服务器_14

重置gitlab配置

$ gitlab-ctl reconfigure

使用浏览器登录发现成功了

centos7离线安装fuser centos7离线安装gitlab_git_15

第一次登录需要设置密码,在输入框输入自己将要设定的管理员密码,点击Change your password按钮跳转到登录页面,输入用户名root,密码为你刚刚设置好的密码,点击登录

centos7离线安装fuser centos7离线安装gitlab_服务器_16

显示一下内容则说明登录成功

centos7离线安装fuser centos7离线安装gitlab_git_17

gitlab默认是英文界面,我们可以设置中文,首先点击右上角头像选择settings

centos7离线安装fuser centos7离线安装gitlab_git_18

然后选择左侧栏preferences

centos7离线安装fuser centos7离线安装gitlab_git_19

下拉找到language选择中文简体,点击save changes

centos7离线安装fuser centos7离线安装gitlab_gitlab_20

重新登录即可显示中文

centos7离线安装fuser centos7离线安装gitlab_服务器_21

至此,gitlab的安装已经完成了,后续会讲到如何新建用户、新建仓库等一系列配置。