一、安装Gitlab前系统预配置准备工作
操作系统:centos 7.3
1、关闭firewalld防火墙
#systemctl stop firewalld //关闭防火墙
#systemctl disable firewalld //禁止防火墙开机启动
2、关闭selinux并重启系统(关闭强制访问控制安全策略,可以用getenforce查看selinux状态。)
#vi /etc/sysconfig/selinux
...
SELINUX=disabled
...
#reboot
二、安装Omnibus Gitlab-ce package
可以先将yum源切换成国内的yum源,参考:https://opsx.alibaba.com/mirror,点击对应操作系统的帮助,有具体替换的方法。
1、安装Gitlab组件
#yum -y install cur policycoreutils openssh-server openssh-clients postifx
2、配置Yum仓库(下载gitlab 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 install -y gitlab-ce
三、配置Gitlab
1、先手动创建一个ssl目录
#mkdir -p /etc/gitlab/ssl
2、利用Openssl创建创建私有密钥
#openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
3、使用刚才创建的私有密钥创建csr证书
#openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
4、创建crt证书
#openssl x509 -req -days 3650 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"
5、创建pem证书
#openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
6、将/etc/gitlab/ssl下的证书修改为600权限
#chmod 600 /etc/gitlab/ssl/*
7、修改gitlab配置文件vi /etc/gitlab/gitlab.rb
将external_url 'http://gitlab.example.com'的http修改为https
将# nginx['redirect_http_to_https'] = false的注释去掉,修改为nginx['redirect_http_to_https'] = true
将# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"修改为# nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
将# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"修改为# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
将# nginx['ssl_dhparam'] = nil 修改为# nginx['ssl_dhparam'] = /etc/gitlab/ssl/dhparams.pem
8、初始化gitlab所有相关配置(比较耗时)
#gitlab-ctl reconfigure
9、修改gitlab的代理配置文件(/var/opt/gitlab/nginx/conf/gitlab-http.conf)
#vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
修改配置项在找到server_name,在server_name下添加如下配置内容:rewrite ^(.*)$ https://$host$1 permanent;
重启gitlab,使配置生效
#gitlab-ctl restart
10、在访问的机器上修改hosts文件
将gitlab服务器的地址添加上gitlab.example.com的配置
然后访问https://gitlab.example.com
/etc/gitlab/ssl/gitlab.example.com.key