如何在 Ubuntu 20.04 上使用 LAMP 安裝 WordPress

Home 教學 如何在 Ubuntu 20.04 上使用 LAMP 安裝 WordPress
如何在 Ubuntu 20.04 上使用 LAMP 安裝 WordPress
WordPress

介紹

WordPress 無疑是現今最受歡迎的內容管理系統(CMS)。 您可以在 WordPress 上託管任何內容——從簡單的投資組合網站、公司登錄頁面和部落格到成熟的電子商務網站。 它保證了靈活性、穩健性和安全性,這是任何網站成功的關鍵。

下載和安裝 WordPress 非常簡單,一旦您將它安裝到您的服務器上,大部分管理任務都可以從 Web 前端完成。 WordPress 需要組合軟體組件才能運行。 這些軟體組件通常組合在一起形成一個堆棧。 在本教學中,我們將專注於使用 LAMP 堆棧來運行我們的 WordPress 網站。

步驟一:為 WordPress 設定新的 MySQL 數據庫和用戶。

安裝 WordPress 網站的第一步是建立一個資料庫,WordPress 將使用該資料庫來儲存和管理網站和用戶數據。 為簡潔起見,我們不會完成安裝和設置 MySQL 軟體本身的步驟,我們需要一個資料庫和一個 WordPress 將用來登錄資料庫的用戶。 通過在終端上輸入以下內容登錄 MySQL root 帳戶:

$ mysql -u root -p

然後,鍵入您在第一次安裝 MySQL 時設置的 root 密碼,然後按 Enter 登錄。之後,建立一個 WordPress 將控制的資料庫。 您可以為資料庫選擇任何名稱,但為了本教學的目的,我們將其稱為 wordpress。

接下來,在終端中輸入以下 SQL 語句來創建數據庫。 不要忘記 SQL 語句末尾的分號:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

現在我們有了一個資料庫,我們需要一個單獨的用戶帳戶來登錄這個帳戶。 在打造系統時遵循單一功能規則始終是一個好習慣。 對於這種情況,一個單獨的用戶將只登錄到這個數據庫。 從安全和管理的角度來看,它讓事情變得更容易。 我們可以稱這個用戶為 wordpressuser。 您可以隨意使用您選擇的用戶名。 該用戶需要擁有所有權限來控制資料庫中的數據,即建立、讀取、更新、刪除(CRUD)。 輸入以下命令來建立用戶。 請記住用強密碼替換密碼:

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

下一步是授予該用戶對 wordpress 數據庫的所有權限。 輸入以下命令:

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';

建立用戶並授予權限後,使用以下命令將用戶登錄方法調整為 mysql_native_password。 這是為了允許 WordPress 使用用戶名和密碼組合訪問資料庫:

ALTER USER 'wordpressuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

最後,刷新這些更改的權限以立即生效:

FLUSH PRIVILEGES;

現在我們有了一個用於安裝 WordPress 的 wordpress 資料庫和用戶。 通過鍵入exit 退出Mysql 提示符並按回車鍵:

EXIT;

步驟二:安裝額外的 PHP 擴展

在設置 LAMP 堆棧時,我們只需要極少的擴展集即可讓 PHP 與 MySQL 通信。 WordPress 及其許多外掛利用了額外的 PHP 擴展。

我們可以通過鍵入以下內容下載並安裝一些最流行的用於 WordPress 的 PHP 擴展:

$ sudo apt update
$ sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

這將為在我們的 WordPress 網站中安裝其他外掛奠定基礎。

我們需要重新啟動 Apache 來加載這些新的擴展,我們將在下一節中對 Apache 進行更多配置,所以您可以等到那時,或者現在重新啟動以完成 PHP 擴展過程。

$ sudo systemctl restart apache2

步驟三:調整 Apache 的配置以允許 .htaccess 覆蓋和重寫

接下來,我們將對我們的 Apache 配置進行一些小的調整。 根據先決條件教學,您應該在 /etc/apache2/sites-available/目錄中有一個網站配置文件。

在本指南中,我們將使用 /etc/apache2/sites-available/wordpress.conf 作為示範,但您應該在適當的地方替換配置文件的路徑。 此外,我們將使用 /var/www/wordpress 作為 WordPress 安裝的根目錄。 您應該使用您自己的配置中指定的 Web 根目錄。

確定路徑後,我們可以繼續使用 .htaccess,以便 Apache 可以在每個目錄的基礎上處理配置更改。

啟用 .htaccess 覆蓋

目前,.htaccess 文件的使用被禁用。 WordPress 和許多 WordPress 外掛廣泛使用這些文件來對 Web 服務器的行為進行目錄內調整。

使用 nano 等文本編輯器打開網站的 Apache 配置文件。

$ sudo nano /etc/apache2/sites-available/wordpress.conf

要允許 .htaccess 文件,我們需要在 Directory 塊中設置 AllowOverride 指令,指向我們的文檔根目錄。 在配置文件的 VirtualHost 塊內添加以下文本塊,確保使用正確的 Web 根目錄:

<Directory /var/www/wordpress/>
	AllowOverride All
</Directory>

完成後,保存並關閉文件。 在 nano 中,您可以通過同時按 CTRLX,然後按 Y,然後按 ENTER 來執行此操作。

啟用重寫模塊

接下來,我們可以啟用 mod_rewrite 以便我們可以利用 WordPress 永久鏈接功能:

$ sudo a2enmod rewrite

這使您可以在文章擁有更具可讀性的永久連結,例如以下兩個示範:

http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name

a2enmod 命令調用在 Apache 配置中啟用指定模塊的腳本。

啟用更改

在執行我們所做的更改之前,請通過運行以下測試來檢查以確保我們沒有犯任何語法錯誤。

$ sudo apache2ctl configtest

您可能會收到如下輸出:

Output
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

如果您想禁止頂行,只需在 /etc/apache2/apache2.conf 的主(全局)Apache 配置文件中添加一個 ServerName 指令。 ServerName 可以是您的服務器的域或 IP 地址。 但是,這只是一條消息,不會影響您網站的功能。 只要輸出包含 Syntax OK,您就可以繼續。

重新啟動 Apache 以實施更改。 即使您在本教學的前面已經重新啟動,請確保現在重新啟動。

$ sudo systemctl restart apache2

接下來,我們將下載並設置 WordPress 本身。

步驟四:下載 WordPress

現在我們的服務器軟體已經設置好了,我們可以下載並設置 WordPress。 為了安全性,建議始終從官方的網站取得最新版本的 WordPress。

切換到一個可寫目錄(推薦一個像 /tmp 這樣的臨時目錄)並下載壓縮版本。

$ cd /tmp
$ curl -O https://wordpress.org/latest.tar.gz

擷取壓縮文件以建立 WordPress 目錄結構:

$ tar xzvf latest.tar.gz

我們暫時將這些文件移動到我們的文檔根目錄中。 在此之前,我們可以添加一個 .htaccess 文件,以便 WordPress 稍後使用。

通過鍵入以下內容建立文件:

$ touch /tmp/wordpress/.htaccess

我們還將示範用的設定文件複製至 WordPress 真正讀取的設定文件:

$ cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

我們還可以建立升級目錄,這樣 WordPress 在更新其軟件後執行此操作時不會遇到權限問題:

$ mkdir /tmp/wordpress/wp-content/upgrade

現在,我們可以將目錄的全部內容複製到我們的文檔根目錄中。 我們在源目錄的末尾使用一個點來指示應該複製目錄中的所有內容,包括隱藏文件(如我們建立的 .htaccess 文件):

$ sudo cp -a /tmp/wordpress/. /var/www/wordpress

確保將 /var/www/wordpress 目錄替換為您實際要在服務器上設置的目錄。

步驟五:設定 WordPress 目錄

在我們進行基於 Web 的 WordPress 設置之前,我們需要調整 WordPress 目錄中的一些項目。

調整所有權和權限

我們需要完成的重要步驟是設置合理的文件權限和所有權。

我們首先將所有文件的所有權授予 www-data 用戶和組。 這是運行 Apache Web 服務器的用戶,Apache 需要能夠讀取和寫入 WordPress 文件,以便為網站提供服務並執行自動更新。

使用 chown 命令更新所有權,該命令允許您修改文件所有權。 請務必指向您服務器的相關目錄。

$ sudo chown -R www-data:www-data /var/www/wordpress

接下來,我們將運行兩個 find 命令來設置 WordPress 目錄和文件的正確權限:

$ sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
$ sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

這些權限應該可以讓您有效地使用 WordPress,但請注意,某些外掛和程序可能需要額外的調整。

設置 WordPress 配置文件

現在,我們需要對主 WordPress 配置文件進行一些更改。

當我們打開文件時,我們的首要任務是調整一些密鑰,為我們的安裝提供一定程度的安全性。 WordPress 為這些值提供了一個安全的生成器,因此您不必自己嘗試提出好的值。 這些僅在內部使用,因此在這裡使用複雜、安全的值不會損害可用性。

要從 WordPress 密鑰生成器中獲取安全值,請鍵入:

$ curl -s https://api.wordpress.org/secret-key/1.1/salt/

您將獲得類似於輸出的唯一值,類似於下面:

* 警告! 每次都請求唯一值很重要。 請勿複制以下值!

define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

這些是我們可以直接貼到配置文件中以設置安全密鑰的行列。 複製您現在收到的輸出。

接下來,打開 WordPress 配置文件:

$ sudo nano /var/www/wordpress/wp-config.php

查找包含這些設置的示範值部分。

. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

刪除這些行並貼上您從命令行複製的值:

. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

接下來,我們要修改文件開頭的一些資料庫連接設置。 您需要調整您在 MySQL 中配置的資料庫名稱、資料庫用戶和相關密碼。

我們需要進行的另一項更改是設置 WordPress 應該用來寫入文件系統的方法。 由於我們已授予 Web 服務器寫入所需位置的權限,因此我們可以將文件系統方法顯式設置為“direct”。 未能使用我們當前的設置進行設置將導致 WordPress 在我們執行某些操作時提示輸入 FTP 憑據。

可以在資料庫連接設置下方或文件中的任何其他位置添加此設置:

. . .

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** 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', '' );


. . .

define('FS_METHOD', 'direct');

完成後保存並關閉文件。

步驟六:透過網路介面完成安裝

現在服務器配置完成,我們可以通過web界面完成安裝。

在您的網路瀏覽器中,導航到您的服務器的域名或公共 IP 地址:

https://server_domain_or_IP

選擇您要使用的語言:

接下來,您將進入主設置頁面。

為您的 WordPress 網站選擇一個名稱並選擇一個用戶名。 出於安全考慮,建議選擇獨特的用戶名並避免使用“admin”等常見用戶名。 自動生成強密碼。 保存此密碼或選擇其他強密碼。

輸入您的電子郵件地址並選擇是否要阻止搜索引擎將您的網站編入索引:

當您點擊前進時,您將被帶到一個提示您登錄的頁面:

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

至此,您可以開始設計您的 WordPress 網站了! 如果這是您第一次使用 WordPress,請稍微探索一下界面以熟悉您的新 CMS。

結語

恭喜,WordPress 現已安裝並可以使用了!

此時您可能想要開始執行以下操作:

  • 選擇 WordPress 文章的永久連接設置,可以在設定 > 永久連結中找到。
  • 外觀>佈景主題中選擇一個新主題。
  • 外掛> 安裝外掛下安裝新外掛以增加您網站的功能。
  • 如果您要與其他人協作,此時您可能還希望在使用者 > 新增使用者下添加其他用戶。

相關文章