演示者/启动器

此包已被弃用且不再维护。未建议替代包。

骨架演示者 v2 安装设置

安装: 365

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 0

类型:项目

v2.15.1 2022-08-12 10:38 UTC

README

重要

此仓库是针对较旧的演示者 v2,并且不再维护。

演示者启动器是一个适用于生产环境的骨架演示者 v2 安装设置。

它将演示者安装所需的全部组件封装在一个包中,并通过使用 Composer 实现无缝升级。

此仓库为只读。 请在 主要演示者仓库 中报告问题并发送拉取请求。

如果您更喜欢启动器的 Docker 版本,请参阅 presentator-docker

要求

  • Apache/Nginx HTTP 服务器

  • SQL 数据库(MySQL/MariaDB/PostgreSQL)

    对于 MySQL 5.6 及以下版本和 MariaDB 10.1 及以下版本,您可能需要设置 innodb_large_prefix=1innodb_default_row_format=dynamic 以防止迁移错误(请参阅 #104)。

  • PHP 7.1+ 以及以下扩展

    Reflection
    PCRE
    SPL
    MBString
    OpenSSL
    Intl
    ICU version
    Fileinfo
    DOM extensions
    GD or Imagick
    

    此外,以下是一些推荐的 php.ini 配置设置

    post_max_size       = 64M
    upload_max_filesize = 64M
    max_execution_time  = 60
    memory_limit        = 256M
    
  • Composer

安装

  1. 通过 Composer 安装

    composer create-project presentator/starter /path/to/starter/

    出于安全考虑,如果您正在使用共享托管服务,建议将项目文件放置在默认的 public_html(www) 目录之外!

  2. 设置虚拟主机/服务器地址(例如 https://your-presentator.com/)并将其指向 /path/to/starter/web/

    默认情况下,初始化后将为您创建一个通用的 .htaccess 文件。如果您正在使用 Nginx,您可以查看以下 示例配置

  3. 创建一个新的数据库(使用 utf8mb4_unicode_ci 校对)。

  4. 根据需要在 config/base-local.php 中调整 dbmailer 和其他组件的配置。

    请参阅 base.php 以获取所有可用选项。

  5. 根据需要在 config/params-local.php 中调整您特定环境的参数(公开 URL、支持电子邮件等)。

    请参阅 params.php 以获取所有可用选项。

  6. (可选)如果需要,您还可以通过编辑 composer.json 文件中的 extra.starter.spaConfig 键来调整前端(即 SPA)设置。

    请参阅 .env 以获取所有可用选项。

  7. 运行 composer install 以确保应用程序正确初始化。

  8. (可选)设置 cron 任务以处理未读屏幕评论

    # Every 30 minutes processes all unread screen comments and sends an email to the related users.
    */30 * * * * php /path/to/starter/yii mails/process-comments

就这样! 在浏览器中检查应用程序以验证一切是否正常。

您可能觉得有用的其他控制台命令

# set Super User access rights to a single User model
php /path/to/starter/yii users/super test@example.com

# set Regular User access rights to a single User model
php /path/to/starter/yii users/regular test@example.com

# regenerates all screen thumbs
php /path/to/starter/yii screens/generate-thumbs

允许第三方身份验证(OAuth2)

默认的 base-local.php 包含了注释的 各种身份验证客户端配置

例如,如果您想允许用户使用他们的 Facebook 账户登录

  1. 注册Facebook应用(只需要账号邮箱,因此不需要任何特殊权限)。

    请确保为 有效的OAuth重定向URI 设置与您的 params-local.php 中的 authClientRedirectUri 相同的URL(默认情况下应该是类似 https://your-presentator.com/#/auth-callback 的内容)。

    注意! 一些客户端可能不支持hash/fragment URI(即 /#/)。在这种情况下,定义不带hash的重定向URI(例如 https://your-presentator.com/auth-callback),并在您的Nginx/Apache配置中添加重定向/重写规则,该规则应在请求路径地址前添加 /#/。以下是一个通用的Nginx重定向规则

    location ~ ^/(?!(index\.html|#|api|storage|spa-resources|assets)).+ {
        rewrite ^\/(.*)$ /#/$1 redirect;
    }
  2. 在您的 base-local.php 中注册Facebook认证客户端

    'components' => [
        ...
        'authClientCollection' => [
            'class' => 'yii\authclient\Collection',
            'clients' => [
                'facebook' => [
                    'class'        => 'yii\authclient\clients\Facebook',
                    'clientId'     => 'YOUR_APP_CLIENT_ID',
                    'clientSecret' => 'YOUR_APP_CLIENT_SECRET',
                ],
            ],
        ],
    ]

不同的存储机制

默认情况下,所有上传的文件都存储在您的服务器上的本地 /path/to/starter/web/storage。如果您担心磁盘空间或想将上传存储在不同的服务器上,您可以选择覆盖默认的 fs 组件配置。

例如,如果您想将文件存储在AWS S3上

  1. 在您的 params-local.php 中更新 baseStorageUrl

    // base public url to the storage directory (could be also a cdn address if you use S3 or other storage mechanism)
    'baseStorageUrl' => 'https://example.com/storage',
  2. 将AWS S3文件系统适配器添加到您的依赖项中

    composer require league/flysystem-aws-s3-v3
  3. 在您的 base-local.php 中覆盖默认的 fs 组件

    'components' => [
        'fs' => new \yii\helpers\ReplaceArrayValue([
            'class'   => 'creocoder\flysystem\AwsS3Filesystem',
            'key'     => 'YOUR_KEY',
            'secret'  => 'YOUR_SECRET',
            'bucket'  => 'YOUR_BUCKET',
            'region'  => 'YOUR_REGION',
            'options' => [
                'ACL' => 'public-read',
            ],
            // other parameters:
            // 'version'  => 'latest',
            // 'baseUrl'  => 'YOUR_BASE_URL',
            // 'prefix'   => 'YOUR_PREFIX',
            // 'endpoint' => 'http://your-url'
        ]),
        ...
    ]

    您还可以查看#138#141

有关其他适配器和更多选项,请访问 https://github.com/creocoder/yii2-flysystem

更新

要更新您的Presentator应用程序到最新版本,只需在项目根目录中运行 composer update

为了更精细的控制,请检查 /path/to/starter/composer.jsonrequire 部分的包版本约束。

备份与恢复

要备份您的Presentator应用程序

  1. 通过DBMS cli工具(例如 mysqldumppg_dump)或通过Adminer/phpMyAdmin等工具导出您的Presentator数据库。

  2. 备份 config/ 文件夹和上传的用户内容(通常位于 web/storage/)。

要恢复您的Presentator应用程序,您可以为旧或新安装应用以下步骤

  1. 通过DBMS cli工具(例如 mysqldumppg_dump)或通过Adminer/phpMyAdmin等工具导入您的Presentator数据库。

  2. 将之前备份的 config/ 和上传的用户内容返回到它们原来的位置。

  3. 运行 php /path/to/starter/yii migrate up 确保应用最新的应用程序数据库更改。