教學課程:在 Azure Linux VM 上安裝 LAMP 堆疊
適用於: ✔️ Linux VM
本文會逐步引導您在 Azure 中的 Ubuntu VM 上部署 Apache 網頁伺服器、MySQL 和 PHP (LAMP 堆疊)。 若要查看作用中的 LAMP 伺服器,您可以選擇安裝及設定 WordPress 網站。 在本教學課程中,您將了解如何:
- 建立 Ubuntu VM
- 針對 Web 流量開啟連接埠 80
- 安裝 Apache、MySQL 和 PHP
- 驗證安裝和設定
- 安裝 WordPress
此安裝程式適用於快速測試或概念證明。 如需 LAMP 堆疊的詳細資訊 (包括適用於生產環境的建議),請參閱 Ubuntu 文件。
本教學課程會使用 Azure Cloud Shell 內的 CLI,這會不斷更新至最新版本。 若要開啟 Cloud Shell,請選取任何程式碼區塊頂端的 [試試看]。
如果您選擇在本機安裝和使用 CLI,本教學課程會要求您執行 Azure CLI 2.0.30 版或更新版本。 執行 az --version
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。
建立資源群組
使用 az group create 命令來建立資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。
下列範例會在 eastus 位置建立名為 myResourceGroup 的資源群組。
az group create --name myResourceGroup --location eastus
建立虛擬機器
使用 az vm create 命令來建立 VM。
下列範例會建立名為 myVM 的 VM,並建立 SSH 金鑰 (如果它們不存在於預設金鑰位置)。 若要使用一組特定金鑰,請使用 --ssh-key-value
選項。 此命令也會將 azureuser 設定為管理員使用者名稱。 稍後您會使用此名稱來連線到 VM。
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
建立 VM 後,Azure CLI 會顯示類似下列範例的資訊。 記下 publicIpAddress
。 後面的步驟會使用此位址來存取 VM。
{
"fqdns": "",
"id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "40.68.254.142",
"resourceGroup": "myResourceGroup"
}
針對 Web 流量開啟連接埠 80
依預設只能透過 SSH 連線至 Azure 中部署的 Linux VM。 因為此 VM 即將成為 Web 伺服器,所以您需要從網際網路開啟連接埠 80。 使用 az vm open-port 命令來開啟所需的連接埠。
az vm open-port --port 80 --resource-group myResourceGroup --name myVM
如需開啟連接埠以連接 VM 的詳細資訊,請參閱開啟連接埠。
透過 SSH 連線到您的 VM
如果您還不知道您 VM 的公用 IP 位址,請執行 az network public-ip list 命令。 後面有幾個步驟需要此 IP 位址。
az network public-ip list --resource-group myResourceGroup --query [].ipAddress
使用下列命令,建立與虛擬機器的 SSH 工作階段。 替換為您虛擬機器的正確公用 IP 位址。 在此範例中,IP 位址是 40.68.254.142。 azureuser 是您在建立 VM 時所設定的管理員使用者名稱。
ssh azureuser@40.68.254.142
安裝 Apache、MySQL 和 PHP
執行下列命令以更新 Ubuntu 套件來源,並安裝 Apache、MySQL 和 PHP。 請注意命令結尾的插入號 (^),其為 lamp-server^
套件名稱的一部分。
sudo apt update && sudo apt install lamp-server^
系統會提示您安裝套件和其他相依性。 此程序會安裝使用 PHP 搭配 MySQL 時所需的基本必要 PHP 擴充功能。
驗證 Apache
使用下列命令檢查 Apache 的版本:
apache2 -v
安裝 Apache 後,且連接埠 80 對您的 VM 狀態為開啟,即可立即從網際網路存取網頁伺服器。 若要檢視 Apache2 Ubuntu 預設網頁,請開啟網頁瀏覽器,並輸入 VM 的公用 IP 位址。 使用您在透過 SSH 連線到 VM 時所使用的公用 IP 位址:
驗證並保護 MySQL
使用下列命令檢查 MySQL 的版本 (請注意 V
參數是大寫):
mysql -V
若要協助保護 MySQL 的安裝 (包括設定根密碼),請執行 mysql_secure_installation
指令碼。
sudo mysql_secure_installation
您可以選擇性地設定驗證密碼外掛程式 (建議選項)。 然後,設定 MySQL 根使用者的密碼,並針對您的環境設定其餘安全性設定。 我們建議您對所有問題回答 "Y" (是)。
如果您想要試用 MySQL 功能 (建立 MySQL 資料庫、新增使用者或變更組態設定),請登入 MySQL。 您不需要進行這個步驟也能完成本教學課程。
sudo mysql -u root -p
完成後,輸入 \q
以結束 mysql 提示字元。
驗證 PHP
使用下列命令檢查 PHP 的版本:
php -v
如果您想要進一步測試,請建立要在瀏覽器中檢視的快速 PHP 資訊網頁。 下列命令會建立 PHP 資訊網頁:
sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'
現在您可以檢查您所建立的 PHP 資訊網頁。 開啟瀏覽器並移至至 http://yourPublicIPAddress/info.php
。 替換為您 VM 的公用 IP 位址。 該頁面看起來應該類似下圖。
安裝 WordPress
如果您想要嘗試您的堆疊,請安裝範例應用程式。 例如,下列步驟可安裝開放原始碼 WordPress 平台以建立網站和部落格。 其他可嘗試的工作負載包括 Drupal 和 Moodle。
此 WordPress 設定只適用於概念證明。 若要在生產環境中使用建議的安全性設定安裝最新的 WordPress,請參閱 WordPress 文件。
安裝 WordPress 套件
執行以下命令:
sudo apt install wordpress
設定 WordPress
將 WordPress 設定為使用 MySQL 和 PHP。
在工作目錄中,建立文字檔 wordpress.sql
以設定 WordPress 的 MySQL 資料庫:
sudo sensible-editor wordpress.sql
新增下列命令,以您選擇的資料庫密碼替代 yourPassword (其他值維持不變)。 如果您先前已設定 MySQL 安全性原則來驗證密碼強度,請確定此密碼符合強度需求。 儲存檔案。
CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';
執行下列命令來建立資料庫:
cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf
wordpress.sql
檔案中包含資料庫認證,因此請在使用下列命令後將其刪除:
sudo rm wordpress.sql
若要設定 PHP,請執行下列命令來開啟您選擇的文字編輯器,並建立 /etc/wordpress/config-localhost.php
檔案:
sudo sensible-editor /etc/wordpress/config-localhost.php
將下列幾行複製到檔案,以您的 WordPress 資料庫密碼替代 yourPassword (其他值維持不變)。 然後儲存檔案。
<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourPassword');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>
將 WordPress 安裝移至 Web 伺服器文件根目錄:
sudo ln -s /usr/share/wordpress /var/www/html/wordpress
sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php
您現在即可完成 WordPress 設定並且在平台上發佈。 開啟瀏覽器並移至至 http://yourPublicIPAddress/wordpress
。 替換為您 VM 的公用 IP 位址。 該頁面看起來應該類似下圖。
下一步
在本教學課程中,您已在 Azure 中部署 LAMP 伺服器。 您已了解如何︰
- 建立 Ubuntu VM
- 針對 Web 流量開啟連接埠 80
- 安裝 Apache、MySQL 和 PHP
- 驗證安裝和設定
- 在 LAMP 伺服器上安裝 WordPress
前進到下一個教學課程,以了解如何使用 TLS/SSL 憑證保護 Web 伺服器。