前置準備:虛擬機器安裝以及配置相關
包含安裝 centos7、8 虛擬機器、設定靜態 ip 等
https://www.cnblogs.com/poloyy/category/1703784.html
注意:我用的是 centos 7
官方安裝教程
https://about.gitlab.com/install/
安裝 Gitlab 前系統預配置準備工作
關閉 firewalld 防火牆
# 看防火牆狀態
systemctl status firewalld # 暫停執行防火牆
systemctl stop firewalld # 看防火牆狀態
systemctl status firewalld # 禁止防火牆自啟
systemctl disable firewalld # 看防火牆狀態
systemctl status firewalld
關閉 selinux 強制訪問安全策略
保證該策略不會影響 gitlab 正常執行
# 第一步 關閉selinux
vim /etc/sysconfig/selinux
....
SELINUX = disabled
.... # 第二步重啟虛擬機器
reboot
驗證是否已關閉成功
[root@localhost ~]# getenforce
Disabled
安裝 Omnibus Gitlab-ce package
Omnibus
- 綜合性
- Gitlab 為了方便大家快速上手,推出這個包,一鍵下載安裝 Gitlab 需要的依賴、元件、配置
- 如果用原始碼的安裝方式,會比較繁瑣、
安裝 Gitlab 元件
yum -y install curl policycoreutils openssh-server openssh-clients postfix perl
配置 Gitlab yum 倉庫源
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
啟動 postfix 郵件服務
systemctl start postfix && systemctl enable postfix
安裝 Gitlab-ce 社群版本
記住是社群版本,所以是免費的
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
這裡其實就可以通過瀏覽器訪問你的 Gitlab 了,但還有一些操作要做
本地 hosts 檔案,配置域名和虛擬機器 IP
為什麼要做這一步
因為我們是通過虛擬機器需搭建社群版 Gitlab 的,上面安裝 gitlab-ce 的時候也指定了相對 URL,為的就是更方便訪問 Gitlab,有一個域名(就是下面這部分操作)
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
配置 hosts
window 電腦下 Ctrl + X
訪問 gitlab
如果遇到 502 的問題
參考這篇部落格
https://www.cnblogs.com/poloyy/p/14690030.html
Gitlab 相關配置初始化並完成安裝
證書建立與配置載入
# 建立一個目錄
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 證書
cd /etc/gitlab/ssl
ll
利用私鑰和 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"
生成 pm 證書
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
到此為止,所有證書已經都生成成功!
修改所有證書的許可權
chmod 600 *
編輯 Gitlab 的配置檔案
將所有證書配置到配置檔案當中
vim /etc/gitlab/gitlab.rb
修改以下內容
external_url "https://gitlab.example.com"
nginx['redirect_http_to_https'] = true
初始化 Gitlab 所有配置
gitlab-ctl reconfigure
最後的 Notes 翻譯
無傷大雅
- 似乎在配置GitLab例項時尚未指定初始root密碼。
- 首次訪問GitLab例項時,系統會顯示一個螢幕,用於設定
- 預設管理員帳戶的密碼,使用者名稱為“ root”。
Nginx SSL 代理服務配置
更改 Gitlab HTTP 配置檔案
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
rewrite ^(.*)$ https://$host$1 permanent;
重啟 Gitlab
gitlab-ctl restart