Linux上安装GitLab v11.5.0
前提准备
1.CentOS 7 服务器一台
2.域名一个(指向公网IP地址)
3.域名SSL证书一份
说明:以下所有操作都是root用户下,非root用户请自觉加sudo权限
安装Git
- 在搭建 GitLab 之前,肯定要先安装 Git 。 在 https://github.com/git/git/releases 中选择最新版本的 Git,然后
wget https://github.com/git/git/archive/v2.19.1.tar.gz
- 下载下来后,我们进行解压
tar -zxvf v2.19.1.tar.gz
- 进入解压后的文件夹
cd git-2.19.1
- 之后我们需要编译 Git的源码,在这之前我们先安装编译需要的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
- 安装好后我们进行编译
make prefix=/usr/local/git all
- 之后我们安装 Git 到 /usr/local/git 路径
make prefix=/usr/local/git install
- 测试输入
git --version
- 查看 Git 是否安装成功。
安装GitLab
提示:如果是阿里云服务器或者腾讯云服务器就不要安装postfix了,直接使用smtp服务器即可,因为他们封禁了25端口
- 安装lokkit
yum install lokkit
- 安装依赖 【25端口未封禁安装postfix】
yum install curl openssh-server postfix cronie
- 开启邮箱
service postfix start
- 配置系统防火墙,把HTTP和SSH端口开放.
lokkit -s http -s ssh
chkconfig postfix on
- 如果出现postfix报错【postfix: fatal: parameter inet_interfaces: no local interface found for ::1】
vi /etc/postfix/main.cf
- 发现配置为:
inet_interfaces = localhost
inet_protocols = all
- 改成:
inet_interfaces = all
inet_protocols = all
- 重新启动
service postfix start
- 关闭iptables
service iptables stop
- 关闭防火墙
service firewalld stop
- 下载 GitLab 安装包。下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.5.0-ce.0.el7.x86_64.rpm
- 安装 policycoreutils-python
yum install policycoreutils-python
- rpm 安装GitLab
rpm -Uvh gitlab-ce-11.5.0-ce.0.el7.x86_64.rpm
- 配置端口,域名,SSL证书
vim /etc/gitlab/gitlab.rb
- 发现
external_url 'http://localhost'
# gitlab_rails['smtp_enable'] = true
# nginx['redirect_http_to_https'] = false
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
- 改为
- 25端口未被封禁:
external_url 'http://gitlab.xxxx.com'
gitlab_rails['smtp_enable'] = false
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/xxxx.pem"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/xxxx.key"
- 25端口已经被封禁:示例邮箱163
external_url 'http://gitlab.xxxx.com'
# gitlab_rails['smtp_enable'] = true
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/xxxx.pem"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/xxxx.key"
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@163.com"
gitlab_rails['smtp_password'] = "授权密码"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@163.com'
gitlab_rails['gitlab_email_reply_to'] = 'xxx@163.com'
user['git_user_email'] = 'xxx@163.com'
- 更新配置
gitlab-ctl reconfigure
- 启动
gitlab-ctl restart
- 提示“ok: run:”表示启动成功