WonderCMS是一个轻量级、开源的内容管理系统(CMS),专为简洁和易用性而设计。与许多其他需要大量设置或大量资源的CMS平台不同,WonderCMS基于单一的平面文件数据库运行,这意味着它不需要像MySQL这样的传统数据库系统。这使得它极易安装和管理,通常只需将CMS文件上传到服务器即可。尽管体积小巧,WonderCMS仍提供内容编辑、SEO选项、主题定制和插件支持等基本功能,是希望以极简、直接方式构建和管理网站的用户的可行选择。

本教程将展示如何在Debian 12服务器上配合Apache Web服务器和PHP 8.x安装WonderCMS。

前提条件

开始之前,请确保具备以下条件:

一台Debian 12服务器
具有管理员权限的非root用户
已将域名指向服务器IP地址

第一步:安装依赖项

WonderCMS是一个用PHP编写的开源内容管理系统。它是一个平面CMS,这意味着它不需要像MySQL/MariaDB这样的数据库,而是使用文本文件作为数据库。

本指南将使用Apache Web服务器和PHP 8.2安装WonderCMS。

更新Debian软件源:

sudo apt update

安装WonderCMS所需依赖:

sudo apt install apache2 php php-common php-mbstring php-curl php-zip unzip

输入y确认安装。

验证Apache服务状态:

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Apache服务应默认处于运行并启用状态。

验证PHP版本并查看已启用的扩展:

php -m
php -v

输出中可以看到已安装PHP 8.2。

第二步:配置PHP

安装依赖项后,需要为WonderCMS配置PHP。需要修改Apache Web服务器的php.ini配置文件,更改一些默认设置,例如时区、内存限制、执行时间和最大上传文件大小。

打开Apache的php.ini配置文件:

sudo nano /etc/php/8.2/apache2/php.ini

修改以下PHP配置项(请根据您的服务器环境调整时区和内存限制):

date.timezone = "Europe/Amsterdam"
memory_limit = 512M

upload_max_filesize = 128MB
post_max_size = 128MB

max_execution_time = 300
max_input_vars = 5000

保存并退出文件,然后重启Apache服务以应用更改:

sudo systemctl restart apache2

第三步:配置防火墙

本指南将在启用防火墙的情况下运行WonderCMS,使用UFW防火墙,需要开放SSH、HTTP和HTTPS服务端口。

安装UFW:

sudo apt install ufw

允许OpenSSH和WWW Full配置文件:

sudo ufw allow OpenSSH
sudo ufw allow "WWW Full"

启动并启用UFW:

sudo ufw enable

输入y确认,UFW将开始运行并启用。

验证UFW状态:

sudo ufw status

OpenSSH和"WWW Full"配置文件均应在UFW中启用。

第四步:下载WonderCMS源代码

本节将下载WonderCMS源代码,并为文档根目录配置适当的权限和所有权。开始前,请访问WonderCMS GitHub页面获取最新下载链接。

进入/var/www目录并下载WonderCMS源代码:

cd /var/www/
wget https://github.com/WonderCMS/wondercms/releases/download/3.4.3/wondercms-343.zip

解压WonderCMS源代码到/var/www/wondercms目录:

unzip wondercms-343.zip -d /var/www/wondercms

更改目录所有权和权限。将/var/www/wondercms目录的所有权更改为www-data用户,以允许Apache对WonderCMS文档根目录进行读、写和执行操作:

sudo chown -R www-data:www-data /var/www/wondercms
sudo chmod -R 755 /var/www/wondercms

第五步:配置Apache虚拟主机

本示例将使用Apache运行WonderCMS,因此需要创建相应的虚拟主机配置。请确保您的域名已指向Debian服务器的IP地址。

启用Apache的rewrite模块(WonderCMS需要启用mod_rewrite):

sudo a2enmod rewrite

创建新的虚拟主机配置文件:

sudo nano /etc/apache2/sites-available/wondercms.conf

插入以下配置内容(请将域名、文档根目录路径和日志文件替换为您自己的信息):

<VirtualHost *:80>
ServerName cms.howtoforge.local
DirectoryIndex index.php
DocumentRoot /var/www/wondercms
Redirect /wondercms/loginURL /loginURL

ErrorLog /var/log/apache2/cms.howtoforge.local-error.log
CustomLog /var/log/apache2/cms.howtoforge.local-access.log combined

<Directory /var/www/wondercms>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

</VirtualHost>

保存并退出文件。

启用虚拟主机并验证Apache语法:

sudo a2ensite wondercms.conf
sudo apachectl configtest

如果Apache语法正确,您将看到输出"Syntax OK"。

重启Apache服务以应用更改:

sudo systemctl restart apache2

此时,您的WonderCMS安装应已准备就绪。

第六步:使用Let's Encrypt保护WonderCMS

配置Apache虚拟主机后,使用HTTPS保护您的WonderCMS安装。本示例使用Certbot和Let's Encrypt。

您也可以为本地域名或内部网络生成自签名证书来保护您的WonderCMS安装。

安装Certbot和Certbot Apache插件:

sudo apt install certbot python3-certbot-apache

为您的WonderCMS域名生成SSL证书(请将域名和电子邮件地址替换为您自己的信息):

sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-oscp --email alice@howtoforge.local -d cms.howtoforge.local

完成后,您的证书将存放在/etc/letsencrypt/live/howtoforge.local目录中。您的WonderCMS安装将自动通过HTTPS进行保护。

第七步:访问WonderCMS管理界面

打开Web浏览器,访问您的WonderCMS域名,例如https://howtoforge.local/。

在WonderCMS首页,您将看到生成的密码。请复制该密码并保存在安全的地方。

Debian 12安装WonderCMS轻量级内容管理系统教程

结论

恭喜!您已成功在Debian 12服务器上安装了WonderCMS,同时配置了Apache Web服务器和PHP 8.2。您还使用UFW防火墙和Let's Encrypt的SSL证书对WonderCMS进行了安全保护。