CentOS 7 安裝GitLab中文版
一、環境準備
作業系統:centos7(minimal,www.centos.org下載的包是CentOS-7-x86_64- Minimal-1708.iso)
CPU:2核
記憶體:6G
1.1 更換阿里yum(個人習慣)
步驟:
1)下載wget
yum install -y wget
2)備份預設的yum
mv /etc/yum.repos.d /etc/yum.repos.d.backup
3)設定新的yum目錄
mkdir /etc/yum.repos.d
4)下載阿里yum配置到該目錄中
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
5)重建快取
yum clean all yum makecache
6)升級所有包(改變軟體設定和系統設定,系統版本核心都升級,故需要幾分鐘耐心等待)
yum update -y
1.2 安裝vim(個人習慣)
yum install -y vim
二、獲取gitlab漢化包(要部署非漢化版,可以跳過這一塊內容)
說明:gitlab中文社群版的專案,v7-v8.8是由Larry Li發起的“GitLab 中文社群版專案”(https://gitlab.com/larryli/gitlab),從 v8.9 之後,@xhang 開始繼續該漢化專案(https://gitlab.com/xhang/gitlab)。
2.1 安裝git
yum install -y git
2.2 克隆獲取漢化版本庫
下載最新的漢化包
git clone https://gitlab.com/xhang/gitlab.git
如果是要下載老版本的漢化包,需要加上老版本的分支,比如今天已經是10.0.4,我依舊想下載10.0.2,可以執行下面的語句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
2.3 檢視該漢化補丁的版本
cat gitlab/VERSION
我安裝的時候正好是國慶,最新的版本才剛出,所以漢化版為10.0.2,故我選擇原版也安裝10.0.2。
三、部署社群版gitlab
3.1 安裝gitlab的依賴項
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
// 10.x以後開始依賴policycoreutils-python,我之前在使用9.x時還沒有依賴該項。
3.2 啟動postfix,並設定為開機啟動
systemctl start postfix systemctl enable postfix
3.3 設定防火牆
firewall-cmd --add-service=http --permanent firewall-cmd --reload
3.4 獲取gitlab的rpm包
途徑1:通過清華開源映象站
檢視清華開源映象站,有我需要的10.0.2的rpm包。
獲取rpm包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
途徑2:從官方獲取RPM包後上傳到/root目錄下
官方下載:https://packages.gitlab.com/gitlab/gitlab-ce/
因為要在centos7上安裝版本10.0.2的gitlab,故找到gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm下載到本地後,通過Bitvise SSH Client工具將rpm包上傳到gitlab虛擬機器的/root目錄下。
說明:從下載速度和方便程度來說,走清華的映象站的方式更優,但是我2017/10/20想下載gitlab10.0.4時,發現清華的映象站最新只有10.0.3,故在增補“途徑2”獲取最新的安裝包。
3.5 安裝rpm包
rpm -i gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
根據提示,繼續執行指令配置gitlab。
gitlab-ctl reconfigure
3.6 修改配置檔案gitlab.rb
vim /etc/gitlab/gitlab.rb
將external_url變數的地址修改為gitlab所在centos的ip地址。(因為我這臺centos是16.5,故配成圖中的地址)。
因為修改了配置檔案,故需要重新載入配置內容。
gitlab-ctl reconfigure gitlab-ctl restart
3.7 檢視gitlab版本
head -1 /opt/gitlab/version-manifest.txt
四、覆蓋漢化包
4.1 停止gitlab服務
gitlab-ctl stop
4.2 切換到gitlab漢化包所在的目錄(即步驟二獲取的漢化版gitlab)
cd /root/gitlab
4.3 比較漢化標籤和原標籤,匯出 patch 用的 diff 檔案到/root下
git diff v10.0.2 v10.0.2-zh > ../10.0.2-zh.diff
4.4 回到/root目錄
cd
4.5 將10.0.2-zh.diff作為補丁更新到gitlab中
yum install patch -y patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.2-zh.diff
4.6 啟動gitlab
gitlab-ctl start
4.7 重新配置gitlab
gitlab-ctl reconfigure
五、設定管理員密碼
管理員賬號登入的使用者名稱:root
(雖然登入後管理員的使用者名稱為Administrator,但是實際登入的使用者名稱是root)
方法一:網頁方式
瀏覽器訪問gitlab所在的ip,輸入密碼後點擊 “Change your password”(如果進行漢化,點選“修改密碼”)。
方法二:指令方式
gitlab-rails console production
稍等一會後會出現
irb(main):001:0> user = User.where(id: 1).first // id為1的是超級管理員 irb(main):002:0>user.password = 'yourpassword' // 密碼必須至少8個字元 irb(main):003:0>user.save! // 如沒有問題 返回true exit // 退出