padarom / thunderstorm
一个独立的WCF包更新服务器
Requires
- php: >=5.5.9
- laravel/lumen-framework: 5.2.*
- vlucas/phpdotenv: ~2.2
This package is auto-updated.
Last update: 2024-09-25 07:37:46 UTC
README
Thunderstorm是用PHP编写的WoltLab社区框架的简单包更新服务器。它与WCF的包系统完全兼容(*)。
由于我不再使用WCF,除非对此项目有更多兴趣或我的日程安排有空闲,否则我将无法为该项目投入更多资源。非常感谢贡献! 尽管目前没有开发,Thunderstorm可以认为在生产环境中可以使用。
路线图
- 基于HTML的前端
- 身份验证
- 管理界面
- 系统内编辑插件的能力
服务器需求
此服务器基于Laravel Lumen,因此具有相同的要求。
- PHP >= 5.5.9
- OpenSSL PHP扩展
- PDO PHP扩展
- Mbstring PHP扩展
您还需要确保php ini指令short_open_tag
设置为Off
。
安装
您可以手动安装此服务器,通过下载源代码并运行composer install
安装所有依赖项。之后,您需要完成以下步骤
- 创建一个sqlite数据库文件(
database/database.sqlite
) - 复制示例环境文件(
cp .env.example .env
) - 运行数据库迁移(
php artisan migrate
) - 确保您的
storage
和uploads
目录可写(chmod -R 755 storage/ uploads/
)
我还提供了一种预打包版本(约2MB),其中已经包含了所有依赖项。您仍然需要确保storage
和uploads
目录的权限设置正确(参见步骤4)。
升级过程
要升级到新版本,请执行以下操作
- 备份以下文件/目录
.env
database/database.sqlite
storage/packages
- 用最新版本的应用程序替换(解压预打包发布版本或下载存储库)
- 将备份的文件放回应用程序中(覆盖任何现有文件)
- 运行
php artisan migrate
设置导入
服务器会扫描uploads/
目录(这可以在.env
配置文件中配置),以查找新包。因此,如果您想将新包添加到系统中,请将其放入其中。服务器将自动分析其package.xml
文件并将其移动到正确目录。可以通过在项目根目录中运行php artisan import:uploads
手动运行此导入。
或者有两种方法可以自动运行导入
Cronjob (推荐)
服务器每分钟检查上传。要启用此功能,您必须通过运行crontab -e
(根据您的操作系统)并附加以下行来添加cronjob(请确保调整路径)
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
请求时 (不推荐)
服务器在回答请求之前自动运行导入。这在大约每10个请求中的3个请求时运行。根据需要导入的包的数量,这可能会严重影响您的应用程序。在测试中,它足够快,以至于不应该有明显的差异,但仍然建议使用cronjob运行导入。
如果您无法运行cron作业并且您绝对确定要使用此方法进行导入,那么请编辑您的.env
配置文件,并将IMPORT_ONREQUESTS
变量设置为true
IMPORT_ONREQUESTS=true
(*) 不兼容性
- 尽管WCF支持
.tar.gz
存档(即“gzip压缩的tar存档”),但它不建议使用它们。.tar
存档是WCF包的首选版本,因此Thunderstorm不支持.tar.gz
存档。
许可
这是开源软件,许可协议为MIT许可证。