CentOS7上安装gitlab

摘要:记录一下在使用一块 I3 3代的板子安装 CentOs7.8系统及安装gitlab的一整个流程记录。其中包含安装过程中遇到的各种问题及解决办法

成功的安装上了最新 12.10.5-ee 版本,遗憾的是只能使用 gitlab 自身中文功能。没有使用上汉化包。目前汉化包版本为 12.3.5,两者版本有区别。如果是方法不对,有知道的小伙望指点一下

centos安装

安装的换不做太多的介绍,对安装源进行记录一下。可以参照上一篇:Windows系统安装进行系统制作和VMware 安装 Centos7 超详细过程


安装源
阿里云:
http://mirrors.aliyun.com/centos/7/isos/x86_64/
centos官网:
http://isoredirect.centos.org/centos/7/isos/x86_64/
http://isoredirect.centos.org/centos/
对版本做一个列表
阿里云
名称(英文)名称(中文)概述
DVD标准版推荐下载这个
Everything完整版集成所有软件(以用来补充系统的软件或者填充本地镜像)
LiveGNOMEGNOME桌面版
LiveKDE KDE桌面版
Minimal精简版自带的软件最少
NetInstall网络安装版从网络安装或者救援系统
centos官方网址
名称概述
x86_64常说的主流的64位架构,代表厂家有Intel、AMD
aarch64arm架构的64位系统,基于armv8指令集的64位架构,应该是后续ARM主流商用服务器的标准
armhfp主要是对armv7hl兼容,支持基于arm的一系列单板计算机和嵌入式设备
i386已经即将被淘汰的x86的以奔腾系列位代表的32位架构
power9对应IBM的power9架构cpu
ppc64IBM power系列架构,目标架构为64位PowerPC和Power Architecture处理器,并对此优化的应用程序的标识符,编译源代码时经常使用
ppc64le纯小端模式,POWER8作为首要目标,OpenPower基金会基础的技术,试图使基于x86的Linux软件的移植工作以最小的工作量进行
这里在安装 Centos 查看版本的时候,遇到了一个小问题。查看版本时,提示``bash:lsb_release:未找到命令``,可以查看 CentOS 7 命令lsb_release: command not found解决方案
getconf LONG_BIT		#查看Linux系统位数
lsb_release -a		#查询linux系统版本/确认lsb_release是否安装
yum install -y redhat-lsb		#使用yum安装lsb

gitlab安装

gitlab下载安装

安装主要参照gitlab官网的提示进行安装Install self-managed GitLab

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd		#开机启动sshd
sudo systemctl start sshd		#启动sshd

sudo firewall-cmd --permanent --add-service=http		#防火墙添加http服务
sudo firewall-cmd --permanent --add-service=https		#防火墙添加https服务
sudo systemctl reload firewalld		#重启防火墙
sudo yum install postfix		
sudo systemctl enable postfix
sudo systemctl start postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash		
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee		
#这里可以不修改这个地址,后面再修改。因为修改了基本后面还是要修改。

以上运行安装一般都不会有什么错。完成后,检查gitlab的运行相关运行状态。

/opt/gitlab/embedded/bin/psql --version		#查看PostgreSQL版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION		#查看gitlab的版本
gitlab-ctl status		# 查看gitlab运行状态
gitlab-ctl stop		# 关闭gitlab运行
gitlab-ctl start		# 开启gitlab
gitlab-ctl reconfigure		#重新配置gitlab配置文件
gitlab restart		#重启gitlab

检测确保gitlab出在运行状态后,开心的在准备在浏览器磨刀赫赫了。不要慌,这里几乎都会出现不能在浏览器上进行访问。参照 Omnibus gitlab docs 中常见问题,答案如下图:

从中可以获取两个信息,1. 检查端口是否放开。2. 指定一个``external_url`` 。首先,我们还是尝试打开一下提到的 80,443 端口。
firewall-cmd --zone=public --add-port=80/tcp --permanent		# 开放80端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent		# 开放8080端口
firewall-cmd --zone=public --add-port=443/tcp --permanent		# 开放443端口
firewall-cmd --reload		# 配置立即生效
firewall-cmd --zone=public --list-ports		#查看防火墙所有开放的端口
打开所需端口后,刷新?重新输入加载? wahat,还是不行。还是干脆的关闭防火墙吧。
systemctl status firewalld		#查看防火墙状态
systemctl stop firewalld		#关闭防火墙
systemctl start firewalld		#启动防火墙

具体防火墙相关可以参照 Centos 7 systemctl和防火墙firewalld命令,关闭防火墙后。忐忑的心终究还是放下来,不能访问。只能对最后一招保佑梦想了。

vi /etc/gitlab/gitlab.rb		#进入gitlab的配置文件
external_url "https://gitlab.example.com"

在最后追加指定的 url, gitlab.example.com 这一部分修改为你喜欢的域名地址。其中自己试了一下将 https 修改 http 也是可以访问。记录一下关于 vi 的几个操作

  1. 按字母 i ,或者 Inset 键进入插入模式,可以进行编辑
  2. 按 Esc 退出插入模式,进入命令行模式,在该模式下面移动鼠标,删除(delete)
  3. 命令行模式下,输入 /, 在 / 后输入要查找的内容,按字母 n 键进行上下移动。
  4. q! 放弃所有修改,强制退出vi
  5. qw 退出的时候保存文件

更多的 vi 相关操作,可参考 Linux下vi常用命令


有伙伴可能端口被其他应用占用,有不能更换的时,可以查看这篇进行修改端口CentOS7安装GitLab及遇到的问题

vim /etc/gitlab/gitlab.rb		#进入gitlab配置文件
nginx['listen_port'] = 8090		#配置端口,可以直接复制一行新的
:wq!		#保存并强制退出
gitlab-ctl reconfigure		#重新配置gitlab
gitlab-ctl restart		#重启gitlab

自己测试中,只需配置这一项就可以了

gitlab 自带的汉化

效果并不理想,所有走上次自己汉化的道路

git 的安装

汉化需要 Gitlab中文社区的汉化包.

ssh key 生成

运行 git clone遇到 bash:git:未找到命令。第一反应没有配置 SSH 证书,因为是新装的电脑。赶紧就配置 SSH
ssh-keygen -t rsa -C 'xxx@xxx.com' 		#然后一路回车(-C 参数是你的邮箱地址,起一个标记说明)
cat ~/.ssh/id_rsa.pub		

成功创建 SSH 证书后,就添加在 gitlab 上面。具体更多操作可以查看 GitLab配置ssh key

然后发现还是不能运行,停顿 5 秒钟,想到我还没有安装 git 的吗? 所以赶快安装 git

git安装

yum install git

查看yum源仓库Git信息

yum info git

2.安装依赖库

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 
yum install gcc-c++ perl-ExtUtils-MakeMaker

3.如果原有的git版本过低,移除默认安装的旧版git

git --version    ## 查看自带的版本git version 1.8.3.1
yum remove git   ## 移除原来的版本

4.下载&安装

cd /usr/src
wget https://www.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

5.解压

tar xf git-2.18.0.tar.gz 

6.配置编译安装

cd /usr/src
ls
cd git-2.18.0/
make configure
./configure --prefix=/usr/git ##配置目录
make profix=/usr/git
make install

7.加入环境变量

echo "export PATH=$PATH:/usr/git/bin" >> /etc/profile
source /etc/profile

8.检查版本

git --version
git version 2.18.0

9.后续这些身生成SSH密钥就省略掉,因为自己弄错了,提前将密钥配置进去了。更多的操作可查看 Centos7中安装Git并连接使用GitHub基本操作


对操作中,出现错误进行一个记录

1. 第6步,make [configure] 错误
在运行 make configure 的时候,会遇到一个错误

/bin/sh: autoconf: 未找到命令
make: *** [configure] 错误 127

yum provides autoconf		#查询到没有安装autoconf
yum -y install autoconf		#安装包及对应的依赖

通过以上就可以解决错误

gitlab 汉化包下载及安装

手动汉化的化操作,可以查看 Omnibus 安装汉化这是gitlab中文社区的一个文档。虽然自己没有汉化成功,但不妨碍自己抄录一下。自己是新建的,不存在任何风险,大家可参照这篇文章进行汉化操作 gitlab安装及汉化。里面有设计备份、迁移等功能。
1. 克隆版本库
cd /usr/local/src/
git clone https://gitlab.com/xhang/gitlab.git

2.获取当前Gitlab版本

gitlab_version=$(cat /opt/gitlab/embedded/service/gitlab-rails/VERSION)

3.比较汉化标签和原标签,导出patch用的diff文件

cd /usr/local/src/gitlab
git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff

4.先停止gitlab

gitlab-ctl stop

5.导入汉化补丁

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ../${gitlab_version}-zh.diff

PS:如果出现类似以下内容,则按住回车,一直跳过就行了

can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/app/assets/javascripts/awards_handler.js b/app/assets/javascripts/awards_handler.js
|index eb0f06e..73e4833 100644
|--- a/app/assets/javascripts/awards_handler.js
|+++ b/app/assets/javascripts/awards_handler.js
--------------------------
File to patch:

6.然后启动gitlab

gitlab-ctl start

对操作中,出现错误进行一个记录

1. 第1步,git clone 过早文件结束符(EOF)
git clone https://gitlab.com/xhang/gitlab.git
正克隆到 'gitlab'...
remote: Counting objects: 451995, done.
remote: Compressing objects: 100% (96627/96627), done.
fatal: The remote end hung up unexpectedlyB | 34.00 KiB/s
fatal: 过早的文件结束符(EOF)
fatal: index-pack failed

多次的反复下载,一直出现这个问题。确定不是网络的问题了。

以上解决办法有两种


方法一:采用ssh方式

git clone git@gitlab.com:xhang/gitlab.git

方法二:加大https缓存

git init
git config http.postBuffer 524288000

推荐使用第二种方法,个人在使用第二种方法的时候,还是没有成功。后面采用的第一种方法

1. 第3步,版本比较的时候 “有歧义的参数 'v12.10.5-ee':未知的版本或路径不存在于工作区中”

唉,先长叹一声后面发现想象是美好的,现实是残酷的。gitlab和gitlab汉化包版本不一致,两者一定要一致。目前安装的gitlab版本是12.10.5,gitlab汉化包是12.10.3。

后面强行执行完所有命令,gitlab 网页登陆出现了 502 页面,后期重新配置了一下 gitlab 就可以重新打开了。

参考链接

CentOS 7镜像下载
centos7几种版本x86_64、aarch64、armhfp、i386、power9、ppc64、ppc64el简单说明
Linux】CentOS7 常用命令集合
gitlab安装及汉化
gitlab之一: gitlab安装配置使用


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值