Fork me on GitHub

centos7 安装 gitlab

关于什么是Gitlab 我相信我不用多说了。至于为什么写这篇文章呢,是因为这次看网上的教程坑太多了。再次记录一下。省的下次再掉坑了。

本文所有操作均在 root 用户下进行

安装环境

  • 系统版本:CentOS Linux release 7.2.1511 (Core)
  • 内核:Linux 3.10.0-327.el7.x86_64

升级内核

关于如何升级内核请看我以前的文章

初始化安装环境

安装Gitlab 相关依赖包

1
2
3
4
5
6
7
yum -y groupinstall 'Development Tools'
yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel perl-CPAN gettext curl-devel expat-devel gettext-devel
yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd
systemctl start sshd
firewall-cmd --permanent --add-service=http
systemctl reload firewalld

安装/升级 Git

编译安装Git

1
2
3
4
5
6
mkdir /tmp/git && cd /tmp/git
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
tar xz git-2.9.5.tar.gz
cd git-2.9.5
./configure --prefix=/usr/local/git
make && make install

配置环境变量

1
2
3
4
vim /etc/profile 
# 添加下面这行
export PATH=/usr/local/git/bin:$PATH
source /etc/profile

验证

1
2
[root@centos ~]# git  --version
git version 2.9.5

安装 Postfix

1
2
3
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

安装 Gitlab

由于gitlab 默认镜像是国外的,我们访问比较卡。所以我再次用的是 清华的源

1
2
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.8.1-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-11.8.1-ce.0.el7.x86_64.rpm

如果出现这个界面就说明Gitlab 已经安装完成

配置 Gitlab

配置 external_url

1
2
3
4
5
6
[root@centos ~]# vim /etc/gitlab/gitlab.rb
# 修改里面的 external_url ,例如作者的机器的IP地址为 10.211.55.10,我想通过8080 端口访问gitlab,则 external_url 配置如下
external_url='http://10.211.55.10:8080'

# 因为修改了配置文件,所以重新加载配置文件
[root@centos ~]# gitlab-ctl reconfigure

更换端口

Gitlab 默认端口为 80,443,但是我的这两个端口有其他用处。不想让他占用。

1
[root@centos ~]# vim /etc/gitlab/gitlab.rb

修改的配置如下:

1
2
unicorn['listen'] = 'localhost'
unicorn['port'] = 8080

接下来重新加载配置。

1
2
[root@centos ~]# gitlab-ctl reconfigure
[root@centos ~]# gitlab-ctl restart

http://10.211.55.10:8080 访问 gitlab

汉化

先查看gitlab版本

1
2
[root@centos ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
11.8.1

或者这样查看也可以

1
2
[root@centos ~]# rpm -q gitlab-ce
gitlab-ce-11.8.1-ce.0.el7.x86_64

下载中文补丁包

注意补丁包版本一定要与gitlab的版本一致,以下直接下载的是gitlab-10-3稳定版的。

1
[root@centos ~]# wget https://gitlab.com/xhang/gitlab/-/archive/11-8-stable-zh/gitlab-11-8-stable-zh.tar.bz2 -O  gitlab-11-8-stable-zh.tar.bz2

或者用 git clone 获取最新版的

1
[root@centos ~]# git clone  https://gitlab.com/xhang/gitlab.git

解压

1
2
3
4
5
[root@centos ~]# tar xf gitlab-11-8-stable-zh.tar.bz2

# 查看汉化包的版本
[[root@centos gitlab_zh]# cat gitlab-11-8-stable-zh/VERSION
11.8.1

先备份,避免汉化失败后gitlab瘫痪

1
[root@centos gitlab_zh]# cp -r /opt/gitlab/embedded/service/gitlab-rails{,.ori}

复制并覆盖

1
[root@centos gitlab_zh]# \cp -rf gitlab-11-8-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/

重新配置gitlab和重启 gitlab

1
2
[root@centos ~]# gitlab-ctl reconfigure
[root@centos ~]# gitlab-ctl restart

配置邮箱

目前我采用的是google 邮箱

开放 Google 邮箱权限

修改 gitlab.rb 添加邮箱配置

1
[root@centos ~]# vim /etc/gitlab/gitlab.rb

添加下面内容

1
2
3
4
5
6
7
8
9
10
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "my.email@gmail.com"
gitlab_rails['smtp_password'] = "my-gmail-password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html

重新配置gitlab和重启 gitlab

1
2
[root@centos ~]# gitlab-ctl reconfigure
[root@centos ~]# gitlab-ctl restart

###

参考文章

本文标题:centos7 安装 gitlab

文章作者:孤城落寞

发布时间:2019年03月07日 - 14:09:13

最后更新:2019年03月07日 - 19:01:13

原始链接:https://blog.gclmit.club/archives/4139618f.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。



-------------本文结束 感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!