phplist / base-distribution
phpList 的一个发行版,phpList 是世界上最受欢迎的开源新闻邮件管理器
Requires
- php: ~7.0.0 || ~7.1.0 || ~7.2.0
- phplist/core: 4.0.x-dev
- phplist/rest-api: 4.0.x-dev
- roave/security-advisories: dev-master
Requires (Dev)
- guzzlehttp/guzzle: ^6.3.0
- nette/caching: ^2.5.0 || ^3.0.0
- nikic/php-parser: ^3.1.0
- phpmd/phpmd: ^2.6.0
- phpstan/phpstan: ^0.7.0
- phpunit/phpunit: ^6.5.6
- phpunit/phpunit-mock-objects: ^5.0.6
- squizlabs/php_codesniffer: ^3.2.0
Suggests
- phplist/web-frontend: 4.0.x-dev
This package is auto-updated.
Last update: 2024-09-19 22:09:55 UTC
README
关于 phpList
phpList 是一个开源的新闻邮件管理器。该项目是对原始 phpList 的重写。[原始 phpList](https://github.com/phpList/phplist3)。
关于此包
此模块是 phpList 4 安装的基石。它将拉取 phplist/core
模块(phpList 4 的核心)和默认情况下也会拉取 phplist/rest-api
模块(新的 REST API 包)。rest-api 依赖项是可选的。
此包旨在克隆后修改。它不打算在初始安装后通过 Composer 更新(尽管通过 composer update 更新依赖关系是可以的)。
此(即下载的包)也是配置文件存储(或符号链接到)的地方。
安装
- 下载并安装 composer。
- 运行
composer create-project -s dev --no-dev phplist/base-distribution your-project
(为your-project
目录使用任何您喜欢的名称)。 - 切换到
your-project
目录。 - 如果您不想使用 REST API,请编辑
composer.json
,删除相应的phplist/rest-api
要求,然后运行composer update
。
在 Web 服务器上配置和运行 phpList
phpList 应用程序配置为内置 PHP 服务器可以以开发和测试模式运行,而 Apache 可以以生产模式运行。
Apache 上的生产环境
- 在 Apache 虚拟主机配置中,将目录
public/
设置为文档根。 - 在 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
以下步骤假设您的机器已安装tar
和composer
,并且composer
已添加到您的系统路径中(并且它的名称是composer
,而不是composer.phar
)。
为此包贡献力量
请阅读贡献指南,了解如何贡献力量以及如何在本地运行单元测试和风格检查。
行为准则
本项目遵守贡献者行为准则。通过参与此项目和其社区,您被期望遵守此准则。