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,同时配置了Apache Web服务器和PHP 8.2。您还使用UFW防火墙和Let's Encrypt的SSL证书对WonderCMS进行了安全保护。