| 18 |
- [从源代码构建](#从源代码构建) |
- [从源代码构建](#从源代码构建) |
| 19 |
- [使用预构建镜像](#使用预构建镜像) |
- [使用预构建镜像](#使用预构建镜像) |
| 20 |
- [Docker配置](#docker配置) |
- [Docker配置](#docker配置) |
|
- [Docker Compose服务](#docker-compose服务) |
|
|
- [常用Docker命令](#常用docker命令) |
|
| 21 |
- [持久化数据](#持久化数据) |
- [持久化数据](#持久化数据) |
| 22 |
- [版权信息](#版权信息) |
- [版权信息](#版权信息) |
| 23 |
- [授权许可](#授权许可) |
- [授权许可](#授权许可) |
| 30 |
|
|
| 31 |
**功能说明:** |
**功能说明:** |
| 32 |
- 基于Web的文章浏览、发表、查找等基本功能和其它各种实用功能 |
- 基于Web的文章浏览、发表、查找等基本功能和其它各种实用功能 |
|
- **高级搜索功能:** |
|
|
- 支持中文的Solr全文搜索 |
|
|
- 按用户ID(UID)、用户名或昵称搜索 |
|
|
- 高级搜索v2,支持按日期范围、版块和内容类型筛选 |
|
|
- 支持搜索原帖与回复 |
|
|
- 仅搜索文摘文章 |
|
| 33 |
- 支持多类别多版块,各版块分设讨论区、文摘区、精华区 |
- 支持多类别多版块,各版块分设讨论区、文摘区、精华区 |
| 34 |
- 提供全面的版主管理支持 |
- 提供全面的版主管理支持 |
| 35 |
|
- **高级搜索功能:** |
| 36 |
|
- 支持中文的Solr全文搜索 |
| 37 |
- **现代架构:** |
- **现代架构:** |
| 38 |
- 重构的轻量级标记语言(LML)渲染器,性能更优 |
- 重构的轻量级标记语言(LML)渲染器,性能更优 |
| 39 |
- 支持用户时区,本地化日期/时间显示 |
- 支持用户时区,本地化日期/时间显示 |
| 46 |
|
|
| 47 |
### 1. 前置条件和所需库 |
### 1. 前置条件和所需库 |
| 48 |
- **PHP 8.2+** 和 **MySQL 8.4+** 已安装 |
- **PHP 8.2+** 和 **MySQL 8.4+** 已安装 |
| 49 |
- 使用包管理器安装 Composer(例如 `apt`、`yum`,或从 [getcomposer.org](https://getcomposer.org/) 下载) |
- 使用包管理器安装 Composer(例如 `apt`、`yum`) |
| 50 |
- 在项目根目录运行以下命令: |
- 在项目根目录运行以下命令: |
| 51 |
```bash |
```bash |
| 52 |
composer install --prefer-dist --no-scripts --no-progress |
composer install --prefer-dist --no-scripts --no-progress |
| 64 |
- 站点信息:编辑 `conf/site.conf.php` |
- 站点信息:编辑 `conf/site.conf.php` |
| 65 |
- 数据库连接:编辑 `conf/db_conn.conf.php` |
- 数据库连接:编辑 `conf/db_conn.conf.php` |
| 66 |
- 邮件发送:编辑 `conf/smtp.conf.php`(支持SMTP和本地sendmail两种方式) |
- 邮件发送:编辑 `conf/smtp.conf.php`(支持SMTP和本地sendmail两种方式) |
| 67 |
- **Solr搜索**(可选):如需使用Solr进行高级搜索,编辑 `conf/solr.conf.php` |
- **Solr搜索**(可选):如需使用Solr进行高级搜索,编辑 `conf/solr.conf.php` |
| 68 |
- 默认配置假设Solr运行在 `localhost:8983`,核心为 `lbbs` |
- 默认配置假设Solr运行在 `localhost:8983`,核心为 `lbbs` |
| 69 |
- 根据需要更新主机名、端口、认证信息和路径 |
- 根据需要更新主机名、端口、认证信息和路径 |
| 70 |
|
- 将 `TODO/solr/schema.json` 中的架构导入到核心 `lbbs` |
| 71 |
|
- 使用PHP扩展安装工具PIE安装pecl/solr扩展 |
| 72 |
|
|
| 73 |
### 4. 站点个性化配置 |
### 4. 站点个性化配置 |
| 74 |
- 修改 `lib/common.inc.php` 文件 |
- 修改 `lib/common.inc.php` 文件 |
| 77 |
- 创建目录(如果不存在): |
- 创建目录(如果不存在): |
| 78 |
- `bbs/cache` |
- `bbs/cache` |
| 79 |
- `bbs/upload` |
- `bbs/upload` |
| 80 |
|
- `export_xml` |
| 81 |
- `stat` |
- `stat` |
| 82 |
- 确保Web服务器运行账户对以下目录有写权限: |
- 确保Web服务器运行账户对以下目录有写权限: |
| 83 |
- `bbs/cache` |
- `bbs/cache` |
| 84 |
- `bbs/upload` |
- `bbs/upload` |
| 85 |
|
- `export_xml` |
| 86 |
- `gen_ex` |
- `gen_ex` |
| 87 |
- `stat` |
- `stat` |
| 88 |
|
|
| 132 |
- 根据需要编辑配置文件 |
- 根据需要编辑配置文件 |
| 133 |
- 重启容器:`docker compose restart` |
- 重启容器:`docker compose restart` |
| 134 |
|
|
|
### Docker Compose服务 |
|
|
- **web**: Apache HTTP 服务器与 PHP 8.2 |
|
|
- **db**: MySQL 8.4 数据库 |
|
|
- **phpmyadmin**: 数据库管理界面(可选,在 `http://localhost:8081` 可用) |
|
|
|
|
|
### 常用Docker命令 |
|
|
```bash |
|
|
# 查看日志 |
|
|
docker compose logs -f |
|
|
|
|
|
# 停止容器 |
|
|
docker compose down |
|
|
|
|
|
# 重新构建并重启 |
|
|
docker compose up --build -d |
|
|
|
|
|
# 进入容器 shell |
|
|
docker compose exec web bash |
|
|
``` |
|
|
|
|
| 135 |
### 持久化数据 |
### 持久化数据 |
| 136 |
- 数据库数据存储在 Docker 卷中(`leafok_bbs_db_data`) |
- 数据库数据存储在 Docker 卷中(`leafok_bbs_db_data`) |
| 137 |
- 上传的文件和缓存存储在挂载的主机目录中 |
- 上传的文件和缓存存储在挂载的主机目录中 |
| 138 |
|
|
| 139 |
## 版权信息 |
## 版权信息 |
| 140 |
版权所有 (C) 2004-2026 Leaflet <leaflet@leafok.com> |
版权所有 (C) 2001-2026 Leaflet <leaflet@leafok.com> |
| 141 |
|
|
| 142 |
## 授权许可 |
## 授权许可 |
| 143 |
本程序是自由软件;您可以按照自由软件基金会发布的[GNU通用发布许可](LICENSE)的第三版或后续版本的条款,分发和/或修改本程序。 |
本程序是自由软件;您可以按照自由软件基金会发布的[GNU通用发布许可](LICENSE)的第三版或后续版本的条款,分发和/或修改本程序。 |