返回部落格

使用 Ansible 在 Ubuntu 上安裝與設定 WordPress 和 LAMP

使用 Ansible 在 Ubuntu 上安裝與設定 WordPress 和 LAMP

簡介

我們總會有需要配置新伺服器的時候。這可能是為了分擔工作負載,或者只是單純需要更多伺服器。在設置新伺服器時,使用者需要利用伺服器自動化來進行配置。這樣做是為了將手動干預降到最低。Ansible 是其中一種組態管理工具,可用於自動配置新伺服器,從而減少手動設置伺服器時發生人為錯誤的機率。

Ansible 是一款功能豐富且架構簡單的工具。它透過指令碼來簡化伺服器的配置。由於其簡潔的架構,Ansible 不需要維護節點上安裝任何其他軟體。

在本教學中,我們將向您展示如何使用 Ansible 自動在 Ubuntu 伺服器上安裝運行 LAMP 架構的 WordPress。 WordPress 是一款用於建立網誌和網站的 CMS,它使用 PHP 作為編碼語言,並使用 MySQL 資料庫來儲存資料。安裝 WordPress 後,使用者可以使用網頁前端來管理網站。

先決條件

Ansible Playbook 執行動作摘要

在本節中,我們將了解執行 Ansible Playbook 時它會做些什麼。此步驟是此處提供的手動設置的替代方案:如何在 Ubuntu 20.04 上使用 LAMP 安裝 WordPress.

當我們執行 Playbook 時,Ansible 將會:

  • 安裝 aptitude ,這是首選的 Ansible 套件管理工具。
  • 安裝並配置 PHP 擴充功能和 LAMP 套件。
  • 建立一個新的 Apache VirtualHost 以用於 WordPress 網站。
  • 啟用 mod_rewrite 模組,並停用 Apache 提供的預設網站。
  • 設定 MySQL root 使用者的密碼。
  • 移除匿名的 MySQL 帳戶和測試資料庫。
  • 建立新使用者和新資料庫。這些將供 WordPress 網站使用。
  • 設定 UFW 以允許在配置的連接埠( 80 預設)上進行 HTTP 流量傳輸。
  • 下載並解壓縮 WordPress。
  • 設定目錄權限和擁有權。
  • 配置一個新的 wp-config.php 檔案(使用其範本)。

WordPress on LAMP Ansible Playbook 指南

首先,我們必須從 do-community/ansible-playbooks 儲存庫中獲取 WordPress on LAMP playbook 及其相依性。我們將在 Ansible 控制節點中複製此儲存庫。

您可以執行 git pull 指令,如下所示:

請確保您已更新拉取上述儲存庫。這是針對您之前已經複製過該儲存庫的情況。以下是獲取更新的方法:

現在我們必須找到 wordpress-lamp_ubuntu 資料夾中的檔案。此資料夾的名稱可能會因您使用的 Ubuntu 版本而有所不同。一目了然,您會在此目錄中看到以下結構:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Dir Struc

讓我們在下方總結這些檔案的用途:

  • files/apache.conf.j2:Apache 使用 VirtualHost。此檔案用於指定 VirtualHost.
  • files/wp-config.php.j2:此檔案包含配置 WordPress 的設定。
  • vars/default.yml:它用於配置 playbook 設定。
  • playbook.yml:如果有需要在遠端伺服器上執行的任務,此檔案用於配置這些任務。
  • readme.md:使用 playbook 的指南。

我們必須編輯 playbook 的變數檔案以自訂安裝。首先,打開 vars/default.yaml 檔案,它位於上述目錄中:

這個檔案相當長。它有許多設定可以幫助我們進行安裝:

在這裡,我們關注以下變數:

  • php_modules:一個包含應安裝以支援您的 WordPress 設定的 PHP 擴充功能的陣列。如果您想安裝更多模組,可以在此處指定。
  • mysql_root_password:MySQL root 帳戶的密碼。
  • mysql_db:這指定了 WordPress 將使用的 MySQL 資料庫名稱。
  • mysql_user:應為 WordPress 建立的 MySQL 使用者名稱。
  • mysql_password:新 MySQL 使用者的密碼。
  • http_host:伺服器的網域名稱或 IP。
  • http_conf:將在 Apache 中建立的設定檔名稱。
  • http_port:此虛擬主機的 HTTP 連接埠。此連接埠用於存取網站。預設值為 80。

接下來,在上述檔案中輸入數值並儲存關閉。對於使用 nano 編輯器的使用者,請按 CTRL+X, Y,然後按 ENTER.

現在您已準備好執行此 playbook。您可以在一部或多部伺服器上執行此 playbook。如果您想在任何特定伺服器上執行此 playbook,可以使用 -l 旗標。此外,如果您需要指定連接到遠端伺服器的使用者,請使用 -u 旗標指定使用者。

假設我們想在任何一部伺服器上執行我們的 playbook, srvr1,並使用使用者 u1,我們可以執行以下指令:

執行上述指令後,您將獲得如下輸出:

等待 playbook 執行完成。然後,在您的網頁瀏覽器中導覽至 server_name :

您將看到以下畫面:

WP Page

接下來,選擇您想要的語言並按下 繼續。您將看到下一個畫面,提示輸入一些詳細資訊以完成安裝:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Set User Pass

之後,輸入資訊並按下 安裝 WordPress。 這需要一些時間,然後您將看到如下畫面:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Install Success

選擇 登入 以登入您的網站並設定相關設定:

Homepage

Ansible Playbook 內容

記住 wordpress-lamp_ubuntu 資料夾。它包含一些檔案。讓我們逐一查看它們:

●    vars/default.yml

此檔案包含用於設定 WordPress 網站設定的數值:

●    files/apache.conf.j2

此檔案用於設定 Apache VirtualHost:

●    files/wp-config.php.j2

此檔案用於設定 WordPress。它包含由雜湊函數產生的唯一金鑰和鹽值:

●    playbook.yml

此檔案包含此設定中定義的所有任務。它首先列出此設定所針對的一組伺服器。它包含 vars/default.yml 變數檔案以載入組態選項:

您可以根據需要修改這些檔案,以符合您正在建立的網站的特定需求。

結論

在本教學中,我們示範了如何使用 Ansible 在最新的 Ubuntu 作業系統上,自動安裝和設定運行於 LAMP 架構上的 WordPress 網站。

如需更多關於使用 Ansible 的指南,您可以查看以下教學,位於 我們的部落格:

祝您運算愉快!

author

Preslav Dobrev

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。