WonderCMS是一个轻量级、开源的内容管理系统(CMS),专注于简洁高效。与复杂的平台不同,它注重易用性,是希望创建和管理网站但技术知识有限的用户的理想选择。WonderCMS不需要数据库,而是依赖扁平文件存储,这简化了安装和维护。整个系统可以通过单个文件设置,其极简设计确保了快速的性能。它提供可定制主题、插件和SEO友好设置等基本功能,让用户能够以最小的麻烦构建功能完善的网站。
前提条件
在开始之前,请确保满足以下要求:
- 一台AlmaLinux 9服务器。
- 具有管理员权限的非root用户。
- 已将域名指向服务器IP地址。
- SELinux状态设置为permissive。
安装Apache和PHP
WonderCMS是一个用PHP编写的开源内容管理系统。它是一个扁平CMS,这意味着不需要MySQL/MariaDB等数据库来安装。它使用文本文件作为数据库。
在本指南中,您将在AlmaLinux 9服务器上使用Apache/httpd Web服务器和PHP 8.x安装WonderCMS。
首先,运行以下命令在AlmaLinux服务器上安装httpd Web服务器和PHP包。此时,您可以在系统上使用PHP 8.x安装WonderCMS。
sudo dnf install httpd php php-common php-curl php-opcache php-xml php-gd php-mbstring php-zip php-json wget unzip git
输入y确认安装。

安装完成后,使用以下nano编辑器命令打开默认的PHP配置文件/etc/php.ini。
sudo nano /etc/php.ini
使用以下内容更改默认配置,确保根据您的环境调整date.timezone和memory_limit选项。
date.timezone = Europe/Amsterdam memory_limit = 512M upload_max_filesize = 128MB post_max_size = 128MB max_execution_time = 300 max_input_vars = 5000
完成后,保存文件并退出编辑器。
现在运行以下命令启动并启用httpd服务。然后验证服务是否正在运行。
sudo systemctl enable --now httpd
sudo systemctl status httpd
如果httpd服务正在运行,您应该看到类似以下的输出:

配置Firewalld防火墙
安装Apache和PHP后,您需要通过firewalld为HTTP和HTTPS打开端口。这将允许通过HTTP和HTTPS协议访问您的WonderCMS安装。
使用以下命令在firewalld上打开HTTP和HTTPS服务。您将看到success输出。
sudo firewall-cmd --add-service={http,https} --permanent
现在运行以下命令重新加载firewalld规则并应用新的更改。
sudo firewall-cmd --reload
最后,使用以下命令验证firewalld规则。确保HTTP和HTTPS服务都已添加到firewalld。
sudo firewall-cmd --list-all

下载WonderCMS源码
在本节中,您将下载WonderCMS源码并使用适当的权限和所有权配置document-root目录。请访问WonderCMS GitHub页面获取最新的下载链接。
切换到/var/www目录并使用以下wget命令下载最新版本的WonderCMS。请务必访问WonderCMS GitHub页面获取最新版本。
cd /var/www/
wget https://github.com/WonderCMS/wondercms/releases/download/3.4.3/wondercms-343.zip
下载完成后,运行以下unzip命令将WonderCMS源码解压到/var/www/wondercms。此目录将成为WonderCMS的DocumentRoot。
unzip wondercms-343.zip -d .
现在运行以下命令将/var/www/wondercms目录的所有权更改为apache用户,默认权限设置为755。
sudo chown -R apache:apache /var/www/wondercms
sudo chmod -R 755 /var/www/wondercms

配置httpd虚拟主机
下载并配置WonderCMS的Document-Root后,您将创建一个新的Apache/httpd虚拟主机配置来运行WonderCMS安装。确保已将域名指向您的IP地址,同时必须确保httpd中的mod_rewrite模块已启用。
使用以下nano编辑器命令创建新的httpd虚拟主机配置/etc/httpd/conf.d/wondercms.conf。
sudo nano /etc/httpd/conf.d/wondercms.conf
将以下配置插入文件中,确保将ServerName选项更改为您的目标域名。
ServerName cms.howtoforge.local DirectoryIndex index.php DocumentRoot /var/www/wondercms Redirect /wondercms/loginURL /loginURL ErrorLog /var/log/httpd/cms.howtoforge.local-error.log CustomLog /var/log/httpd/cms.howtoforge.local-access.log combined Options FollowSymLinks AllowOverride All Require all granted
保存文件并退出编辑器。
现在运行以下命令验证httpd语法,确保没有错误。如果httpd语法正确,您将看到Syntax OK输出。
sudo apachectl configtest

最后,重启httpd Web服务器以应用新的WonderCMS虚拟主机文件。命令执行后,您的WonderCMS安装应该可以访问了。
sudo systemctl restart httpd
通过Certbot为WonderCMS配置HTTPS
创建Apache/httpd虚拟主机后,下一步是通过Certbot和Let's Encrypt为WonderCMS配置HTTPS。您必须确保系统中已添加EPEL仓库,Certbot包可在EPEL仓库中获取。
使用以下命令在AlmaLinux服务器上安装EPEL仓库。
sudo dnf install epel-release
添加EPEL仓库后,使用以下dnf命令安装certbot和python3-certbot-apache插件。输入y确认安装。
sudo dnf install certbot python3-certbot-apache
安装完成后,运行以下certbot命令为您的WonderCMS安装生成SSL/TLS证书。确保将域名和电子邮件地址更改为您自己的信息。
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-oscp --email alice@howtoforge.local -d cms.howtoforge.local
访问WonderCMS
打开Web浏览器,访问您的WonderCMS域名,例如https://cms.howtoforge.local/。在WonderCMS首页上,您应该看到生成的密码。复制密码并保存在安全的地方,然后点击CLICK HERE TO LOGIN按钮。

粘贴您生成的密码,然后点击LOGIN。

如果成功,您应该看到类似以下的WonderCMS管理页面:

总结
恭喜!您已完成在AlmaLinux 9服务器上安装WonderCMS。您的WonderCMS安装正在使用Httpd Web服务器和PHP 8.x运行,同时已通过firewalld和HTTPS(通过certbot)进行安全加固。从这里开始,您可以上传文本文件,并安装新的主题或插件。