如何在 Ubuntu 22.04 LTS 上安裝 ProcessWire

在本教程中,我們將向您展示如何在 Ubuntu 22.04 LTS 上安裝 ProcessWire。 對於那些不知道的人,ProcessWire 是一個免費的開源內容管理系統 (CMS),以其靈活性、可擴展性和安全性而聞名。 它旨在使開發人員能夠輕鬆構建和管理任何復雜的網站,從小型個人博客到大型公司網站。 它以其簡單性、靈活性和可擴展性而著稱,使其成為 Web 開發人員和設計人員的熱門選擇。

本文假定您至少具有 Linux 的基本知識,知道如何使用 shell,最重要的是,您將站點託管在自己的 VPS 上。 安裝非常簡單,假設您在 root 帳戶下運行,如果不是,您可能需要添加 ‘sudo‘ 到獲取 root 權限的命令。 我將向您展示如何在 Ubuntu 22.04 (Jammy Jellyfish) 上逐步安裝 ProcessWire CMS。 對於 Ubuntu 22.04 和任何其他基於 Debian 的發行版(如 Linux Mint、Elementary OS、Pop!_OS 等),您可以遵循相同的說明。

先決條件

  • 運行以下操作系統之一的服務器:Ubuntu 22.04、20.04 和任何其他基於 Debian 的發行版,如 Linux Mint。
  • 建議您使用全新的操作系統安裝,以防止出現任何潛在問題。
  • 通過 SSH 訪問服務器(如果您在桌面上,則只需打開終端)。
  • 有效的互聯網連接。 您需要互聯網連接才能下載 ProcessWire 所需的包和依賴項。
  • A non-root sudo user或訪問 root user. 我們建議充當 non-root sudo user,但是,如果您在充當根用戶時不小心,可能會損害您的系統。

在 Ubuntu 22.04 LTS Jammy Jellyfish 上安裝 ProcessWire

步驟 1. 首先,通過運行以下命令確保所有系統包都是最新的 apt 終端中的命令。

sudo apt update
sudo apt upgrade
sudo apt install wget apt-transport-https gnupg2

步驟 2. 在 Ubuntu 上安裝 LAMP Stack。

在開始本教程之前,必須在您的服務器上安裝 LAMP 服務器。 如果您沒有安裝 LAMP Stack,您可以按照我們的指南進行操作。

步驟 3. 在 Ubuntu 22.04 上安裝 ProcessWire。

默認情況下,ProcessWire 在 Ubuntu 22.04 基本存儲庫中不可用。 現在運行以下命令以通過運行以下命令下載最新版本的 ProcessWire:

wget https://github.com/processwire/processwire/archive/master.zip

通過運行以下命令提取下載的 zip 文件:

unzip master.zip

接下來,將提取的目錄移動到 Apache 網站根目錄:

mv processwire-master/ /var/www/html/processwire

之後,更改 ProcessWire 目錄的所有權和權限:

chown www-data:www-data -R /var/www/html/processwire/
chmod -R 755 /var/www/html/processwire/

第 4 步。配置 MariaDB。

默認情況下,MariaDB 未加固。 您可以使用以下方法保護 MariaDB mysql_secure_installation 腳本。 您應該仔細閱讀下面的每個步驟,這些步驟將設置 root 密碼、刪除匿名用戶、禁止遠程 root 登錄以及刪除測試數據庫和對安全 MariaDB 的訪問:

mysql_secure_installation

像這樣配置它:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

接下來,我們需要登錄到 MariaDB 控制台並為 ProcessWire 創建一個數據庫。 運行以下命令:

mysql -u root -p

這將提示您輸入密碼,因此請輸入您的 MariaDB root 密碼並點擊 Enter. 登錄到數據庫服務器後,您需要為 ProcessWire 安裝創建一個數據庫:

MariaDB [(none)]> CREATE USER 'processuser'@'localhost' IDENTIFIED BY 'your-strong-password';
MariaDB [(none)]> CREATE DATABASE processdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON processdb.* TO 'processuser'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> Exit;

步驟 5. 配置 Apache 對於 ProcessWire。

首先,為 ProcessWire 創建一個新的虛擬主機配置文件:

nano /etc/apache2/sites-available/processwire.conf

將以下行添加到文件中:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/processwire/
ServerName your-domain.com
<Directory /var/www/html/processwire/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Save 和 close 該文件,然後重新啟動 Apache 網絡服務器,以便發生更改:

sudo a2ensite processwire.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

步驟 6. 保護 UVdesk Let’s Encrypt SSL。

首先,使用以下命令安裝 Certbot 客戶端:

sudo apt install certbot python3-certbot-apache2

接下來,獲取您的 SSL 證書 Let’s Encrypt 通過執行以下步驟:

certbot --apache -d your-domain.com

Let’s Encrypt 證書的有效期為 90 天,強烈建議在證書過期之前續訂證書。 您可以通過運行以下命令來測試證書的自動續訂:

sudo certbot renew --dry-run

步驟 7. 配置防火牆。

現在我們設置一個簡單的防火牆(UFW) Apache 允許在 HTTP 和 HTTPS 的默認 Web 端口上進行公共訪問:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

步驟 8. 訪問 ProcessWire Web 界面。

成功安裝後,現在打開您的 Web 瀏覽器並使用 URL 訪問 ProcessWire Web UI https://your-domain.com. 您將被重定向到以下頁面:

恭喜! 您已成功安裝 ProcessWire。 感謝您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系統上安裝 ProcessWire CMS。 如需更多幫助或有用信息,我們建議您查看 ProcessWire 網站.