phplist/base-distribution

phpList 分发版,全球最受欢迎的开源新闻邮件管理器

安装: 416

依赖: 0

建议: 0

安全: 0

星星: 13

关注者: 10

分支: 9

开放问题: 8

类型:项目

v4.0.0-alpha2 2018-03-09 15:06 UTC

README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

关于 phpList

phpList 是一个开源新闻邮件管理器。本项目是原始 phpList 的重写版本。

关于此包

此模块是 phpList 4 安装的基石。它将拉取 phplist/core 模块(phpList 4 核心模块)和默认情况下也拉取 phplist/rest-api 模块(新的 REST API 包)。rest-api 依赖是可选的。

此包旨在克隆并修改,而不是在初始安装后通过 Composer 更新(尽管可以通过 composer update 更新依赖项)。

此处(即下载的包)也是配置文件存储(或符号链接)的地方。

安装

  1. 下载并安装 composer
  2. 运行 composer create-project -s dev --no-dev phplist/base-distribution your-project(为 your-project 目录使用任何您喜欢的名称)。
  3. 切换到 your-project 目录。
  4. 如果您不希望使用 REST API,请编辑 composer.json,删除相应的 phplist/rest-api 要求,然后运行 composer update

在 Web 服务器上配置和运行 phpList

phpList 应用程序已配置,内置的 PHP Web 服务器可以在开发和测试模式下运行,而 Apache 则可以在生产模式下运行。

Apache 生产环境

  1. 在 Apache 虚拟主机配置中,将目录 public/ 设置为文档根。
  2. 在 Apache 虚拟主机配置中设置一个随机的 40 个字符十六进制密钥和 phpList 数据库凭据。您的 Apache 2.4 配置可能如下所示
<VirtualHost *:80>
    ServerName domain.tld
    ServerAlias www.domain.tld

    DocumentRoot /var/www/project/public
    <Directory /var/www/project/public>
        AllowOverride All
        Require all granted
    </Directory>

    # uncomment the following lines if you install assets as symlinks
    # or run into problems when compiling LESS/Sass/CoffeeScript assets
    # <Directory /var/www/project>
    #     Options FollowSymlinks
    # </Directory>

    SetEnv PHPLIST_SECRET f75365ecb07c725ba05d5361e415a328880360e5
    SetEnv PHPLIST_DATABASE_NAME phplist
    SetEnv PHPLIST_DATABASE_USER phplist
    SetEnv PHPLIST_DATABASE_PASSWORD correctHorseBatteryStaple

    ErrorLog /var/log/apache2/project_error.log
    CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>

然后重新加载或重启 Apache 以激活配置更改。

如果您无法在 Apache 配置中设置任何环境变量,您也可以在 config/parameters.yml 中设置数据库凭据。但是,这只应作为最后的手段使用,因为这会降低安全性(攻击者如果有读取 Web 服务器上文件的权限,那么他们就可以读取该文件,而他们仍然无法访问环境变量)。

使用以下优化配置来禁用 .htaccess 支持,并提高 Web 服务器性能

<VirtualHost *:80>
    ServerName domain.tld
    ServerAlias www.domain.tld

    DocumentRoot /var/www/project/public
    <Directory /var/www/project/public>
        AllowOverride None
        Order Allow,Deny
        Allow from All

        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]
        </IfModule>
    </Directory>

    SetEnv PHPLIST_SECRET f75365ecb07c725ba05d5361e415a328880360e5
    SetEnv PHPLIST_DATABASE_NAME phplist
    SetEnv PHPLIST_DATABASE_USER phplist
    SetEnv PHPLIST_DATABASE_PASSWORD correctHorseBatteryStaple

    ErrorLog /var/log/apache2/project_error.log
    CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>

开发

要使用内置 PHP 服务器在开发模式下运行应用程序,请使用此命令

bin/console server:run -d public/

服务器将监听 http://127.0.0.1:8000(如果端口 8000 已被占用,则监听 8000 之后的下一个可用端口)。

您可以使用 CTRL + C 停止服务器。

测试

要运行测试模式下的服务器(通常只需要用于自动测试,请提供 --env 选项

bin/console server:run -d public/ --env=test

有用的 Composer 脚本

您可以使用此命令获取所有已安装 phpList 模块的列表

composer run-script list-modules

创建此分发的 .tar.gz 包

以下是在版本 4.0.x-dev 上创建名为 phplist-base-distribution-4.0.x-dev.tar.gz 的包的步骤

composer create-project phplist/base-distribution phplist 4.0.x-dev --prefer-dist --no-dev -s dev
tar -cvzf phplist-base-distribution-4.0.x-dev.tar.gz phplist

以下步骤假定您的计算机已安装tarcomposer,并且composer已添加到您的系统路径中(并且其名称为composer,而不是composer.phar)。

为此包做出贡献

请阅读贡献指南,了解如何贡献以及如何在本地运行单元测试和样式检查。

行为准则

本项目遵循贡献者行为准则。通过参与本项目及其社区,您应遵守此准则。