前言
Waterhole是由Flarum创始人及前首席开发者"Toby"打造的全新论坛系统,所以二者在风格上十分相像。需要注意的是,Waterhole可免费在开发环境中使用,但您需要购买许可证才能在生产环境中使用它。费用为每个站点299美元,包含一年的更新与基础支持,此后的更新与支持费用为99美元/年。有关Flarum的搭建,请参照本博客文章:宝塔面板(aaPanel)搭建Flarum。
参考资料:安装文档 - Waterhole Docs
环境要求
- 像 Nginx 或 Apache 这样的 Web 服务器
- PHP 8.2+ 具有以下扩展:dom、gd、json、mbstring、openssl、pdo_mysql、tokenizer
- MySQL 8.0.23+
若低版本MySQL不便卸载,则可使用MySQL多版本管理(Docker应用)
,来同时运行多个版本MySQL。
PHP配置
扩展安装
在正式安装Waterhole前,先给PHP安装上fileinfo扩展。
否则在安装wh过程中会报错如下:
Problem 1
- waterhole/core[v0.4.0, ..., v0.4.7] require intervention/image ^2.5 -> satisfiable by intervention/image[2.5.0, ..., 2.7.2].
- intervention/image[2.5.0, ..., 2.7.2] require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
- waterhole/core v0.4.8 requires hotwired-laravel/turbo-laravel ^2.0.0-beta5 -> found hotwired-laravel/turbo-laravel[2.0.0-beta5, 2.x-dev] but it does not match your minimum-stability.
- Root composer.json requires waterhole/core ^0.4 -> satisfiable by waterhole/core[v0.4.0, ..., v0.4.8].
安装fileinfo扩展过程中,可能出现错误:
configure: error: in `/www/server/php/83/src/ext/fileinfo':
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
解决办法是安装glibc-kernheaders
yum -y install glibc-kernheaders
参考资料:configure: error: C preprocessor “/lib/cpp“ fails sanity check错误解决办法
解除函数禁用
需要解除的三个函数为:putenv()、symlink、proc_open()
宝塔面板位置:软件商城——已安装的PHP——禁用函数
找到上述三个函数,并删除。
安装配置
网站创建
在宝塔中创建站点,同步创建Mysql。
创建Waterhole项目
Cd到站点根目录/www/wwwroot/yourdomain.com
通过运行以下Composer命令创建新的Waterhole项目:
composer create-project waterhole/waterhole .
创建完成。
配置数据库
上述命令运行完毕后,编辑新Waterhole安装根目录下.env文件。此文件包含环境配置设置,例如您的社区名称、URL 和数据库详细信息。有关详细信息,请参阅配置。若要启动并运行,请填写以下值:
- APP_NAME :您的社区名称
- APP_URL :Waterhole安装的根URL
- DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD等数据库详细信息
确保任何包含空格的值都用双引号括起来,例如:
APP_NAME="My Great Community"
配置Web服务器
设置运行目录
将网站运行根目录设置为/public目录
若为宝塔面板,则在网站设置——网站目录——运行目录
中设置/public为运行目录。
或在配置文件
中,修改root行为root /www/wwwroot/yourdomain.com/public;
配置伪静态
配置Web服务器以将所有请求路由到该public/index.php文件。
对于Nginx服务器,Waterhole已有一个包含URL重写规则以及实践性能配置的文件.nginx.conf
。
我们可以将下述代码直接添加在配置文件
的root行下方:
include /path/to/waterhole/.nginx.conf;
配置权限
前往站点根目录/www/wwwroot/yourdomain.com
,设置权限为755,并应用至全部子文件夹。
若仍有类似于权限或文件访问的错误,请尝试赋予/storage文件夹777权限。
运行安装程序
现在一切都已经配置好了,最后一步是运行Waterhole安装命令。这将创建Waterhole数据库表,设定一些初始数据的种子,并提示您创建管理员帐户。
php artisan waterhole:install
安装过程会注册你的管理员账号,结束后,安装告成!
此时你就可以通过URL访问waterhole站点了。
这篇文章写得深入浅出,让我这个小白也看懂了!
jiyouzhan 05-22