Ubuntu 20.04 WordPress 安裝教程
步驟 1:為 WordPress 設置新的 MySQL 資料庫和用戶。
安裝 WordPress 站點的第一步是創建一個資料庫,WordPress 將使用該資料庫來存儲和管理站點和用戶資料。為簡潔起見,我們不會完成安裝和設置 MySQL 軟件本身的步驟,因為我們在LAMP 教程中有這些步驟。但是,我們需要一個資料庫和一個 WordPress 將用來登錄資料庫的用戶。通過在終端上輸入以下內容登錄 MySQL root 帳戶:
sudo mysql -u root -p
然後,輸入您第一次安裝 MySQL 時設置的 root 密碼,然後按 Enter 鍵登錄。之後,創建一個 WordPress 將控制的資料庫。您可以為資料庫選擇任何名稱,但在本教程中,我們將其稱為 wordpress。
接下來,在終端中輸入以下 SQL 語句以創建資料庫。不要忘記 SQL 語句末尾的分號:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
現在我們有了一個資料庫,我們需要一個單獨的用戶帳戶來登錄這個帳戶。在構建系統時遵循單一功能規則始終是一個好習慣。在這種情況下,一個單獨的用戶將只登錄到這個資料庫。從安全和管理的角度來看,它使事情變得更容易。我們可以稱這個用戶為 wpuser。您可以隨意使用您選擇的用戶名。該用戶需要擁有控制資料庫中資料的所有權限,即創建、讀取、更新、刪除(CRUD)。輸入以下命令以創建用戶。請記住用強密碼替換密碼:
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
下一步是向該用戶授予對 wordpress 資料庫的所有權限。輸入以下命令:
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';
創建用戶並授予權限後,使用以下命令將用戶登錄方法調整為 mysql_native_password。這是為了允許 WordPress 使用用戶名和密碼組合訪問資料庫:
ALTER USER 'wpuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
最後,刷新權限以使這些更改立即生效:
FLUSH PRIVILEGES;
exit
第 2 步:配置 PHP 以使用 WordPress 插件
當然,通過 LAMP 堆棧安裝,您已經安裝了 PHP,以及提供網頁和與 MySQL 通信所需的一些基本擴展。但是,WordPress 需要額外的 PHP 擴展才能使其插件正常工作。首先,讓我們使用以下命令更新和安裝必要的擴展:
sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
我們在此處安裝的 PHP 擴展用於基本的 WordPress 安裝。隨著您繼續使用 WordPress,您可能會意識到您需要更多WordPress 插件。這些不同的插件可能需要您安裝額外的 PHP 擴展。您始終可以從插件的文檔頁面中找到有關您希望安裝的每個插件的系統要求的更多信息。一旦您知道需要哪個 PHP 擴展,您就可以使用 apt 命令如上所示安裝它,即 sudo apt install php_extension_name。
要使擴展開始工作,您必須重新啟動 Apache 服務器。輸入以下命令:
sudo systemctl restart apache2
第 3 步:配置 Apache 的 .htaccess 以處理覆蓋和重寫規則
.htaccess 文件位於網站的根目錄中。它們包含 Apache 用來適當引導請求的規則。WordPress 使用其 .htaccess來操縱 Apache 如何從其根目錄和後續子目錄提供文件。虛擬主機可以幫助您在一台服務器上託管無限的網站。要了解有關虛擬主機的更多信息,您可以查看我們關於如何在 Ubuntu 20.04 上設置 Apache 虛擬主機的教程。
虛擬主機配置文件存儲在 /etc/apache2/sites-available/ 目錄中。該目錄已經包含 Apache 安裝附帶的 000-default.conf。如果您僅在此服務器上託管一個站點,則可以使用此默認配置文件。在本教程中,我們只託管一個站點,因此我們可以輕鬆地使用此文件。
此外,Ubuntu 只允許通過 Web 訪問存儲在 /var/www 目錄中的文件。如果您有全新的 LAMP 安裝,則當您導航到站點的公共 IP 地址時,會出現默認的 Apache 歡迎頁面。歡迎頁面索引文件位於 /var/www/html 目錄中。我們將用 WordPress 文件替換此文件:
啟用 .htaccess 覆蓋。
默認情況下,.htaccess 目錄覆蓋被禁用。要使 WordPress 及其插件正常工作,您必須啟用目錄覆蓋。這通常在虛擬主機文件中完成。要使用 nano 編輯器打開 000-default.conf 文件,請輸入以下命令:
sudo nano /etc/apache2/sites-available/000-default.conf
默認配置文件看起來像這樣,沒有隨附的註釋:(下方為檔案內容非要下的指令)
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port t>
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
AllowOverride 指令添加到指向網站文檔根目錄的 Directory 塊中。添加目錄塊並更新文檔根目錄。配置文件現在應如下所示:(複製下方內容整個取代原始內容)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
AllowOverride All
</Directory>
</VirtualHost>
要保存文件,請按 Ctrl + X、Y、ENTER。
啟用重寫模塊。
WordPress 帶有永久鏈接功能,可確保漂亮的搜索引擎優化 URL。它們依賴於一個名為 mod_rewrite 的 Apache 模塊。您可以使用以下命令啟用該模塊:
sudo a2enmod rewrite
測試配置更改。
為確保更改後一切正常,請輸入以下命令來測試更改:
sudo apache2ctl configtest
Syntax OK <=此為顯示結果,不要拿來下命令。
如果您看到語法正常,那麼我們就可以繼續了。如果您看到其他內容,則必須返回並更正配置文件中可能留下的任何拼寫錯誤。
啟用更改。
要啟用新更改,請輸入以下命令以重新啟動 Apache:
sudo systemctl restart apache2
到目前為止,我們的服務器已準備好為 WordPress 提供服務。
第 4 步:下載 WordPress
我們現在可以下載 WordPress 並設置我們的網站。我們網站的文檔根目錄將位於 /var/www/html 目錄中。我們將替換默認的 Apache 歡迎頁面。首先,我們需要從他們的網站下載 WordPress。出於安全考慮和其他更改,請始終下載最新版本。輸入以下命令進入可寫臨時目錄:
cd /tmp
使用以下命令下載 WordPress 壓縮文件:
curl -O https://wordpress.org/latest.tar.gz
接下來,輸入以下命令從壓縮的 tar 文件中提取文件:
tar xzvf latest.tar.gz
這些文件將進入 /tmp/wordpress 目錄。讓我們創建一個 WordPress 將使用的 .htaccess 文件。輸入以下命令:
touch /tmp/wordpress/.htaccess
WordPress 配置保存在 wp-config.php 文件中。一個新的 WordPress 安裝帶有一個示例配置文件,我們可以將其複製到 wp-config.php 文件。輸入以下命令複製此文件:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
每當發現漏洞時,WordPress 通常都會提供升級或安全補丁。這通常首先在升級目錄中處理。為了防止 WordPress 遇到權限問題,您可以使用以下命令創建目錄:
mkdir /tmp/wordpress/wp-content/upgrade
最後,需要將 /tmp/wordpress 目錄中的內容移動到 /var/www/html 目錄中。首先,刪除可能在該目錄中的任何文件:
ls /var/www/html

由於我們使用默認的 Apache webroot,它可能有 Apache 歡迎頁面 index.html 文件。通過輸入以下命令將其刪除:(若有其他檔案請一併刪除)
sudo rm /var/www/html/index.html
sudo rm /var/www/html/test.php <=前篇建置系統時遺留的測試檔案
現在,輸入以下命令從 /tmp 目錄複製提取的 WordPress 文件。源目錄末尾的點確保複製目錄的每個內容:
sudo cp -a /tmp/wordpress/. /var/www/html
如果您將目錄更改為 /var/www/html 目錄並列出內容,您應該能夠看到 WordPress 文件,如下面的屏幕截圖所示:
ls /var/www/html

第 5 步:在 WordPress 目錄中設置用戶權限和資料庫憑據
在訪問 Web 前端管理面板之前,您必須調整一些設置。這些包括目錄所有權權限和資料庫用戶憑據。
調整目錄所有權和權限。
WordPress 目錄的所有權目前屬於 sudo 用戶。所有權需要更改為 www-data 用戶和組,這是 Apache Web 服務器使用的。將所有權更改為 www-data 允許 WordPress 讀取和寫入文件,從而正確地為網頁提供服務並在必要時執行自動更新。我們可以使用 chown 命令更新所有權。在您的終端上輸入以下內容:
sudo chown -R www-data:www-data /var/www/html
WordPress 安裝的所有子目錄都需要正確的權限。您可以使用 find 命令更改他們的權限,如圖所示。記住末尾的分號以避免遇到錯誤:
sudo find /var/www/html/ -type d -exec chmod 750 {} \;
sudo find /var/www/html/ -type f -exec chmod 640 {} \;
WordPress 現在可以處理當前的更改。某些插件可能需要調整,但您可以在各個插件的文檔頁面上輕鬆找到相關信息。
更新 WordPress 配置文件
我們將在本節中編輯的文件是 wp-config.php,其中包含運行 WordPress 站點的必要配置。首先,讓我們更改密鑰以提高安裝的安全性。WordPress 提供了一個秘密密鑰生成器實用程序,您可以使用它來獲取一些高度安全的密鑰,而不必生成自己的密鑰。您可以使用以下命令獲取它們:
curl -s https://api.wordpress.org/secret-key/1.1/salt/

上面顯示的輸出包含您可以復製並粘貼到 wp-config.php 文件中的確切配置行。突出顯示您收到的鍵並將它們複製到剪貼板。使用以下命令在 nano 編輯器中打開 wp-config.php 文件:(不要這麼呆用版主的密鑰)
sudo nano /var/www/html/wp-config.php
仔細查看以找到包含虛擬鍵的部分,它可能看起來像這個截圖:

刪除這些虛擬字符串並將它們替換為您從命令行複制的字符串(修改密鑰範圍為前後上引號以內)。接下來別急著存檔離開,將檔案內文置頂,WordPress 需要與您在本教程的第一步中創建的資料庫進行通信。在配置文件的開頭,您應該會看到 MySQL 設置部分。它會是這樣的:

您需要更新在步驟一中創建的資料庫名稱、資料庫用戶和關聯密碼,您可以簡單地定義資料庫設置部分下方的字符串:(下方為檔案內容非要下的指令)
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wpuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
準備好後保存並關閉 wp-config.php 文件。
步驟 6:通過 Web 前端完成安裝
至此,服務器配置完成,您應該可以通過您的域名或服務器的公共 IP 地址直接在 Web 上訪問您的 WordPress 安裝了。您應該會看到 WordPress 初始設置頁面。選擇您的語言並繼續:

接下來,您將看到主設置頁面,您可以在其中設置用於登錄管理儀表板的站點標題、用戶名和密碼。適當填寫詳細信息。已經為您生成了一個強密碼。您可以選擇輸入您選擇的強密碼。保存並繼續:

目前,WordPress安裝成功,下一頁提示您登錄:

登錄後,您將被定向到 WordPress 管理儀表板:

結論
在本教程中,您成功配置了 LAMP 並安裝了 WordPress 站點。這是一個巨大的進步,因為您現在可以在幾分鐘內託管任何 WordPress 網站。接下來的步驟包括查看可能會改善您網站外觀的WordPress主題、添加功能的WordPress 插件或嘗試使用 WordPress 可以做的其他一些事情。