

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

# 在 上設定 GitLab CE 執行個體 Lightsail
<a name="amazon-lightsail-quick-start-guide-gitlab"></a>

**您知道嗎？**  
 Lightsail 當您為執行個體啟用自動快照時， 會儲存七個每日快照，並將最舊的快照自動取代為最新的快照。如需詳細資訊，請參閱[設定Lightsail執行個體和磁碟的自動快照](https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-configuring-automatic-snapshots.html)。

以下為 GitLab CE 執行個體啟動並在 Amazon Lightsail 上執行後，您應該開始採取的幾個步驟：

**內容**
+ [步驟 1：閱讀 Bitnami 文件](#amazon-lightsail-read-the-bitnami-documentation-gitlab)
+ [步驟 2：取得存取 GitLab CE 管理區域所需的預設應用程式密碼](#amazon-lightsail-get-the-default-user-password-gitlab)
+ [步驟 3：將靜態 IP 地址連接至您的執行個體](#amazon-lightsail-attach-static-ip-gitlab)
+ [步驟 4：登入 Gitlab CE 網站的管理區](#amazon-lightsail-sign-in-gitlab)
+ [步驟 5：將已註冊網域的流量路由至 GitLab CE 網站](#amazon-lightsail-map-your-domain-to-your-instance-gitlab)
+ [步驟 6：為 GitLab CE 網站設定 HTTPS](#amazon-lightsail-https-gitlab)
+ [步驟 7：閱讀 GitLab CE 文件並繼續設定網站](#amazon-lightsail-read-documentation-gitlab)
+ [步驟 8：建立執行個體的快照](#amazon-lightsail-create-a-snapshot-gitlab)

## 步驟 1：閱讀 Bitnami 文件
<a name="amazon-lightsail-read-the-bitnami-documentation-gitlab"></a>

閱讀 Bitnami 文件以了解如何設定您的 GitLab CE 應用程式。如需詳細資訊，請參閱 [GitLab CE Packaged By Bitnami For AWS 雲端](https://docs.bitnami.com/aws/apps/gitlab/)。

## 步驟 2：取得存取 GitLab CE 管理區域所需的預設應用程式密碼
<a name="amazon-lightsail-get-the-default-user-password-gitlab"></a>

完成下列程序，以取得 GitLab CE 網站管理區域所需的預設應用程式密碼。如需詳細資訊，請參閱[在 Amazon Lightsail 中取得由「Bitnami 認證」之執行個體的應用程式使用者名稱和密碼](log-in-to-your-bitnami-application-running-on-amazon-lightsail.md)。

1. 在執行個體管理頁面的 **Connect** (連接) 索引標籤下，選擇 **Connect using SSH** (使用 SSH 連接)。  
![在 Lightsail 主控台中使用 SSH 連接](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-connect-to-your-instance.png)

1. 連線後，請輸入下列命令，以取得應用程式密碼：

   ```
   cat $HOME/bitnami_application_password
   ```

   您應該會看到類似於以下範例的回應，其中包含預設應用程式密碼：  
![Bitnami 預設應用程式密碼。](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/amazon-lightsail-bitnami-application-password.png)

## 步驟 3：將靜態 IP 地址連接至您的執行個體
<a name="amazon-lightsail-attach-static-ip-gitlab"></a>

連接到執行個體的預設動態公有 IP 地址會在每次停止和啟動執行個體時變更。您可以建立靜態 IP 地址並將其連接至執行個體，以防止公有 IP 地址變更。接著，使用網域名稱搭配執行個體時，您不必在每次停止和啟動執行個體時更新網域的 DNS 記錄。每個執行個體只能連接一個靜態 IP 地址。

在執行個體管理頁面的網路****索引標籤下，選擇**建立靜態 IP **或**連接靜態 IP** （如果您先前已建立可連接至執行個體的靜態 IP)，然後遵循頁面上的指示。如需詳細資訊，請參閱[建立靜態 IP 並將其附接至執行個體](lightsail-create-static-ip.md)。

![在Lightsail 主控台中連接靜態 IP 地址](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-static-ip-address.png)


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

1. 請記下執行個體的靜態 IP 地址。這會列在執行個體管理頁面的標頭區段中。  
![Lightsail 執行個體的公有或靜態 IP 地址](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-public-static-ip.png)

1. 在執行個體管理頁面的 **Connect** (連接) 索引標籤下，選擇 **Connect using SSH** (使用 SSH 連接)。  
![使用 SSH 連接至您的執行個體](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-connect-using-ssh.png)

1. 連接後，請輸入以下命令。將 {{<StaticIP>}} 取代為執行個體新的靜態 IP 地址。

   ```
   sudo /opt/bitnami/configure_app_domain --domain {{<StaticIP>}}
   ```

   **範例**：

   ```
   sudo /opt/bitnami/configure_app_domain --domain {{203.0.113.0}}
   ```

   您應該會看到類似於以下範例的回應。您的執行個體上的應用程式現在應該已知曉新的靜態 IP 地址。  
![網域組態工具的結果](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-configure-domain-ip-gitlab.png)

## 步驟 4：登入 Gitlab CE 網站的管理區
<a name="amazon-lightsail-sign-in-gitlab"></a>

現在您有了預設使用者密碼，請導覽至 GitLab CE 網站的首頁並登入管理區。登入後，您可以開始自訂網站並進行管理級變更。如需詳細資訊，了解能在 GitLab CE 中執行哪些作業，請參閱本指南後述的[步驟 7：閱讀 GitLab CE 文件並繼續設定網站](#amazon-lightsail-read-documentation-gitlab)章節。

1. 在執行個體管理頁面的 **Connect** (連接) 索引標籤下，記下執行個體的公有 IP 地址。公有 IP 地址也會顯示在執行個體管理頁面的標頭區段。  
![執行個體的公有 IP 地址](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-public-ip.png)

1. 瀏覽至執行個體的公有 IP 地址，例如前往 `http://203.0.113.0`。

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

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

   您會看到 Gitlab CE 管理儀表板。  
![Gitlab CE 管理儀表板](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/amazon-lightsail-gitlab-dashboard.png)

## 步驟 5：將已註冊網域的流量路由至 GitLab CE 網站
<a name="amazon-lightsail-map-your-domain-to-your-instance-gitlab"></a>

若要將已註冊網域 (例如 `example.com`) 的流量路由至 Gitlab CE 網站，請新增記錄至網域的網域名稱系統 (DNS)。DNS 記錄通常會在您註冊網域的註冊商處進行管理和託管。然而，建議您將網域 DNS 記錄的管理轉接至 Lightsail，讓您可使用 Lightsail 主控台管理。

在 Lightsail 主控台首頁的 **Networking** (聯網) 索引標籤下，選擇 **Create DNS zone** (建立 DNS 區域)，然後遵循頁面上的指示執行操作。如需詳細資訊，請參閱[建立 DNS 區域以管理域的 DNS 記錄](lightsail-how-to-create-dns-entry.md)。

![在 Lightsail 主控台中建立 DNS 區域](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-create-dns-zone.png)


網域將流量路由至執行個體後，必須完成以下步驟，以便 GitLab CE 知曉該網域名稱。

1. 在執行個體管理頁面的 **Connect** (連接) 索引標籤下，選擇 **Connect using SSH** (使用 SSH 連接)。  
![使用 SSH 連接至您的執行個體](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-connect-using-ssh.png)

1. 連接後，請輸入以下命令。將 {{<DomainName>}} 取代為要將流量路由至執行個體之網域的名稱。

   ```
   sudo /opt/bitnami/configure_app_domain --domain {{<DomainName>}}
   ```

   **範例**：

   ```
   sudo /opt/bitnami/configure_app_domain --domain {{example.com}}
   ```

   您應該會看到類似於以下範例的回應。GitLab CE 執行個體現在應該已知曉該網域名稱。  
![網域組態工具的結果](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-configure-domain-example-gitlab.png)
**注意**  
如果該命令失敗，您可以使用較舊版本的 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](#amazon-lightsail-https-gitlab)。

## 步驟 6：為 GitLab CE 網站設定 HTTPS
<a name="amazon-lightsail-https-gitlab"></a>

完成下列程序，以設定 GitLab CE 網站上的 HTTPS。這些步驟描述了如何使用 [Lego 用戶端](https://github.com/go-acme/lego)，它是一個命令行工具，用於請求 Let's Encrypt SSL/TLS 憑證。

**重要**  
開始此程序之前，請確保您已將網域設定為將流量路由到 GitLab CE 執行個體。否則，SSL/TLS 憑證驗證過程會失敗。若要路由已註冊網域的流量路，請新增記錄至網域的 DNS。DNS 記錄通常會在您註冊網域的註冊商處進行管理和託管。然而，建議您將網域 DNS 記錄的管理轉接至 Lightsail，讓您可使用 Lightsail 主控台管理。  
在 Lightsail 主控台首頁的 **Domains & DNS** (網域和 DNS) 索引標籤下，選擇 **Create DNS zone** (建立 DNS 區域)，然後遵循頁面上的指示執行操作。如需詳細資訊，請參閱[在 Lightsail 中建立 DNS 區域以管理網域的 DNS 記錄](lightsail-how-to-create-dns-entry.md)。

1. 在執行個體管理頁面的 **Connect** (連接) 索引標籤下，選擇 **Connect using SSH** (使用 SSH 連接)。  
![在 Lightsail 主控台中使用 SSH 連接](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-connect-to-your-instance.png)

1. 連接之後，請輸入下列命令，以將目錄更改為臨時 (/tmp) 目錄。

   ```
   cd /tmp
   ```

1. 輸入下列命令，以下載最新版本的 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 -
   ```

1. 輸入下列命令，以從 tar 檔案中提取檔案。將 {{X.Y.Z}} 取代為您下載的 Lego 用戶端版本。

   ```
   tar xf lego_v{{X.Y.Z}}_linux_amd64.tar.gz
   ```

   **範例**：

   ```
   tar xf lego_v{{4.7.0}}_linux_amd64.tar.gz
   ```

1. 輸入下列命令，以建立 `/opt/bitnami/letsencrypt` 目錄，您將把 Lego 用戶端檔案移動到其中。

   ```
   sudo mkdir -p /opt/bitnami/letsencrypt
   ```

1. 輸入以下命令，以將 Lego 用戶端檔案移動到建立的目錄中。

   ```
   sudo mv lego /opt/bitnami/letsencrypt/lego
   ```

1. 輸入下列命令以停止執行個體上執行的應用程式服務。

   ```
   sudo service bitnami stop && \
   sudo service gitlab-runsvdir stop
   ```

1. 輸入以下命令，以使用 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.example.com`) 之主要根域的 `www` 子域。

     您可以為憑證指定多個網域，方法是在命令中指定其他 `--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
   ```

1. 提示接受服務條款時，請按 **Y** 和 **Enter**。

   您應該會看到類似於以下範例的回應。  
![Lego 用戶端成功回應憑證請求](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-configure-domain-cert-response-gitlab.png)

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

1. 輸入下列命令來重新命名執行個體上的現有憑證。稍後，您要用新的 Let's Encrypt 憑證替換現有憑證。

   ```
   sudo mv /etc/gitlab/ssl/tls.crt /etc/gitlab/ssl/tls.crt.old && \
   sudo mv /etc/gitlab/ssl/tls.key /etc/gitlab/ssl/tls.key.old
   ```

1. 輸入下列命令，在 `/etc/gitlab/ssl`目錄中為新的 Let's Encrypt 憑證建立符號連結，這是 GitLab CE 執行個體上的預設憑證目錄。

   ```
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/{{Domain}}.key /etc/gitlab/ssl/tls.key && \
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/{{Domain}}.crt /etc/gitlab/ssl/tls.crt
   ```

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

   **範例**：

   ```
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/{{example.com}}.key /etc/gitlab/ssl/tls.key && \
   sudo ln -sf /opt/bitnami/letsencrypt/certificates/{{example.com}}.crt /etc/gitlab/ssl/tls.crt
   ```

1. 輸入下列命令，在您將新 Let's Encrypt 憑證移至其中的目錄中變更其許可。

   ```
   sudo chown root:root /etc/gitlab/ssl/tls* && \
   sudo chmod 600 /etc/gitlab/ssl/tls*
   ```

1. 輸入下列命令，以重新啟動 GitLab CE 執行個體上的應用程式服務。

   ```
   sudo service bitnami start && \
   sudo service gitlab-runsvdir start
   ```

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

## 步驟 7：閱讀 GitLab CE 文件並繼續設定網站
<a name="amazon-lightsail-read-documentation-gitlab"></a>

閱讀 GitLab CE 文件以了解如何管理和自訂網站。如需詳細資訊，請參閱 [GitLab 文件](https://docs.gitlab.com/ee/index.html)。

## 步驟 8：建立執行個體的快照
<a name="amazon-lightsail-create-a-snapshot-gitlab"></a>

按照您想要的方式設定 GitLab CE 網站後，請定期建立執行個體的快照以作為備份。您可以手動建立快照，也可以啟用自動快照，讓 Lightsail 為您建立每日快照。若執行個體出現問題，您可以使用快照建立新的替代執行個體。如需詳細資訊，請參閱[快照](understanding-snapshots-in-amazon-lightsail.md)。

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

![在 Lightsail 主控台中建立執行個體快照](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/quick-start-instance-snapshots.png)


如需詳細資訊，請參閱[在 Amazon Lightsail 中建立 Linux 或 Unix 執行個體的快照](lightsail-how-to-create-a-snapshot-of-your-instance.md)或[在 Amazon Lightsail 中啟用或停用執行個體或磁碟的自動快照](amazon-lightsail-configuring-automatic-snapshots.md)。