Gitlab的安装与汉化

本文的服务器环境为CentOS 7.2 x64

推荐准备服务器两台(其中一台用于做VPN代理),VPN一个(用于下载加速),VPN详细注册免费使用方法和代理用法在后面会讲述。

1.安装Git

yum -y install git

2.安装VPN作为代理服务器

使用git clone下载由xhang维护的gitlab汉化包,这里由于境内服务器连接gitlab.com会比较慢,甚至无法完成下载,为了避免重复掉坑浪费时间,所以选择挂一个VPN再clone汉化包,同时为了避免VPN污染我们的服务器,选择先在另一台服务器上运行VPN当作代理,再在要安装gitlab的服务器上连接该代理服务器。

这里我使用的是星际加速器(VPN),星际加速器提供全平台的客户端,并且提供linux的命令行模式(邀请码:074756,注册时填写邀请码即可获得免费使用),到官网http://www.rallets.com注册帐号。

星际加速器在linux下的使用方法是:

1.下载对应的版本后,将程序置于PATH目录中。
curl -sSL https://assets-1252743926.file.myqcloud.com/rallets-cli_1.6.0.tar.gz | tar xz

sudo mv rallets-cli-linux-amd64 /usr/local/bin/rallets-cli

2.首次使用时,通过login命令登录,登录成功后会显示服务器列表。
rallets-cli login <username>
HKG: Hongkong
LAX: Los Angeles
LHR: London
MIA: Miami
NRT: Tokyo

3.之后使用无需再次登录,只要使用ls命令即可列出服务器列表。

4.使用connect命令连接服务器,参数为服务器缩写。
rallets-cli connect SGP
SGP是新加坡的服务器,你可以根据服务器地区列表连接任意你喜欢的地区.
亲测新加坡连接gitlab速度达到2.5MiB/s

然后,在要安装gitlab的服务器上设置代理

export https_proxy=http://172.21.0.13:1081/

这里的ip地址换成你之前挂在VPN的ip地址,端口为1081
注意:如果你两台服务器在同一个内网,请使用内网IP。

3.下载汉化包

git clone https://gitlab.com/xhang/gitlab.git -b 11-5-stable-zh

这里可以指定版本编号。
注意:下载的汉化包版本要跟之后安装的gitlab版本一致才可以,全部的汉化包编号请上gitlab.com/xhang查看。

4.安装其他必要的组件

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

由于挂载了VPN代理,安装这些会非常的快。

5.启动postfix

修改 /etc/postfix/main.cf的设置

vi /etc/postfix/main.cf

修改以下两个参数:

inet_interfaces = all
inet_protocols = ipv4

启用postfix:

systemctl start postfix
systemctl enable postfix

6.启动防火墙并设置

systemctl start firewalld
firewall-cmd –add-service=http –permanent
firewall-cmd –reload

7.修改gitlab源并安装gitlab

修改 /etc/yum.repos.d/gitlab-ce.repo文件

vi /etc/yum.repos.d/gitlab-ce.repo

增加如下设置:

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever
gpgcheck=0
enabled=1

安装gitlab

yum -y install patch gitlab-ce-11.5.3

注意:这里gitlab的版本要跟之前下载的汉化包版本一致,由于汉化版本有时候会落后于gitlab的最新版本,这里尤其要注意,否则可能导致汉化不完全或者失败。

8.设置域名

修改/etc/gitlab/gitlab.rb文件

vi /etc/gitlab/gitlab.rb

将external_url变量的地址修改为你的域名或者服务器ip

9.安装汉化包

获得gitlab版本号:

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

生成差异文件:

cd gitlab
注意:这里的gitlab目录就是之前git clone下来的汉化包的目录。
git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff

备份原目录并以patch的方式安装汉化文件:

gitlab-ctl stop
cp -r /opt/gitlab/embedded/service/gitlab-rails{,.ori}
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ../${gitlab_version}-zh.diff

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

10.启动gitlab并载入设置

gitlab-ctl start
gitlab-ctl reconfigure

注意:如果在reconfigure时出现以下错误,可以尝试再次执行一次
gitlab-ctl reconfigure

11.其它设置

取消之前的服务器代理设置

unset http_proxy

取消注册页面

在 管理中心->设置->通用 里,可关闭系统的注册功能。

修改首页介绍

在 管理中心->外观 里,可修改首页的标题和介绍。

设置robots.txt禁止搜索引擎爬取

修改 /opt/gitlab/embedded/service/gitlab-rails/public/robots.txt 文件

vi /opt/gitlab/embedded/service/gitlab-rails/public/robots.txt

找到如下图所示位置:

禁止所有的蜘蛛爬取整个站点,只需取消下面两行的注释即可。