如何在 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 网站.