如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

Arun Pyasi發表於2016-01-18

在 Git 問世之前,分散式版本控制從來都不是一件簡單的事。Git 是一個自由開源的軟體,旨在輕鬆且快速地對從小規模到非常巨大的專案進行管理。Git 最開始由 Linus Torvalds 開發,他同時也是著名的 Linux 核心的建立者。在 git 和分散式版本控制系統領域中,GitLab 是一個極棒的新產品。它是一個基於 web 的 Git 倉庫管理應用,包含程式碼審查、wiki、問題跟蹤等諸多功能。使用 GitLab 可以很方便、快速地建立、審查、部署及託管程式碼。儘管它在其官方的伺服器提供了與 Github 類似的免費託管的程式碼倉庫,但它也可以執行在我們自己的伺服器上。GitLab 有兩個不同的版本:社群版(Community Edition)和企業版(Enterprise Edition)。社群版本完全免費且開源,遵循 MIT 協議;而企業版則遵循一個專有的協議,包含一些社群版中沒有的功能。下面介紹的是有關如何在我們自己的執行著 Ubuntu、Fedora 或 Debian 作業系統的機器上安裝 GitLab 社群版的簡單步驟。

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

1. 安裝先決條件

首先,我們需要安裝 GitLab 所依賴的軟體包。我們將安裝 curl,用以下載我們所需的檔案;安裝openssh-server ,以此來通過 ssh 協議登入到我們的機器上;安裝ca-certificates,用它來新增 CA 認證;以及 postfix,把它作為一個 MTA(Mail Transfer Agent,郵件傳輸代理)。

注: 若要安裝 GitLab 社群版,我們需要一個至少包含 2 GB 記憶體和 2 核 CPU 的 linux 機器。

在 Ubuntu 14 .04/Debian 8.x 中

鑑於這些依賴包都可以在 Ubuntu 14.04 和 Debian 8.x 的官方軟體倉庫中獲取到,我們只需通過使用 apt-get 包管理器來安裝它們。為此,我們需要在一個終端或控制檯中執行下面的命令:

# apt-get install curl openssh-server ca-certificates postfix

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

在 Fedora 22 中

在 Fedora 22 中,由於 yum 已經被棄用了,預設的包管理器是 dnf。為了安裝上面那些需要的軟體包,我們只需執行下面的 dnf 命令:

# dnf install curl openssh-server postfix

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

2. 開啟並開啟服務

現在,我們將使用我們預設的初始化系統來開啟 sshd 和 postfix 服務。並且我們將使得它們在每次系統啟動時被自動開啟。

在 Ubuntu 14.04 中

由於在 Ubuntu 14.04 中安裝的是 SysVinit 初始化系統,我們將使用 service 命令來開啟 sshd 和 postfix 守護程式:

# service sshd start
# service postfix start

現在,為了使得它們在每次開機啟動時被自動開啟,我們需要執行下面的 update-rc.d 命令:

# update-rc.d sshd enable
# update-rc.d postfix enable

在 Fedora 22/Debian 8.x 中

鑑於 Fedora 22 和 Debian 8.x 已經用 Systemd 代替了 SysVinit 來作為預設的初始化系統,我們只需執行下面的命令來開啟 sshd 和 postfix 服務:

# systemctl start sshd postfix

現在,為了使得它們在每次開機啟動時可以自動執行,我們需要執行下面的 systemctl 命令:

# systemctl enable sshd postfix

Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib/systemd/system/sshd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/postfix.service to /usr/lib/systemd/system/postfix.service.

3. 下載 GitLab

現在,我們將使用 curl 從官方的 GitLab 社群版倉庫下載二進位制安裝檔案。首先,為了得到所需檔案的下載連結,我們需要瀏覽到該軟體倉庫的頁面。為此,我們需要在執行著相應作業系統的 linux 機器上執行下面的命令。

在 Ubuntu 14.04 中

由於 Ubuntu 和 Debian 使用相同的 debian 格式的安裝包,我們需要在 https://packages.gitlab.com/gitlab/gitlab-ce?filter=debs 下搜尋所需版本的 GitLab,然後點選有著 ubuntu/trusty 標籤的連結,即我們執行著的 Ubuntu 14.04。接著一個新的頁面將會出現,我們將看到一個下載按鈕,然後我們在它的上面右擊,得到檔案的連結,然後像下面這樣使用 curl 來下載它。

# curl https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_8.1.2-ce.0_amd64.deb

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

在 Debian 8.x 中

與 Ubuntu 類似,我們需要在 https://packages.gitlab.com/gitlab/gitlab-ce?filter=debs 頁面中搜尋所需版本的 GitLab,然後點選帶有 debian/jessie 標籤的連結,即我們執行著的 Debian 8.x。接著,一個新的頁面將會出現,然後我們在下載按鈕上右擊,得到檔案的下載連結。最後我們像下面這樣使用 curl 來下載該檔案。

# curl https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_8.1.2-ce.0_amd64.deb/download

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

在 Fedora 22 中

由於 Fedora 使用 rpm 檔案來作為軟體包,我們將在 https://packages.gitlab.com/gitlab/gitlab-ce?filter=rpms 頁面下搜尋所需版本的 GitLab,然後點選所需發行包的連結,這裡由於我們執行的是 Fedora 22,所以我們將選擇帶有 el/7 標籤的發行包。一個新的頁面將會出現,在其中我們可以看到一個下載按鈕,我們將右擊它,得到所需檔案的連結,然後像下面這樣使用 curl 來下載它。

# curl https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-8.1.2-ce.0.el7.x86_64.rpm/download

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

4. 安裝 GitLab

在相應的軟體源被新增到我們的 linux 機器上之後,現在我們將使用相應 linux 發行版本中的預設包管理器來安裝 GitLab 社群版。

在 Ubuntu 14.04/Debian 8.x 中

要在執行著 Ubuntu 14.04 或 Debian 8.x linux 發行版本的機器上安裝 GitLab 社群版,我們只需執行如下的命令:

# dpkg -i gitlab-ce_8.1.2-ce.0_amd64.deb

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

在 Fedora 22 中

我們只需執行下面的 dnf 命令來在我們的 Fedora 22 機器上安裝 GitLab。

# dnf install gitlab-ce-8.1.2-ce.0.el7.x86_64.rpm

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

5. 配置和開啟 GitLab

GitLab 社群版已經成功地安裝在我們的 linux 系統中了,接下來我們將要配置和開啟它了。為此,我們需要執行下面的命令,這在 Ubuntu、Debian 和 Fedora 發行版本上都一樣:

# gitlab-ctl reconfigure

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

6. 允許通過防火牆

假如在我們的 linux 機器中已經啟用了防火牆程式,為了使得 GitLab 社群版的 web 介面可以通過網路進行訪問,我們需要允許 80 埠通過防火牆,這個埠是 GitLab 社群版的預設埠。為此,我們需要執行下面的命令。

在 iptables 中

Ubuntu 14.04 預設安裝和使用的是 iptables。所以,我們將執行下面的 iptables 命令來開啟 80 埠:

# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

# /etc/init.d/iptables save

在 firewalld 中

由於 Fedora 22 和 Debian 8.x 預設安裝了 systemd,它包含了作為防火牆程式的 firewalld。為了使得 80 埠(http 服務) 能夠通過 firewalld,我們需要執行下面的命令。

# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --reload
success

7. 訪問 GitLab Web 介面

最後,我們將訪問 GitLab 社群版的 web 介面。為此,我們需要將我們的 web 瀏覽器指向 GitLab 伺服器的網址,根據我們的配置,可能是 http://ip-address/ 或 http://domain.com/ 的格式。在我們成功指向該網址後,我們將會看到下面的頁面。

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

現在,為了登入進皮膚,我們需要點選登入按鈕,它將詢問我們的使用者名稱和密碼。然後我們將輸入預設的使用者名稱和密碼,即 root5iveL!fe 。在登入進控制皮膚後,我們將被強制要求為我們的 GitLab root 使用者輸入新的密碼。

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

8. 建立倉庫

在我們成功地更改密碼並登入到我們的控制皮膚之後,現在,我們將為我們的新專案建立一個新的倉庫。為此,我們需要來到專案欄,然後點選 新專案 綠色按鈕。

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

接著,我們將被詢問給我們的專案輸入所需的資訊和設定,正如下面展示的那樣。我們甚至可以從其他的 git 倉庫提供商和倉庫中匯入我們的專案。

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

做完這些後,我們將能夠使用任何包含基本 git 命令列的 Git 客戶端來訪問我們的 Git 倉庫。我們可以看到在倉庫中進行的任何活動,例如建立一個里程碑,管理問題,合併請求,管理成員,便籤,Wiki 等。

如何在 Ubuntu/Fedora/Debian 中安裝 GitLab

總結

GitLab 是一個用來管理 git 倉庫的很棒的開源 web 應用。它有著漂亮的帶有諸多酷炫功能的響應式介面。它還打包有許多酷炫功能,例如管理群組,分發金鑰,持續整合,檢視日誌,廣播訊息,鉤子,系統 OAuth 應用,模板等。(注:OAuth 是一個開放標準,允許使用者讓第三方應用訪問該使用者在某一網站上儲存的私密的資源(如照片,視訊,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。— 摘取自 維基百科上的 OAuth 詞條) 它還可以和大量的工具進行互動如 Slack,Hipchat,LDAP,JIRA,Jenkins,有很多型別的鉤子和完整的 API。它至少需要 2 GB 的記憶體和 2 核 CPU 來流暢執行,支援多達 500 個使用者,但它也可以被擴充套件到多個工作伺服器上。

假如你有任何的問題,建議,回饋,請將它們寫在下面的評論框中,以便我們可以提升或更新我們的內容。謝謝!

相關文章