一、安裝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