nodenone/extratools
Matomo的额外工具
Requires
- php: >=8.0
- symfony/process: ^5.4
- symfony/yaml: ~5.4.21
Requires (Dev)
- pheromone/phpcs-security-audit: ^2.0
- phpstan/phpstan: ^1.7
- phpstan/phpstan-deprecation-rules: ^1.1
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
- dev-5.x-dev
- dev-4.x-dev
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0-beta3
- 5.0.0-beta2
- 5.0.0-beta1
- 4.1.0-beta5
- 4.1.0-beta4
- 4.1.0-beta2
- 4.1.0-beta1
- 4.0.1-beta4
- 4.0.1-beta3
- 4.0.1-beta2
- 4.0.1-beta1
- 4.0.0-beta10
- 4.0.0-beta9
- 4.0.0-beta8
- 4.0.0-beta7
- 4.0.0-beta6
- 4.0.0-beta5
- 4.0.0-beta4
- 4.0.0-beta3
- 4.0.0-beta2
- 4.0.0-beta1
- 3.1.0-beta16
- 3.1.0-beta15
- 3.1.0-beta14
- 3.1.0-beta13
- 0.1.0-beta13
- 0.1.0-beta12
- 0.1.0-beta11
- 0.1.0-beta10
- 0.1.0-beta9
- 0.1.0-beta8
- 0.1.0-beta7
- 0.1.0-beta6
- 0.1.0-beta5
- 0.1.0-beta4
- 0.1.0-beta3
- 0.1.0-beta2
- 0.1.0-beta1
- 0.1.0-alpha10
- 0.1-alpha9
- 0.1.0-alpha8
- 0.1-alpha7
- 0.1.0-alpha6
- 0.1-alpha5
- 0.1.0-alpha4
- 0.1-alpha3
- 0.1-alpha2
- 0.1.0-alpha
- dev-release-5.0.2
- dev-phpunit-10
- dev-master
- dev-early_spring_cleaning
- dev-4.x-dev-fixes
- dev-3.x-dev
This package is auto-updated.
Last update: 2024-08-28 05:23:41 UTC
README
一些额外的命令行命令,以帮助维护Matomo。还提供管理部分的phpinfo页面。引入新的控制台命令
archive:list
config:get
database:backup
database:create
database:drop
database:import
logger:delete
logger:show
matomo:install
segment:admin
segment:list
site:add
site:delete
site:list
site:url
visits:get
customdimensions:configure-new-dimension
背景
创建此插件的主要原因是让自动安装与Matomo一起工作,包括自动更新 - 以及通过json或yaml配置的版本控制交付。
已知问题
在matomo:install
过程中添加站点目前有问题,但您可以在运行命令后立即运行site:add
命令。
./console site:add --name=Foo --urls=https://foo.bar
依赖关系
从版本4.1.0-beta1开始,我们依赖于PHP 8.1。
在主机上
- mysql-client或mariadb-client(用于数据库任务)
- PHP json扩展
在composer.json(Matomo根目录)中
从版本4.1.0-beta1开始
composer require symfony/yaml:~2.6.0
(将其从开发中移除)composer require symfony/process:^5.4
早期版本
composer require symfony/yaml:~2.6.0
(将其从开发中移除)composer require symfony/process:^3.4
安装
将插件克隆到您的插件文件夹中
git clone https://github.com/digitalist-se/extratools.git ExtraTools
配置
在UI中或更好的是在控制台中激活ExtraTools
console plugin:activate ExtraTools
设置数据库备份路径,使用控制台(使用您想要的路径)
./console config:set 'ExtraTools.db_backup_path="/var/www/html/tmp"'
或手动添加到config.ini.php
[ExtraTools]
db_backup_path = "/var/www/html/tmp"
命令
archive:list
获取正在运行或计划中的核心存档列表,如果存在。
config:get
获取配置部分。@todo - 使其更像config:set - 因此您有更多选项。
database:backup
备份数据库。
database:create
根据config.ini.php中定义的创建数据库。添加--force标志将停止命令询问问题。
database:drop
根据config.ini.php中定义的删除数据库 - 如果需要,首先备份。添加--force标志将停止命令询问问题。
database:import
将数据库转储导入到config.ini.php中定义的数据库,因此如果您已经有了安装 - 它将覆盖它。
logger:delete
从数据库中删除日志条目,这是Matomo的内部日志,不是站点的访问。
logger:show
显示数据库中的日志和查询条目,输出可以导出为CSV。
matomo:install
要使用matomo:install,您需要始终启用ExtraTools,将always_load_commands_from_plugin=ExtraTools
添加到common.config.ini.php
。
这是我们如何在Docker镜像构建中做到的
echo "[General]" > /var/www/html/config/common.config.ini.php; \ echo "always_load_commands_from_plugin=ExtraTools" >> /var/www/html/config/common.config.ini.php; \
安装Matamo。清除当前安装 - 默认情况下,它使用config.ini.php文件中的设置 - 但所有值都可以用参数或环境变量覆盖。
如果您有Matomo Premium插件的许可证,请使用正确的许可证令牌设置环境变量MATOMO_LICENSE
。环境变量设置为正常环境变量,在shell中使用export设置,在docker-compose文件中,环境数组等。如果设置了变量,Matomo将在安装时设置许可证密钥。
segment:admin
段管理,目前唯一选项是删除或激活段,删除的段以后可以再次激活。
segment:list
列出所有段,包括ID、定义、创建日期和最新更新日期。
site:add
添加一个新的站点进行跟踪。
site:delete
根据提供的ID删除站点。
site:list
列出站点,可选的格式参数 - 支持的输出是文本(默认)、json和yaml。
site:url
将一个或多个URL添加到站点。
visits:get
获取所有归档访问记录,针对单个网站或所有网站。对于某个分区或所有分区,对于今天或其他日期等。
customdimensions:configure-new-dimension
配置一个新的自定义维度。BETA。
要求
Matomo需要一个MySQL/MariaDB主机,并设置了一个允许删除该数据库的用户。第一个用户被创建为超级用户,需要有一个来设置Matomo。如果您没有在环境变量或matomo:install命令中添加值,它将使用默认的用户设置 - 因此,安装后更改该用户的密码非常重要。Matomo还会创建一个用于跟踪的第一个网站,该网站也有默认值,您可以使用环境变量或选项覆盖它们。
您还可以使用json文件进行配置 - 如上所述 - 以及安装插件。这个插件的示例json文件可以在docs文件夹中找到。
环境变量
来自官方Matomo Docker容器的支持默认环境变量
MATOMO_DATABASE_HOST MATOMO_DATABASE_PORT MATOMO_DATABASE_TABLES_PREFIX MATOMO_DATABASE_USERNAME MATOMO_DATABASE_PASSWORD MATOMO_DATABASE_DBNAME MATOMO_DATABASE_ADAPTER
这些可以通过(历史原因)覆盖
MATOMO_DB_HOST MATOMO_DB_PREFIX MATOMO_DB_USERNAME MATOMO_DB_PASSWORD MATOMO_DB_NAME
其他环境变量
MATOMO_FIRST_USER_NAME MATOMO_FIRST_USER_EMAIL MATOMO_FIRST_USER_PASSWORD MATOMO_FIRST_SITE_NAME MATOMO_FIRST_SITE_URL MATOMO_LOG_TIMESTAMP (1)
安装准备
如果您在config目录中有一个config.ini.php,请删除它。运行
console plugin:activate ExtraTools
然后按照以下示例之一操作。
示例安装1(推荐)
console matomo:install --install-file=install.json
示例安装2
console matomo:install --db-username=myuser --db-pass=password \
--db-host=localhost --db-port=3306 --db-name=matomo --first-site-name=Foo \
--first-site-url=https//foo.bar --first-user='Mr Foo Bar' \
--first-user-email=foo@bar.com --first-user-pass=secret
示例安装3
使用环境变量,docker-compose.yml示例。
environment:
- MATOMO_DB_USERNAME=myuser
- MATOMO_DB_PASSWORD=secret
- MATOMO_DB_HOST=mysql
- MATOMO_DB_PORT=3306
- MATOMO_DB_NAME=matomo
- MATOMO_FIRST_USER_NAME=Mr Foo Bar
- MATOMO_FIRST_USER_EMAIL=foo@bar.com
- MATOMO_FIRST_USER_PASSWORD=secret
- MATOMO_FIRST_SITE_NAME=Foo
- MATOMO_FIRST_SITE_URL=https://foo.bar
值顺序
最高数字 = 取代。如果您在环境变量中有MySQL服务器设置并提供选项--db-username=myuser,则后者用于数据库用户名。
- config.ini.php(第一次安装时创建)
- 环境变量
- 选项(matomo:install --db-username=myuser)
- 文件覆盖(matom-install --install-file=install.json)
注意!
matamo:install
将清除您的当前安装。database:drop
- 如其名所示 - 删除整个数据库,在保存数据之前请先备份,并检查是否正常。database:import
- 覆盖您当前的数据数据库。site:delete
- 真正删除您在Matomo中设置的网站。
此插件**不提供任何保证**。但是它是免费和开源的。所以,让我们一起让它变得更好!
支持的版本
这已从版本3.8.1进行测试,并应与最新稳定版兼容。
谢谢!
此插件基于Ben Evans在https://github.com/nebev/piwik-cli-setup所做的工作,并且也重新使用了Matomo核心中的代码。
测试
如何运行测试。
PHPstan
docker-compose exec matomo bash -c "/var/www/html/plugins/ExtraTools/vendor/bin/phpstan analyze -c /var/www/html/plugins/ExtraTools/tests/phpstan.neon --level=0 plugins/ExtraTools/"
Phpunit
docker-compose up -d docker-compose exec --user=root matomo bash -c "cd plugins/ExtraTools && composer install --no-interaction --no-progress" docker-compose exec matomo ./console matomo:install --install-file=/var/www/html/config/install.json --force docker-compose exec matomo ./console site:add --name=Foo --urls=https://foo.bar docker-compose exec matomo touch /var/www/html/.gitmodules docker-compose exec matomo ./console development:enable docker-compose exec matomo ./console config:set --section=tests --key=http_host --value=web docker-compose exec matomo ./console config:set --section=tests --key=request_uri --value=/ docker-compose exec matomo ./console config:set --section=database_tests --key=host --value=db docker-compose exec matomo ./console config:set --section=database_tests --key=username --value=root docker-compose exec matomo ./console config:set --section=database_tests --key=password --value=root docker-compose exec matomo ./console config:set --section=database_tests --key=dbname --value=matomo_test docker-compose exec matomo ./console config:set --section=database_tests --key=tables_prefix --value="" docker-compose exec matomo /var/www/html/plugins/ExtraTools/vendor/bin/phpunit -c plugins/ExtraTools/tests/phpunit.xml --coverage-text --testdox --log-junit report.xml