摘要:记录一下在使用一块 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 | 完整版 | 集成所有软件(以用来补充系统的软件或者填充本地镜像) |
LiveGNOME | GNOME桌面版 | |
LiveKDE | KDE桌面版 | |
Minimal | 精简版 | 自带的软件最少 |
NetInstall | 网络安装版 | 从网络安装或者救援系统 |
名称 | 概述 |
---|---|
x86_64 | 常说的主流的64位架构,代表厂家有Intel、AMD |
aarch64 | arm架构的64位系统,基于armv8指令集的64位架构,应该是后续ARM主流商用服务器的标准 |
armhfp | 主要是对armv7hl兼容,支持基于arm的一系列单板计算机和嵌入式设备 |
i386 | 已经即将被淘汰的x86的以奔腾系列位代表的32位架构 |
power9 | 对应IBM的power9架构cpu |
ppc64 | IBM power系列架构,目标架构为64位PowerPC和Power Architecture处理器,并对此优化的应用程序的标识符,编译源代码时经常使用 |
ppc64le | 纯小端模式,POWER8作为首要目标,OpenPower基金会基础的技术,试图使基于x86的Linux软件的移植工作以最小的工作量进行 |
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 中常见问题,答案如下图:
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 #查看防火墙所有开放的端口
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 的几个操作
- 按字母 i ,或者 Inset 键进入插入模式,可以进行编辑
- 按 Esc 退出插入模式,进入命令行模式,在该模式下面移动鼠标,删除(delete)
- 命令行模式下,输入 /, 在 / 后输入要查找的内容,按字母 n 键进行上下移动。
- q! 放弃所有修改,强制退出vi
- 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 证书,因为是新装的电脑。赶紧就配置 SSHssh-keygen -t rsa -C 'xxx@xxx.com' #然后一路回车(-C 参数是你的邮箱地址,起一个标记说明)
cat ~/.ssh/id_rsa.pub
成功创建 SSH 证书后,就添加在 gitlab 上面。具体更多操作可以查看 GitLab配置ssh key
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)
正克隆到 '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。
参考链接
CentOS 7镜像下载
centos7几种版本x86_64、aarch64、armhfp、i386、power9、ppc64、ppc64el简单说明
Linux】CentOS7 常用命令集合
gitlab安装及汉化
gitlab之一: gitlab安装配置使用