padarom/thunderstorm

一个独立的WCF包更新服务器

安装: 9

依赖: 0

建议者: 0

安全: 0

星星: 3

监视者: 4

分支: 0

开放性问题: 2

类型:项目

0.6.0 2018-04-30 07:58 UTC

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安装所有依赖项。之后,您需要完成以下步骤

  1. 创建一个sqlite数据库文件(database/database.sqlite
  2. 复制示例环境文件(cp .env.example .env
  3. 运行数据库迁移(php artisan migrate
  4. 确保您的storageuploads目录可写(chmod -R 755 storage/ uploads/

我还提供了一种预打包版本(约2MB),其中已经包含了所有依赖项。您仍然需要确保storageuploads目录的权限设置正确(参见步骤4)。

升级过程

要升级到新版本,请执行以下操作

  1. 备份以下文件/目录
    • .env
    • database/database.sqlite
    • storage/packages
  2. 用最新版本的应用程序替换(解压预打包发布版本或下载存储库)
  3. 将备份的文件放回应用程序中(覆盖任何现有文件)
  4. 运行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许可证