CentOS6中安装、配置、启动GitLab以及遇到的那些坑

场景

GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似,
可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器
上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放
在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

安装相关依赖

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

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

安装成功之后

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

确认SSH服务的启动状态以及是否设置为开机启动

可以参考如下博客:

CentOS配置启动ssh与开机自启

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/116265771

安装并设置postfix开机自启

postfix支持gitlab发信功能

yum -y install postfix

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

然后启动

/etc/init.d/postfix start

然后设置为开机启动

chkconfig postfix on

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

可以通过

ps -ef | grep postfix

查看是否启动成功

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

开放shh以及http服务,然后重新加载防火墙列表

service iptables status

查看防火墙状态

vi /etc/sysconfig/iptables

编辑防火墙的配置文件

这里开放SSH的22端口以及后面要计划开放的gitlab的82端口

#SSH
-A INPUT -p tcp --dport 22 -j ACCEPT
#HTTP
-A INPUT -p tcp --dport 82 -j ACCEPT

将这两个配置加到配置文件中

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

然后重启防火墙

service iptables restart

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

下载gitlab包并安装

为了避免镜像源导致下载的各种问题,这里直接去国内镜像站去下载

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

将rpm包上传到服务器上某路径下,可以使用xftp等工具进行上传

安装

rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm

但是这里提示:

##error: Failed dependencies:

policycoreutils-python is needed by gitlab-ce-

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

这里需要

yum install policycoreutils-python

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

来安装相关依赖。

然后再执行上面的安装gitlab的命令

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

这样的话gitlab就安装成功了。

修改gitlab的配置

通过命令

vi /etc/gitlab/gitlab.rb

编辑gitlab的配置文件

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

找到external_url的地方,将后面的内容改为服务器的ip和端口号,这里是上面开放的82端口号

然后刷新gitlab的配置

gitlab-ctl reconfigure

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

这里刷新配置的时间较长,等待完成之后,重新启动gitlab

gitlab-ctl restart

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

访问gitlab页面

以上都设置完成之后,正常情况下可以直接在浏览器中通过ip:端口号的方式访问到。

但是这里又遇到了问题,访问不到gitlab的页面。

首先去排查了gitlab的端口是否修改成功,以及防火墙的对应端口是否开放。

以上没问题后

这时候查看gitlab的运行日志

sudo gitlab-ctl tail

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

可以看到一直在输出

[emerg] 7037#0: bind() to 0.0.0.0:8060 failed (98: Address already in use)

按照提示来看是8060端口被占用了。

所以首先检查8060端口被哪个进程占用

lsof -i tcp:8060

然后可以看到是被pid为2315的所占用

然后查看2315的具体的位置

ps 2315

然后就能定位这个进程所在的具体位置,确定定这个位置下的进程可以进程关闭后,通过

kill -9 2315

杀死此进程

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

然后重启gitlab

sudo gitlab-ctl restart

然后再查看gitlab的运行日志已经不报错了

 

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

此时再通过ip和端口的方式访问gitlab已经可以了。

CentOS6中安装、配置、启动GitLab以及遇到的那些坑

 

 

上一篇:centos6系统下载--国内镜像站点


下一篇:CentOS6原始应答文件anaconda-ks.cfg内容