前置准备工作
安装使用GitLab需要至少4GB可用内存(RAM + Swap)! 由于操作系统和其他正在运行的应用也会使用内存, 所以安装GitLab前一定要注意当前服务器至少有4GB的可用内存. 少于4GB内存会导致在reconfigure的时候出现各种诡异的问题, 而且在使用过程中也经常会出现500错误.
关闭防火墙
# systemctl stop firewalld
防止防火墙开机启动
# systemctl disable firewalld
关闭selinux并重启系统
# vi /etc/sysconfig/selinux
...
SELINUX=disabled
# reboot
Gitlab安装配置管理
安装Omnibus Gitlab-ce package
1、安装Gitlab组件
# yum -y install curl policycoreutils openssh-server openssh-clients postfix
2、 配置YUM仓库
# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
3、 启动postfix邮件服务
# systemctl start postfix && systemctl enable postfix
4、安装Gitlab-ce社区版本
# yum -y install gitlab-ce
Omnibus Gitlab等相关配置初始化并完成安装(自签名Https证书,不需要可跳过)
1、证书创建与配置加载
# mkdir -p /etc/gitlab/ssl
# openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
使用刚才的私有密钥创造CSR证书 这个过程会要填一些信息,随意就好
# openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/ gitlab.example.com.csr"
使用私有密钥和CSR证书创建CRT签署证书
# openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"
输出pem证书
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048 (这一步会比较耗时)
编辑gitlab的配置文件
vi /etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
nginx['redirect_http_to_https'] = true
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
# nginx['ssl_dhparam'] = /etc/gitlab/ssl/dhparams.pem
# chmod 700 /etc/gitlab/ssl/* 更改这三个文件的权限
初始化gitlab
gitlab-ctl reconfigure
2、Nginx SSL代理服务配置/
找到gitlab下面的nginx代理工具,去更改gitlab http 配置文件
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
server_name gitlab.example.com;下面新增一行
rewrite ^(.*)$ https://$host$1 permanent;
3、初始化Gitlab相关服务并完成安装
# gitlab-ctl restart
修改本地host文件,将gitlab.example.com设置为服务器Ip
浏览器访问gitlab.example.com即可