在 Lightsail 上設定和設定 GitLab CE 執行個體 - Amazon Lightsail

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Lightsail 上設定和設定 GitLab CE 執行個體

在您的 GitLab CE 執行個體在 Amazon Lightsail 上啟動並執行之後,您應該採取以下幾個步驟來開始使用:

內容

步驟 1:閱讀 Bitnami 文件

閱讀 Bitnami 文檔以了解如何配置您的 GitLab CE 應用程序。如需詳細資訊,請參閱由 Bitnami 封裝的 GitLab CE。 AWS 雲端

步驟 2:獲取默認的應用程序密碼以訪問 GitLab CE 管理區域

完成以下步驟以獲取訪問 GitLab CE 網站管理區域所需的默認應用程序密碼。如需詳細資訊,請參閱在 Amazon Lightsail 中取得 Bitnami 執行個體的應用程式使用者名稱和密碼

重要

以瀏 Lightsail 為基礎的 SSH/RDP 用戶端只接受 IPv4 流量。透過 IPv6 使用第三方用戶端透過 SSH 或 RDP 進入您的執行個體。如需詳細資訊,請參閱 連線至您的執行個體

  1. 在執行個體管理頁面的 Connect (連接) 索引標籤下,選擇 Connect using SSH (使用 SSH 連接)。

    在主控台中使 Lightsail SSH Connect
  2. 連線後,請輸入下列命令,以取得應用程式密碼:

    cat $HOME/bitnami_application_password

    您應該會看到類似於以下範例的回應,其中包含預設應用程式密碼:

    Bitnami 預設應用程式密碼。

步驟 3:將靜態 IP 地址連接至您的執行個體

您第一次建立執行個體時,所指派的公有 IP 地址將會在每次停用和啟用執行個體時變更。您應該建立靜態 IP 地址並將其連接至執行個體,以確保其公有 IP 地址不會變更。當您將註冊的網域名稱 (例如 example.com) 與執行個體搭配使用時,便無須在每次停用或啟用執行個體時更新網域的 DNS 記錄。您可以將一個靜態 IP 連接至一個執行個體。

在執行個體管理頁面的 Networking (聯網) 索引標籤下,選擇 Create a static IP (建立靜態 IP) 或 Attach static IP (連接靜態 IP)(若您先前已建立可以連接至執行個體的靜態 IP),然後遵循頁面上的指示執行操作。如需詳細資訊,請參閱建立靜態 IP 並將其附接至執行個體

在主控台中附加靜態 IP 位址

將新的靜態 IP 地址連接至執行個體後,必須完成以下步驟,以便應用程式知曉新的靜態 IP 地址。

  1. 請記下執行個體的靜態 IP 地址。這會列在執行個體管理頁面的標頭區段中。

    執行個體的公用或靜態 IP 位址
  2. 在執行個體管理頁面的 Connect (連接) 索引標籤下,選擇 Connect using SSH (使用 SSH 連接)。

    使用 SSH 連接至您的執行個體
  3. 連接後,請輸入以下命令。將 <StaticIP> 取代為執行個體新的靜態 IP 地址。

    sudo /opt/bitnami/configure_app_domain --domain <StaticIP>

    範例:

    sudo /opt/bitnami/configure_app_domain --domain 203.0.113.0

    您應該會看到類似於以下範例的回應。您的執行個體上的應用程式現在應該已知曉新的靜態 IP 地址。

    網域組態工具的結果

步驟 4:登入 Gitlab CE 網站的管理區

現在您擁有了默認的用戶密碼,請導航到 GitLab CE 網站的主頁,然後登錄到管理區域。登入後,您可以開始自訂網站並進行管理級變更。有關您可以在 GitLab CE 中執行的操作的更多信息,請參閱本指南後面的步驟 7:閱讀 GitLab CE 文檔並繼續配置您的網站部分。

  1. 在執行個體管理頁面的 Connect (連接) 索引標籤下,記下執行個體的公有 IP 地址。公有 IP 地址也會顯示在執行個體管理頁面的標頭區段。

    執行個體的公有 IP 地址
  2. 瀏覽至執行個體的公有 IP 地址,例如前往 http://203.0.113.0

    您會看到 Gitlab CE 網站首頁。您可能會看到瀏覽器的警告通知,告知您連線並非私有且不安全,或有安全性風險。發生這種情況是因為您的 GitLab CE 實例尚未應用 SSL/TLS 證書。在瀏覽器視窗中,選擇 Advanced (進階)Details (詳細資訊)More information (更多資訊),以檢視可用的選項。然後選擇繼續瀏覽該網站,即使該網站不是私有或安全的網站。

  3. 使用先前依本指南指示取得的預設使用者名稱 (root) 和預設密碼登入。

    您會看到 Gitlab CE 管理儀表板。

    Gitlab CE 管理儀表板

步驟 5:將您註冊域名的流量路由到您的 GitLab CE 網站

若要將已註冊網域名稱的流量路由至您的 GitLab CE 網站,請將記錄新增至您網域的網域名稱系統 (DNS)。example.comDNS 記錄通常會在您註冊網域的註冊商處進行管理和託管。不過,我們建議您將網域 DNS 記錄的管理權限轉移至 Lightsail,以便您可以使用 Lightsail 主控台進行管理。

在 Lightsail 主控台首頁的 [網路功能] 索引標籤下,選擇 [建立 DNS 區域],然後依照頁面上的指示進行。如需詳細資訊,請參閱建立 DNS 區域以管理域的 DNS 記錄

在主控台中建立 DNS 區域

在您的網域名稱將流量路由到執行個體之後,您必須完成下列程序,讓 GitLab CE 知道網域名稱。

  1. 在執行個體管理頁面的 Connect (連接) 索引標籤下,選擇 Connect using SSH (使用 SSH 連接)。

    使用 SSH 連接至您的執行個體
  2. 連接後,請輸入以下命令。將 < DomainName > 取代為將流量路由到執行個體的網域名稱。

    sudo /opt/bitnami/configure_app_domain --domain <DomainName>

    範例:

    sudo /opt/bitnami/configure_app_domain --domain example.com

    您應該會看到類似於以下範例的回應。您的 GitLab CE 執行個體現在應該知道網域名稱。

    網域組態工具的結果

    如果該命令失敗,您可能正在使用較舊版本的 GitLab CE 實例。改為嘗試執行下列命令。將 < DomainName > 取代為將流量路由到執行個體的網域名稱。

    cd /opt/bitnami/apps/gitlab sudo ./bnconfig --machine_hostname <DomainName>

    在執行這些命令後,輸入以下命令,以防止 bnconfig 工具在伺服器每次重新啟動時自動執行。

    sudo mv bnconfig bnconfig.disabled

接下來,您應該產生並設定 SSL/TLS 憑證,以便為您的 GitLab CE 網站啟用 HTTPS 連線。有關更多信息,請繼續本指南的下一步 6:為您的 GitLab CE 網站配置 HTTPS 部分。

第 6 步:為您的 GitLab CE 網站配置 HTTPS

完成以下程序以在您的 GitLab CE 網站上設定 HTTPS。這些步驟描述了如何使用 Lego 用戶端,它是一個命令行工具,用於請求 Let's Encrypt SSL/TLS 憑證。

重要

在開始此程序之前,請確定您已設定網域以將流量路由到 GitLab CE 執行個體。否則,SSL/TLS 憑證驗證過程會失敗。若要路由已註冊網域的流量路,請新增記錄至網域的 DNS。DNS 記錄通常會在您註冊網域的註冊商處進行管理和託管。不過,我們建議您將網域 DNS 記錄的管理權限轉移至 Lightsail,以便您可以使用 Lightsail 主控台進行管理。

在 Lightsail 主控台首頁的 [網域和 DNS] 索引標籤下,選擇 [建立 DNS 區域],然後依照頁面上的指示進行。如需詳細資訊,請參閱在 Lightsail 中建立 DNS 區域以管理網域的 DNS 記錄

  1. 在執行個體管理頁面的 Connect (連接) 索引標籤下,選擇 Connect using SSH (使用 SSH 連接)。

    在主控台中使 Lightsail SSH Connect
  2. 連接之後,請輸入下列命令,以將目錄更改為臨時 (/tmp) 目錄。

    cd /tmp
  3. 輸入下列命令,以下載最新版本的 Lego 用戶端。此命令會下載磁帶歸檔 (tar) 檔案。

    curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
  4. 輸入下列命令,以從 tar 檔案中提取檔案。將 X.Y.Z 取代為您下載的 Lego 用戶端版本。

    tar xf lego_vX.Y.Z_linux_amd64.tar.gz

    範例:

    tar xf lego_v4.7.0_linux_amd64.tar.gz
  5. 輸入下列命令,以建立 /opt/bitnami/letsencrypt 目錄,您將把 Lego 用戶端檔案移動到其中。

    sudo mkdir -p /opt/bitnami/letsencrypt
  6. 輸入以下命令,以將 Lego 用戶端檔案移動到建立的目錄中。

    sudo mv lego /opt/bitnami/letsencrypt/lego
  7. 依序輸入以下命令,以停止在執行個體上運行的應用程式服務。

    sudo service bitnami stop sudo service gitlab-runsvdir stop
  8. 輸入以下命令,以使用 Lego 用戶端請求 Let's Encrypt SSL/TLS 憑證。

    sudo /opt/bitnami/letsencrypt/lego --tls --email="EmailAddress" --domains="RootDomain" --domains="WwwSubDomain" --path="/opt/bitnami/letsencrypt" run

    將命令中的以下範例值取代為自訂值:

    • EmailAddress – 註冊通知所用的電子郵件地址。

    • RootDomain— 將流量路由到您的 GitLab CE 網站的主要根網域 (例如,example.com)。

    • WwwSubDomain— 將流量路由到您的 GitLab CE 網站的主要根網域的www子網域 (例如,www.example.com)。

      您可以為憑證指定多個網域,方法是在命令中指定其他 --domains 參數。指定多個網域時,Lego 會創建一個主題備用名稱 (SAN) 憑證,這會導致只有一個憑證對您指定的所有網域有效。清單中的第一個網域會新增為憑證的「CommonName」,其餘網域會新增為「DNSnames」至憑證中的 SAN 延伸模組。

    範例:

    sudo /opt/bitnami/letsencrypt/lego --tls --email="user@example.com" --domains="example.com" --domains="www.example.com" --path="/opt/bitnami/letsencrypt" run
  9. 提示接受服務條款時,請按 YEnter

    您應該會看到類似於以下範例的回應。

    Lego 用戶端成功回應憑證請求

    如果成功,將儲存一組憑證至 /opt/bitnami/letsencrypt/certificates 目錄中。此集包括伺服器憑證檔案 (例如 example.com.crt) 和伺服器憑證金鑰檔案 (例如 example.com.key)。

  10. 依序輸入以下命令,以重新命名執行個體上的現有憑證。稍後,您要用新的 Let's Encrypt 憑證替換現有憑證。

    sudo mv /etc/gitlab/ssl/server.crt /etc/gitlab/ssl/server.crt.old sudo mv /etc/gitlab/ssl/server.key /etc/gitlab/ssl/server.key.old sudo mv /etc/gitlab/ssl/server.csr /etc/gitlab/ssl/server.csr.old
  11. 逐一輸入以下命令,為您的新 Let's Encript 憑證建立符號連結,目/etc/gitlab/ssl錄是 GitLab CE 執行個體上的預設憑證目錄。

    sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.crt /etc/gitlab/ssl/server.crt

    將此命令中的 Domain (網域) 取代為您在請求 Let's Encrypt 憑證時指定的主根網域。

    範例:

    sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.crt /etc/gitlab/ssl/server.crt
  12. 依序輸入以下命令,以變更新 Let's Encrypt 憑證位於的目錄的權限。

    sudo chown root:root /etc/gitlab/ssl/server* sudo chmod 600 /etc/gitlab/ssl/server*
  13. 輸入以下命令以重新啟動 GitLab CE 實例上的應用程序服務。

    sudo service bitnami start

下次您使用設定的網域瀏覽到 GitLab CE 網站時,應該會看到它重新導向至 HTTPS 連線。請注意, GitLab CE 執行個體最多可能需要一個小時才能辨識新憑證。如果您的 GitLab CE 網站拒絕連接,請停止並啟動實例,然後再試一次。

步驟 7:閱讀 GitLab CE 文檔並繼續配置您的網站

閱讀 GitLab CE 文檔以了解如何管理和自定義您的網站。如需詳細資訊,請參閱GitLab 文件

步驟 8:建立執行個體的快照

按照您想要的方式配置 GitLab CE 網站後,請為實例創建定期快照以備份它。您可以手動建立快照,或啟用自動快照,讓 Lightsail 為您建立每日快照。若執行個體出現問題,您可以使用快照建立新的替代執行個體。如需詳細資訊,請參閱快照

在執行個體管理頁面的 Snapshot (快照) 索引標籤下,選擇 Create a snapshot (建立快照) 或選擇啟用自動快照。

在 Lightsail 主控台中建立執行個體快照

如需詳細資訊,請參閱在 Amazon Lightsail 中建立 Linux 或 Unix 執行個體的快照或在 Amazon Lightsail啟用或停用執行個體或磁碟的自動快照