本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Lightsail 上設定和設定 GitLab CE 執行個體
在您的 GitLab CE 執行個體在 Amazon Lightsail 上啟動並執行之後,您應該採取以下幾個步驟來開始使用:
內容
步驟 1:閱讀 Bitnami 文件
閱讀 Bitnami 文檔以了解如何配置您的 GitLab CE 應用程序。如需詳細資訊,請參閱由 Bitnami 封裝的 GitLab CE
步驟 2:獲取默認的應用程序密碼以訪問 GitLab CE 管理區
完成以下步驟以獲取訪問 GitLab CE 網站管理區域所需的默認應用程序密碼。如需詳細資訊,請參閱在 Amazon Lightsail 中取得 Bitnami 執行個體的應用程式使用者名稱和密碼。
-
在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。
-
連線後,請輸入下列命令,以取得應用程式密碼:
cat $HOME/bitnami_application_password
您應該會看到類似於以下範例的回應,其中包含預設應用程式密碼:
步驟 3:將靜態 IP 地址連接至您的執行個體
您第一次建立執行個體時,所指派的公有 IP 地址將會在每次停用和啟用執行個體時變更。您應該建立靜態 IP 地址並將其連接至執行個體,以確保其公有 IP 地址不會變更。稍後,當您在執行個體上使用已註冊的網域名稱時,不必在每次停止並啟動執行個體時更新網域的DNS記錄。example.com
您可以將一個靜態 IP 連接至一個執行個體。
在執行個體管理頁面的 Networking (聯網) 索引標籤下,選擇 Create a static IP (建立靜態 IP) 或 Attach static IP (連接靜態 IP)(若您先前已建立可以連接至執行個體的靜態 IP),然後遵循頁面上的指示執行操作。如需詳細資訊,請參閱建立靜態 IP 並將其附接至執行個體。
將新的靜態 IP 地址連接至執行個體後,必須完成以下步驟,以便應用程式知曉新的靜態 IP 地址。
-
請記下執行個體的靜態 IP 地址。這會列在執行個體管理頁面的標頭區段中。
-
在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。
-
連接後,請輸入以下命令。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 文檔並繼續配置您的網站部分。
-
在執行個體管理頁面的 Connect (連接) 索引標籤下,記下執行個體的公有 IP 地址。公有 IP 地址也會顯示在執行個體管理頁面的標頭區段。
-
瀏覽至執行個體的公有 IP 地址,例如前往
http://203.0.113.0
。您會看到 Gitlab CE 網站首頁。您可能會看到瀏覽器的警告通知,告知您連線並非私有且不安全,或有安全性風險。發生這種情況是因為您的 GitLab CE 實例尚未應用SSL/TLS證書。在瀏覽器視窗中,選擇 Advanced (進階)、Details (詳細資訊) 或 More information (更多資訊),以檢視可用的選項。然後選擇繼續瀏覽該網站,即使該網站不是私有或安全的網站。
-
使用先前依本指南指示取得的預設使用者名稱 (
root
) 和預設密碼登入。您會看到 Gitlab CE 管理儀表板。
步驟 5:將您註冊域名的流量路由到您的 GitLab CE 網站
若要將已註冊網域名稱的流量路由至您的 GitLab CE 網站,請將記錄新增至您網域的網域名稱系統 (DNS)。example.com
DNS記錄通常在您註冊網域的註冊商處進行管理和託管。不過,我們建議您將網域DNS記錄的管理權限轉移至 Lightsail,以便您可以使用 Lightsail 主控台進行管理。
在 Lightsail 主控台首頁的 [網路功能] 索引標籤下,選擇 [建立DNS區域],然後依照頁面上的指示進行。如需詳細資訊,請參閱建立DNS區域以管理網域DNS記錄。
在您的網域名稱將流量路由到執行個體之後,您必須完成下列程序,讓 GitLab CE 知道網域名稱。
-
在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。
-
連接後,請輸入以下命令。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 網站上進行配置。這些步驟向您展示瞭如何使用樂高客戶端
重要
在開始此程序之前,請確定您已設定網域以將流量路由到 GitLab CE 執行個體。否則,SSL/TLS證書驗證過程將失敗。若要為您註冊的網域名稱路由流量,請將記錄新增至您DNS的網域。DNS記錄通常在您註冊網域的註冊商處進行管理和託管。不過,我們建議您將網域DNS記錄的管理權限轉移至 Lightsail,以便您可以使用 Lightsail 主控台進行管理。
在 Lightsail 主控台首頁的「網域與 DNS」索引標籤下,選擇「建立DNS區域」,然後依照頁面上的指示操作。如需詳細資訊,請參閱在 Lightsail 中建立DNS區域以管理您的網域DNS記錄。
-
在執行個體管理頁面的 [Connect] 索引標籤下,選擇 [Connect 方式] SSH。
-
連接之後,請輸入下列命令,以將目錄更改為臨時 (/tmp) 目錄。
cd /tmp
-
輸入下列命令,以下載最新版本的 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 -
-
輸入下列命令,以從 tar 檔案中提取檔案。Replace (取代)
X.Y.Z
與您下載的樂高客戶端的版本。tar xf lego_v
X.Y.Z
_linux_amd64.tar.gz範例:
tar xf lego_v
4.7.0
_linux_amd64.tar.gz -
輸入下列命令,以建立
/opt/bitnami/letsencrypt
目錄,您將把 Lego 用戶端檔案移動到其中。sudo mkdir -p /opt/bitnami/letsencrypt
-
輸入以下命令,以將 Lego 用戶端檔案移動到建立的目錄中。
sudo mv lego /opt/bitnami/letsencrypt/lego
-
依序輸入以下命令,以停止在執行個體上運行的應用程式服務。
sudo service bitnami stop sudo service gitlab-runsvdir stop
-
輸入以下命令以使用樂高客戶端請求讓我們加密SSL/TLS證書。
sudo /opt/bitnami/letsencrypt/lego --tls --email="
EmailAddress
" --domains="RootDomain
" --domains="WwwSubDomain
" --path="/opt/bitnami/letsencrypt" run將命令中的以下範例值取代為自訂值:
-
– 註冊通知所用的電子郵件地址。EmailAddress
-
— 將流量路由到您的 GitLab CE 網站的主要根網域 (例如,RootDomain
example.com
)。 -
— 將流量路由到您的 GitLab CE 網站的主要根網域的WwwSubDomain
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 -
-
提示接受服務條款時,請按 Y 和 Enter。
您應該會看到類似於以下範例的回應。
如果成功,將儲存一組憑證至
/opt/bitnami/letsencrypt/certificates
目錄中。此集包括伺服器憑證檔案 (例如example.com.crt
) 和伺服器憑證金鑰檔案 (例如example.com.key
)。 -
依序輸入以下命令,以重新命名執行個體上的現有憑證。稍後,您要用新的 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
-
逐一輸入以下命令,為您的新 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 -
依序輸入以下命令,以變更新 Let's Encrypt 憑證位於的目錄的權限。
sudo chown root:root /etc/gitlab/ssl/server* sudo chmod 600 /etc/gitlab/ssl/server*
-
輸入以下命令以重新啟動 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 (建立快照) 或選擇啟用自動快照。
如需詳細資訊,請參閱在 Amazon Lightsail 中建立 Linux 或 Unix 執行個體的快照或在 Amazon Lightsail 中啟用或停用執行個體或磁碟的自動快照。