在 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 執行個體的應用程式使用者名稱和密碼

  1. 在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。

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

    cat $HOME/bitnami_application_password

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

    Bitnami 預設應用程式密碼。

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

您第一次建立執行個體時,所指派的公有 IP 地址將會在每次停用和啟用執行個體時變更。您應該建立靜態 IP 地址並將其連接至執行個體,以確保其公有 IP 地址不會變更。稍後,當您在執行個體上使用已註冊的網域名稱時,不必在每次停止並啟動執行個體時更新網域的DNS記錄。example.com您可以將一個靜態 IP 連接至一個執行個體。

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

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

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

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

    執行個體的公用或靜態 IP 位址
  2. 在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。

    使用 SSH 連線至您的執行個體
  3. 連接後,請輸入以下命令。Replace (取代) <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記錄

在主控台中建 Lightsail DNS 區域

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

  1. 在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。

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

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

    範例:

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

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

    網域組態工具的結果

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

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

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

    sudo mv bnconfig bnconfig.disabled

接下來,您應該生成並配置SSL/TLS證書以啟用您的 GitLab CE 網站的HTTPS連接。如需詳細資訊,請繼續閱讀本指南的下一個步驟 6:HTTPS為您的 GitLab CE 網站設定一節。

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

完成以下程序以HTTPS在您的 GitLab CE 網站上進行配置。這些步驟向您展示瞭如何使用樂高客戶端,這是請求 Let's EncryptSSL/TLS證書的命令行工具。

重要

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

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

  1. 在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。

    Connect 用主控台SSH中的 Lightsail 方式
  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 檔案中提取檔案。Replace (取代) X.Y.Z 與您下載的樂高客戶端的版本。

    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. 輸入以下命令以使用樂高客戶端請求讓我們加密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 參數。當您指定多個域時,樂高創建一個主題替代名稱(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啟用或停用執行個體或磁碟的自動快照