GitLab相關實作1
參考這篇(LINK)
由於GitLab官網目前沒有RHEL8的安裝流程:
所以參考前面的LINK提供的安裝方式來驗證
先簡單建立一個RHEL8的機台出來使用
依據最前面的LINK提供的步驟執行
#Update system and Install Dependencies:
sudo yum -y update
sudo yum -y install curl vim policycoreutils python3-policycoreutils
安裝發送mail的套件
#執行以下安裝mail發送的Postfix(有需要的話,Optional!):
sudo yum -y install postfix#啟動Postfix:
sudo systemctl enable postfix && sudo systemctl start postfix
接著才是GitLab實際有關的安裝步驟:
#增加GitLab安裝檔的套件庫(透過sh檔方式),並在最後看到成功字樣:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
接著實際安裝GitLab CE on CentOS 8 / RHEL 8
#執行以下指令執行安裝:
sudo yum install gitlab-ce
有執行以下這個:
但是後來畫面洗掉了,過程大概卡了5分多鐘
最後會看到:
以上基本就安裝完成了
接著進行一些設置
#Configure GitLab CE on CentOS 8 / RHEL 8,其路徑在:
sudo vi /etc/gitlab/gitlab.rb
我覺得上面挺好(AWS公開IP位置),就先不改了
當上述設定調整完之後,要啟動上述更動的設置,要重啟gitlab服務
#執行指令來重新引用新的設置:
sudo gitlab-ctl reconfigure
最後面看到:
開通相關的VM防火牆設置:
#執行以下指令開通相關的防火牆設置(http, https and ssh services):
sudo firewall-cmd --permanent --add-service={ssh,http,https} --permanent#重啟防火牆來引用上述的設置:
sudo firewall-cmd --reload
這邊我發現預設沒有裝:
所以要補為:
#安裝VM防火牆:
sudo yum install firewalld#啟動防火牆:
sudo systemctl start firewalld#啟動自動啟動防火牆:
sudo systemctl enable firewalld#確認防火牆:
sudo systemctl status firewalld#執行以下指令開通相關的防火牆設置(http, https and ssh services):
sudo firewall-cmd --permanent --add-service={ssh,http,https} --permanent#重啟防火牆來引用上述的設置:
sudo firewall-cmd --reload
這邊額外補充防火牆相關指令,因為這是練習,所以我特地開看看5000
#如果是打算開通5000 PORT則是執行以下指令:
sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent
sudo firewall-cmd --reload#確認當前開了哪些PORT設置:
sudo firewall-cmd --list-all
接著就嘗試進到Web介面內:
從外部嘗試發現怎樣都沒辦法連 →http://{公開IP}:8080
所以這邊再次調整機台防火牆,用PORT的方式開
#執行以下防火牆調整:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload
再次嘗試外部連線
後來才發現可能是需要sshd
先安裝openssh-server
#執行安裝openssh-server的daemon:
sudo yum install -y openssh-server#啟動自動啟動sshd:
sudo systemctl enable sshd#實際啟動sshd:
sudo systemctl start sshd
但是這邊還是外面連不進去
最後研究老半天才發現是要...
#連到80 PORT....連到以下URL:http://{public ip}:80
但是這邊很神奇的是機台防火牆我沒特別開80 PORT:
另外此時登入的管理者帳號是要用root,但是密碼在(只存在24HR):
#檢視密碼:
sudo cat /etc/gitlab/initial_root_password
就順利進去了
依據版本有的會進行第一次登入更改密碼的動作
我這邊等等就移除了,無所謂!
然後一般建議排除普通使用者註冊(參考LINK):
展開設定
在來就是SSL設置(參考LINK)
另外研究一下怎麼改default PORT(參考LINK):
找到以下檔案:
#編輯進到以下檔案:
sudo vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
#接著編輯修改以下檔案:
sudo vi /opt/gitlab/embedded/conf/nginx.conf
#在來就是改前面的那個檔案的:
sudo vi /etc/gitlab/gitlab.rb
#執行指令來重新引用新的設置:
sudo gitlab-ctl reconfigure
然後有時候執行上面的指令後curl測試會掛掉:
後來發現/etc/gitlab/gitlab.rb這個檔其實不用改,如下改回只有到IP
在重新執行一次
sudo gitlab-ctl reconfigure
發現上面的指令跑完剛開始都會502,要過一陣子才能看到正常回應:
其實如上,8080其實背後有其他GitLab佔用了
弄老半天沒辦法使用8080
後來試試改8081(/etc/gitlab/gitlab.rb這個檔裡面改):
sudo gitlab-ctl reconfigure
然後改:
再加
#加VM防火牆:
sudo firewall-cmd --zone=public --add-port=8081/tcp --permanent#重啟VM防火牆:
sudo firewall-cmd --reload
如上看起來可以了,再來試試外部瀏覽器打進去!
所以總結只要改/etc/gitlab/gitlab.rb裡面的external_url就好了
然後防火牆設置開一開就OK了!
之後可能找時間再整理一篇
目前該台VM就先行移除!