bluish - waterhole
type: channel
link: https://bluish.net/tag/waterhole/
items: Waterhole论坛安装教程

Waterhole论坛安装教程
type: item
date: 2024-04-25T00:14:00+08:00
description: ##前言 Waterhole是由Flarum创始人及前首席开发者"Toby"打造的全新论坛系统，所以二者在风格上十分相像。需要注意的是，Waterhole可免费在开发环境中使用，但您需要购买许可证才能在生产环境中使用它。费用为每个站点299美元，包含一年的更新与基础支持，此后的更新与支持费用为99美元/年。有关Flarum的搭建，请参照本博客文章：[宝塔面板（aaPanel）搭建Flarum][1]。 参考资料：[安装文档 - Waterhole Docs][2] ##环境要求 - 像 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错误解决办法][3] ###解除函数禁用 需要解除的三个函数为：putenv()、symlink、proc_open() 宝塔面板位置：软件商城——已安装的PHP——禁用函数 找到上述三个函数，并删除。 ##安装配置 ###网站创建 在宝塔中创建站点，同步创建Mysql。 ###创建Waterhole项目 Cd到站点根目录`/www/wwwroot/yourdomain.com` 通过运行以下Composer命令创建新的Waterhole项目： ``` composer create-project waterhole/waterhole . ``` ![2024-04-24T15:44:35.png][4] 创建完成。 ###配置数据库 上述命令运行完毕后，编辑新Waterhole安装根目录下.env文件。此文件包含环境配置设置，例如您的社区名称、URL 和数据库详细信息。有关详细信息，请参阅[配置][5]。若要启动并运行，请填写以下值： - APP_NAME ：您的社区名称 - APP_URL ：Waterhole安装的根URL - DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD等数据库详细信息 确保任何包含空格的值都用双引号括起来，例如： ``` APP_NAME="My Great Community" ``` ###配置Web服务…