global.ini.php
1119 lines
| 1 | ; <?php exit; ?> DO NOT REMOVE THIS LINE |
| 2 | ; If you want to change some of these default values, the best practise is to override |
| 3 | ; them in your configuration file in config/config.ini.php. If you directly edit this file, |
| 4 | ; you will lose your changes when you upgrade Matomo. |
| 5 | ; For example if you want to override action_title_category_delimiter, |
| 6 | ; edit config/config.ini.php and add the following: |
| 7 | ; [General] |
| 8 | ; action_title_category_delimiter = "-" |
| 9 | |
| 10 | ;-------- |
| 11 | ; WARNING - YOU SHOULD NOT EDIT THIS FILE DIRECTLY - Edit config.ini.php instead. |
| 12 | ;-------- |
| 13 | |
| 14 | [database] |
| 15 | host = |
| 16 | username = |
| 17 | password = |
| 18 | dbname = |
| 19 | tables_prefix = |
| 20 | port = 3306 |
| 21 | adapter = PDO\MYSQL |
| 22 | type = InnoDB |
| 23 | schema = Mysql |
| 24 | |
| 25 | ; Database SSL Options START |
| 26 | ; Turn on or off SSL connection to database, possible values for enable_ssl: 1 or 0 |
| 27 | enable_ssl = 0 |
| 28 | ; Direct path to server CA file, CA bundle supported (required for ssl connection) |
| 29 | ssl_ca = |
| 30 | ; Direct path to client cert file (optional) |
| 31 | ssl_cert = |
| 32 | ; Direct path to client key file (optional) |
| 33 | ssl_key = |
| 34 | ; Direct path to CA cert files directory (optional) |
| 35 | ssl_ca_path = |
| 36 | ; List of one or more ciphers for SSL encryption, in OpenSSL format (optional) |
| 37 | ssl_cipher = |
| 38 | ; Whether to skip verification of self signed certificates (optional, only supported |
| 39 | ; w/ specific PHP versions, and is mostly for testing purposes) |
| 40 | ssl_no_verify = |
| 41 | ; Database SSL Options END |
| 42 | |
| 43 | ; if charset is set to utf8, Matomo will ensure that it is storing its data using UTF8 charset. |
| 44 | ; it will add a sql query SET at each page view. |
| 45 | ; Matomo should work correctly without this setting but we recommend to have a charset set. |
| 46 | charset = utf8 |
| 47 | |
| 48 | ; If configured, the following queries will be executed on the reader instead of the writer. |
| 49 | ; * archiving queries that hit a log table |
| 50 | ; * live queries that hit a log table |
| 51 | ; You only want to enable a reader if you can ensure there is minimal replication lag / delay on the reader. |
| 52 | ; Otherwise you might get corrupt data in the reports. |
| 53 | [database_reader] |
| 54 | host = |
| 55 | username = |
| 56 | password = |
| 57 | dbname = |
| 58 | port = 3306 |
| 59 | |
| 60 | [database_tests] |
| 61 | host = localhost |
| 62 | username = "@USERNAME@" |
| 63 | password = |
| 64 | dbname = matomo_tests |
| 65 | tables_prefix = |
| 66 | port = 3306 |
| 67 | adapter = PDO\MYSQL |
| 68 | type = InnoDB |
| 69 | schema = Mysql |
| 70 | charset = utf8mb4 |
| 71 | enable_ssl = 0 |
| 72 | ssl_ca = |
| 73 | ssl_cert = |
| 74 | ssl_key = |
| 75 | ssl_ca_path = |
| 76 | ssl_cipher = |
| 77 | ssl_no_verify = 1 |
| 78 | |
| 79 | [tests] |
| 80 | ; needed in order to run tests. |
| 81 | ; if Matomo is available at http://localhost/dev/matomo/ replace @REQUEST_URI@ with /dev/matomo/ |
| 82 | ; note: the REQUEST_URI should not contain "plugins" or "tests" in the PATH |
| 83 | http_host = localhost |
| 84 | remote_addr = "127.0.0.1" |
| 85 | request_uri = "@REQUEST_URI@" |
| 86 | port = |
| 87 | enable_logging = 0 |
| 88 | |
| 89 | [log] |
| 90 | ; possible values for log: screen, database, file |
| 91 | log_writers[] = screen |
| 92 | |
| 93 | ; log level, everything logged w/ this level or one of greater severity |
| 94 | ; will be logged. everything else will be ignored. possible values are: |
| 95 | ; ERROR, WARN, INFO, DEBUG |
| 96 | ; this setting will apply to every log writer, if there is no specific log level defined for a writer. |
| 97 | log_level = WARN |
| 98 | |
| 99 | ; you can also set specific log levels for different writers, by appending the writer name to log_level_, like so: |
| 100 | ; this allows you to log more information to one backend vs another. |
| 101 | ; log_level_screen = |
| 102 | ; log_level_file = |
| 103 | |
| 104 | ; if configured to log in a file, log entries will be made to this file |
| 105 | logger_file_path = tmp/logs/matomo.log |
| 106 | |
| 107 | [Cache] |
| 108 | ; available backends are 'file', 'array', 'null', 'redis', 'chained' |
| 109 | ; 'array' will cache data only during one request |
| 110 | ; 'null' will not cache anything at all |
| 111 | ; 'file' will cache on the filesystem |
| 112 | ; 'redis' will cache on a Redis server, use this if you are running Matomo with multiple servers. Further configuration in [RedisCache] is needed |
| 113 | ; 'chained' will chain multiple cache backends. Further configuration in [ChainedCache] is needed |
| 114 | backend = chained |
| 115 | |
| 116 | [ChainedCache] |
| 117 | ; The chained cache will always try to read from the fastest backend first (the first listed one) to avoid requesting |
| 118 | ; the same cache entry from the slowest backend multiple times in one request. |
| 119 | backends[] = array |
| 120 | backends[] = file |
| 121 | |
| 122 | [RedisCache] |
| 123 | ; Redis server configuration. |
| 124 | host = "127.0.0.1" |
| 125 | port = 6379 |
| 126 | ; instead of host and port a unix socket path can be configured |
| 127 | unix_socket = "" |
| 128 | timeout = 0.0 |
| 129 | password = "" |
| 130 | database = 14 |
| 131 | ; In case you are using queued tracking: Make sure to configure a different database! Otherwise queued requests might |
| 132 | ; be flushed |
| 133 | |
| 134 | [Debug] |
| 135 | ; if set to 1, the archiving process will always be triggered, even if the archive has already been computed |
| 136 | ; this is useful when making changes to the archiving code so we can force the archiving process |
| 137 | always_archive_data_period = 0; |
| 138 | always_archive_data_day = 0; |
| 139 | ; Force archiving Custom date range (without re-archiving sub-periods used to process this date range) |
| 140 | always_archive_data_range = 0; |
| 141 | |
| 142 | ; if set to 1, all the SQL queries will be recorded by the profiler |
| 143 | ; and a profiling summary will be printed at the end of the request |
| 144 | ; NOTE: you must also set [log] log_writers[] = "screen" to enable the profiler to print on screen |
| 145 | enable_sql_profiler = 0 |
| 146 | |
| 147 | ; If set to 1, all requests to matomo.php will be forced to be 'new visitors' |
| 148 | tracker_always_new_visitor = 0 |
| 149 | |
| 150 | ; if set to 1, all SQL queries will be logged using the DEBUG log level |
| 151 | log_sql_queries = 0 |
| 152 | |
| 153 | ; if set to 1, core:archive profiling information will be recorded in a log file. the log file is determined by the |
| 154 | ; archive_profiling_log option. |
| 155 | archiving_profile = 0 |
| 156 | |
| 157 | ; if set to an absolute path, core:archive profiling information will be logged to specified file |
| 158 | archive_profiling_log = |
| 159 | |
| 160 | ; if set to 1, use of a php profiler will be enabled. the profiler will not be activated unless its installation |
| 161 | ; can be detected and the correct query and CLI parameters are supplied to toggle it. |
| 162 | ; Note: this setting is not dependent on development mode, since it is often required to run the profiler with |
| 163 | ; all optimizations and caches enabled. |
| 164 | enable_php_profiler = 0 |
| 165 | |
| 166 | [DebugTests] |
| 167 | ; When set to 1, standalone plugins (those with their own git repositories) |
| 168 | ; will be loaded when executing tests. |
| 169 | enable_load_standalone_plugins_during_tests = 0 |
| 170 | |
| 171 | [Development] |
| 172 | ; Enables the development mode where we avoid most caching to make sure code changes will be directly applied as |
| 173 | ; some caches are only invalidated after an update otherwise. When enabled it'll also performs some validation checks. |
| 174 | ; For instance if you register a method in a widget we will verify whether the method actually exists and is public. |
| 175 | ; If not, we will show you a helpful warning to make it easy to find simple typos etc. |
| 176 | enabled = 0 |
| 177 | |
| 178 | ; if set to 1, javascript files will be included individually and neither merged nor minified. |
| 179 | ; this option must be set to 1 when adding, removing or modifying javascript files |
| 180 | ; Note that for quick debugging, instead of using below setting, you can add `&disable_merged_assets=1` to the Matomo URL |
| 181 | disable_merged_assets = 0 |
| 182 | |
| 183 | [General] |
| 184 | ; the following settings control whether Unique Visitors `nb_uniq_visitors` and Unique users `nb_users` will be processed for different period types. |
| 185 | ; year and range periods are disabled by default, to ensure optimal performance for high traffic Matomo instances |
| 186 | ; if you set it to 1 and want the Unique Visitors to be re-processed for reports in the past, drop all matomo_archive_* tables |
| 187 | ; it is recommended to always enable Unique Visitors and Unique Users processing for 'day' periods |
| 188 | enable_processing_unique_visitors_day = 1 |
| 189 | enable_processing_unique_visitors_week = 1 |
| 190 | enable_processing_unique_visitors_month = 1 |
| 191 | enable_processing_unique_visitors_year = 0 |
| 192 | enable_processing_unique_visitors_range = 0 |
| 193 | |
| 194 | ; controls whether Unique Visitors will be processed for groups of websites. these metrics describe the number |
| 195 | ; of unique visitors across the entire set of websites, so if a visitor visited two websites in the group, she |
| 196 | ; would still only be counted as one. only relevant when using plugins that group sites together |
| 197 | enable_processing_unique_visitors_multiple_sites = 0 |
| 198 | |
| 199 | ; The list of periods that are available in the Matomo calendar |
| 200 | ; Example use case: custom date range requests are processed in real time, |
| 201 | ; so they may take a few minutes on very high traffic website: you may remove "range" below to disable this period |
| 202 | enabled_periods_UI = "day,week,month,year,range" |
| 203 | enabled_periods_API = "day,week,month,year,range" |
| 204 | |
| 205 | ; whether to enable segment archiving cache |
| 206 | ; Note: if you use any plugins, this need to be compliant with Matomo and |
| 207 | ; * depending on the segment you create you may need a newer MySQL version (eg 5.7 or newer) |
| 208 | ; * use a reader database for archiving in case you have configured a database reader |
| 209 | enable_segments_cache = 1 |
| 210 | |
| 211 | ; whether to enable subquery cache for Custom Segment archiving queries |
| 212 | enable_segments_subquery_cache = 0 |
| 213 | ; Any segment subquery that matches more than segments_subquery_cache_limit IDs will not be cached, |
| 214 | ; and the original subquery executed instead. |
| 215 | segments_subquery_cache_limit = 100000 |
| 216 | ; TTL: Time to live for cache files, in seconds. Default to 60 minutes |
| 217 | segments_subquery_cache_ttl = 3600 |
| 218 | |
| 219 | ; when set to 1, all requests to Matomo will return a maintenance message without connecting to the DB |
| 220 | ; this is useful when upgrading using the shell command, to prevent other users from accessing the UI while Upgrade is in progress |
| 221 | maintenance_mode = 0 |
| 222 | |
| 223 | ; Defines the release channel that shall be used. Currently available values are: |
| 224 | ; "latest_stable", "latest_beta", "latest_4x_stable", "latest_4x_beta" |
| 225 | release_channel = "latest_stable" |
| 226 | |
| 227 | ; character used to automatically create categories in the Actions > Pages, Outlinks and Downloads reports |
| 228 | ; for example a URL like "example.com/blog/development/first-post" will create |
| 229 | ; the page first-post in the subcategory development which belongs to the blog category |
| 230 | action_url_category_delimiter = / |
| 231 | |
| 232 | ; similar to above, but this delimiter is only used for page titles in the Actions > Page titles report |
| 233 | action_title_category_delimiter = "" |
| 234 | |
| 235 | ; the maximum url category depth to track. if this is set to 2, then a url such as |
| 236 | ; "example.com/blog/development/first-post" would be treated as "example.com/blog/development". |
| 237 | ; this setting is used mainly to limit the amount of data that is stored by Matomo. |
| 238 | action_category_level_limit = 10 |
| 239 | |
| 240 | ; minimum number of websites to run autocompleter |
| 241 | autocomplete_min_sites = 5 |
| 242 | |
| 243 | ; maximum number of websites showed in search results in autocompleter |
| 244 | site_selector_max_sites = 15 |
| 245 | |
| 246 | ; if set to 1, shows sparklines (evolution graph) in 'All Websites' report (MultiSites plugin) |
| 247 | show_multisites_sparklines = 1 |
| 248 | |
| 249 | ; number of websites to display per page in the All Websites dashboard |
| 250 | all_websites_website_per_page = 50 |
| 251 | |
| 252 | ; if set to 0, the anonymous user will not be able to use the 'segments' parameter in the API request |
| 253 | ; this is useful to prevent full DB access to the anonymous user, or to limit performance usage |
| 254 | anonymous_user_enable_use_segments_API = 1 |
| 255 | |
| 256 | ; if browser trigger archiving is disabled, API requests with a &segment= parameter will still trigger archiving. |
| 257 | ; You can force the browser archiving to be disabled in most cases by setting this setting to 1 |
| 258 | ; The only time that the browser will still trigger archiving is when requesting a custom date range that is not pre-processed yet |
| 259 | browser_archiving_disabled_enforce = 0 |
| 260 | |
| 261 | ; Add custom currencies to Sites Manager. |
| 262 | currencies[BTC] = Bitcoin |
| 263 | |
| 264 | ; By default, users can create Segments which are to be processed in Real-time. |
| 265 | ; Setting this to 0 will force all newly created Custom Segments to be "Pre-processed (faster, requires archive.php cron)" |
| 266 | ; This can be useful if you want to prevent users from adding much load on the server. |
| 267 | ; Notes: |
| 268 | ; * any existing Segment set to "processed in Real time", will still be set to Real-time. |
| 269 | ; this will only affect custom segments added or modified after this setting is changed. |
| 270 | ; * users with at least 'view' access will still be able to create pre-processed segments, regardless |
| 271 | ; of what this is set to. |
| 272 | enable_create_realtime_segments = 1 |
| 273 | |
| 274 | ; Whether to enable the "Suggest values for segment" in the Segment Editor panel. |
| 275 | ; Set this to 0 in case your Matomo database is very big, and suggested values may not appear in time |
| 276 | enable_segment_suggested_values = 1 |
| 277 | |
| 278 | ; By default, any user with a "view" access for a website can create segment assigned to this website. |
| 279 | ; Set this to "admin" or "superuser" to require that users should have at least this access to create new segments. |
| 280 | ; Note: anonymous user (even if it has view access) is not allowed to create or edit segment. |
| 281 | ; Possible values are "view", "admin", "superuser" |
| 282 | adding_segment_requires_access = "view" |
| 283 | |
| 284 | ; Whether it is allowed for users to add segments that affect all websites or not. If there are many websites |
| 285 | ; this admin option can be used to prevent users from performing an action that will have a major impact |
| 286 | ; on Matomo performance. |
| 287 | allow_adding_segments_for_all_websites = 1 |
| 288 | |
| 289 | ; When archiving segments for the first time, this determines the oldest date that will be archived. |
| 290 | ; This option can be used to avoid archiving (for instance) the lastN years for every new segment. |
| 291 | ; Valid option values include: "beginning_of_time" (start date of archiving will not be changed) |
| 292 | ; "segment_last_edit_time" (start date of archiving will be the earliest last edit date found, |
| 293 | ; if none is found, the created date is used) |
| 294 | ; "segment_creation_time" (start date of archiving will be the creation date of the segment) |
| 295 | ; editLastN where N is an integer (eg "editLast10" to archive for 10 days before the segment last edit date) |
| 296 | ; lastN where N is an integer (eg "last10" to archive for 10 days before the segment creation date) |
| 297 | process_new_segments_from = "beginning_of_time" |
| 298 | |
| 299 | ; this action name is used when the URL ends with a slash / |
| 300 | ; it is useful to have an actual string to write in the UI |
| 301 | action_default_name = index |
| 302 | |
| 303 | ; default language to use in Matomo |
| 304 | default_language = en |
| 305 | |
| 306 | ; default number of elements in the datatable |
| 307 | datatable_default_limit = 10 |
| 308 | |
| 309 | ; Each datatable report has a Row Limit selector at the bottom right. |
| 310 | ; By default you can select from 5 to 500 rows. You may customise the values below |
| 311 | ; -1 will be displayed as 'all' and it will export all rows (filter_limit=-1) |
| 312 | datatable_row_limits = "5,10,25,50,100,250,500,-1" |
| 313 | |
| 314 | ; default number of rows returned in API responses |
| 315 | ; this value is overwritten by the '# Rows to display' selector. |
| 316 | ; if set to -1, a click on 'Export as' will export all rows independently of the current '# Rows to display'. |
| 317 | API_datatable_default_limit = 100 |
| 318 | |
| 319 | ; When period=range, below the datatables, when user clicks on "export", the data will be aggregate of the range. |
| 320 | ; Here you can specify the comma separated list of formats for which the data will be exported aggregated by day |
| 321 | ; (ie. there will be a new "date" column). For example set to: "rss,tsv,csv" |
| 322 | datatable_export_range_as_day = "rss" |
| 323 | |
| 324 | ; This setting is overridden in the UI, under "User Settings". |
| 325 | ; The date and period loaded by Matomo uses the defaults below. Possible values: yesterday, today. |
| 326 | default_day = yesterday |
| 327 | ; Possible values: day, week, month, year. |
| 328 | default_period = day |
| 329 | |
| 330 | ; Time in seconds after which an archive will be computed again. This setting is used only for today's statistics. |
| 331 | ; This setting is overridden in the UI, under "General Settings". |
| 332 | ; This setting is only used if it hasn't been overridden via the UI yet, or if enable_general_settings_admin=0 |
| 333 | time_before_today_archive_considered_outdated = 900 |
| 334 | |
| 335 | ; Time in seconds after which an archive will be computed again. This setting is used only for week's statistics. |
| 336 | ; If set to "-1" (default), it will fall back to the UI setting under "General settings" unless enable_general_settings_admin=0 |
| 337 | ; is set. In this case it will default to "time_before_today_archive_considered_outdated"; |
| 338 | time_before_week_archive_considered_outdated = -1 |
| 339 | |
| 340 | ; Same as config setting "time_before_week_archive_considered_outdated" but it is only applied to monthly archives |
| 341 | time_before_month_archive_considered_outdated = -1 |
| 342 | |
| 343 | ; Same as config setting "time_before_week_archive_considered_outdated" but it is only applied to yearly archives |
| 344 | time_before_year_archive_considered_outdated = -1 |
| 345 | |
| 346 | ; Same as config setting "time_before_week_archive_considered_outdated" but it is only applied to range archives |
| 347 | time_before_range_archive_considered_outdated = -1 |
| 348 | |
| 349 | ; This setting is overridden in the UI, under "General Settings". |
| 350 | ; The default value is to allow browsers to trigger the Matomo archiving process. |
| 351 | ; This setting is only used if it hasn't been overridden via the UI yet, or if enable_general_settings_admin=0 |
| 352 | enable_browser_archiving_triggering = 1 |
| 353 | |
| 354 | ; By default, Matomo will force archiving of range periods from browser requests, even if enable_browser_archiving_triggering |
| 355 | ; is set to 0. This can sometimes create too much of a demand on system resources. Setting this option to 0 and |
| 356 | ; disabling browser trigger archiving will make sure ranges are not archived on browser request. Since the cron |
| 357 | ; archiver does not archive any custom date ranges, you must either disable range (using enabled_periods_API and enabled_periods_UI) |
| 358 | ; or make sure the date ranges users' want to see will be processed somehow. |
| 359 | archiving_range_force_on_browser_request = 1 |
| 360 | |
| 361 | ; By default Matomo will automatically archive all date ranges any user has chosen in their account settings. |
| 362 | ; This is limited to the available options last7, previous7, last30 and previous30. |
| 363 | ; If you need any other period, or want to ensure one of those is always archived, you can define them here |
| 364 | archiving_custom_ranges[] = |
| 365 | |
| 366 | ; If configured, archiving queries will be aborted after the configured amount of seconds. Set it to -1 if the query time |
| 367 | ; should not be limited. Note: This feature requires a recent MySQL version (5.7 or newer). Some MySQL forks like MariaDB |
| 368 | ; might not support this feature which uses the MAX_EXECUTION_TIME hint. |
| 369 | archiving_query_max_execution_time = 7200 |
| 370 | |
| 371 | ; By default Matomo runs OPTIMIZE TABLE SQL queries to free spaces after deleting some data. |
| 372 | ; If your Matomo tracks millions of pages, the OPTIMIZE TABLE queries might run for hours (seen in "SHOW FULL PROCESSLIST \g") |
| 373 | ; so you can disable these special queries here: |
| 374 | enable_sql_optimize_queries = 1 |
| 375 | |
| 376 | ; By default Matomo is purging complete date range archives to free spaces after deleting some data. |
| 377 | ; If you are pre-processing custom ranges using CLI task to make them easily available in UI, |
| 378 | ; you can prevent this action from happening by setting this parameter to value bigger than 1 |
| 379 | purge_date_range_archives_after_X_days = 1 |
| 380 | |
| 381 | ; MySQL minimum required version |
| 382 | ; note: timezone support added in 4.1.3 |
| 383 | minimum_mysql_version = 4.1 |
| 384 | |
| 385 | ; PostgreSQL minimum required version |
| 386 | minimum_pgsql_version = 8.3 |
| 387 | |
| 388 | ; Minimum advised memory limit in Mb in php.ini file (see memory_limit value) |
| 389 | ; Set to "-1" to always use the configured memory_limit value in php.ini file. |
| 390 | minimum_memory_limit = 128 |
| 391 | |
| 392 | ; Minimum memory limit in Mb enforced when archived via ./console core:archive |
| 393 | ; Set to "-1" to always use the configured memory_limit value in php.ini file. |
| 394 | minimum_memory_limit_when_archiving = 768 |
| 395 | |
| 396 | ; Matomo will check that usernames and password have a minimum length, and will check that characters are "allowed" |
| 397 | ; This can be disabled, if for example you wish to import an existing User database in Matomo and your rules are less restrictive |
| 398 | disable_checks_usernames_attributes = 0 |
| 399 | |
| 400 | ; Matomo will use the configured hash algorithm where possible. |
| 401 | ; For legacy data, fallback or non-security scenarios, we use md5. |
| 402 | hash_algorithm = whirlpool |
| 403 | |
| 404 | ; set the algorithm used by password_hash() |
| 405 | ; "default" for the algorithm used by the PHP version or one of ["bcrypt", "argon2i", "argon2id"] |
| 406 | ; "argon2id" requires at least PHP 7.3.0 |
| 407 | ; for all argon2 algorithms, additional parameters can be changed below |
| 408 | ; any changes are applied to the stored hash on the next login of a user |
| 409 | ; see https://www.php.net/manual/en/function.password-hash.php and https://wiki.php.net/rfc/argon2_password_hash |
| 410 | ; for more information |
| 411 | password_hash_algorithm = default |
| 412 | |
| 413 | ; The number of CPU threads used for calculating the hash |
| 414 | password_hash_argon2_threads = default |
| 415 | |
| 416 | ; The amount of memory (in KB) used for calculating the hash |
| 417 | ; a minimum of 8 times the number of threads |
| 418 | password_hash_argon2_memory_cost = default |
| 419 | |
| 420 | ; The number of iterations for calculating the hash |
| 421 | password_hash_argon2_time_cost = default |
| 422 | |
| 423 | ; If set to 1, Matomo will automatically redirect all http:// requests to https:// |
| 424 | ; If SSL / https is not correctly configured on the server, this will break Matomo |
| 425 | ; If you set this to 1, and your SSL configuration breaks later on, you can always edit this back to 0 |
| 426 | ; it is recommended for security reasons to always use Matomo over https |
| 427 | force_ssl = 0 |
| 428 | |
| 429 | ; If set to 1 Matomo will prefer using SERVER_NAME variable over HTTP_HOST. |
| 430 | ; This can add an additional layer of security as SERVER_NAME can not be manipulated by sending custom host headers when configure correctly. |
| 431 | host_validation_use_server_name = 0 |
| 432 | |
| 433 | ; This list defines the hostnames that a valid sources to download GeoIP databases from. Subdomains of those hostnames will be accepted automatically. |
| 434 | geolocation_download_from_trusted_hosts[] = maxmind.com |
| 435 | geolocation_download_from_trusted_hosts[] = db-ip.com |
| 436 | geolocation_download_from_trusted_hosts[] = ip2location.com |
| 437 | |
| 438 | ; Session garbage collection on (as on some operating systems, i.e. Debian, it may be off by default) |
| 439 | session_gc_probability = 1 |
| 440 | |
| 441 | ; (DEPRECATED) has no effect |
| 442 | login_cookie_name = matomo_auth |
| 443 | |
| 444 | ; By default, the auth cookie is set only for the duration of session. |
| 445 | ; if "Remember me" is checked, the auth cookie will be valid for 14 days by default |
| 446 | login_cookie_expire = 1209600 |
| 447 | |
| 448 | ; Sets the session cookie path |
| 449 | login_cookie_path = |
| 450 | |
| 451 | ; the amount of time before an idle session is considered expired. only affects session that were created without the |
| 452 | ; "remember me" option checked |
| 453 | login_session_not_remembered_idle_timeout = 3600 |
| 454 | |
| 455 | ; email address that appears as a Reply-to in the password recovery email |
| 456 | ; if specified, {DOMAIN} will be replaced by the current Matomo domain |
| 457 | login_password_recovery_replyto_email_address = "no-reply@{DOMAIN}" |
| 458 | ; name that appears as a Reply-to in the password recovery email |
| 459 | login_password_recovery_replyto_email_name = "No-reply" |
| 460 | |
| 461 | ; When configured, only users from a configured IP can log into your Matomo. You can define one or multiple |
| 462 | ; IPv4, IPv6, and IP ranges. You may also define hostnames. However, resolving hostnames in each request |
| 463 | ; may slightly slow down your Matomo. |
| 464 | ; This allowlist also affects API requests unless you disabled it via the setting |
| 465 | ; "login_allowlist_apply_to_reporting_api_requests" below. Note that neither this setting, nor the |
| 466 | ; "login_allowlist_apply_to_reporting_api_requests" restricts authenticated tracking requests (tracking requests |
| 467 | ; with a "token_auth" URL parameter). |
| 468 | ; |
| 469 | ; Examples: |
| 470 | ; login_allowlist_ip[] = 204.93.240.* |
| 471 | ; login_allowlist_ip[] = 204.93.177.0/24 |
| 472 | ; login_allowlist_ip[] = 199.27.128.0/21 |
| 473 | ; login_allowlist_ip[] = 2001:db8::/48 |
| 474 | ; login_allowlist_ip[] = matomo.org |
| 475 | |
| 476 | ; By default, if an allowlisted IP address is specified via "login_allowlist_ip[]", the reporting user interface as |
| 477 | ; well as HTTP Reporting API requests will only work for these allowlisted IPs. |
| 478 | ; Set this setting to "0" to allow HTTP Reporting API requests from any IP address. |
| 479 | login_allowlist_apply_to_reporting_api_requests = 1 |
| 480 | |
| 481 | ; By default when user logs out they are redirected to Matomo "homepage" usually the Login form. |
| 482 | ; Uncomment the next line to set a URL to redirect the user to after they log out of Matomo. |
| 483 | ; login_logout_url = http://... |
| 484 | |
| 485 | ; Set to 1 to disable the framebuster on standard Non-widgets pages (a click-jacking countermeasure). |
| 486 | ; Default is 0 (i.e., bust frames on all non Widget pages such as Login, API, Widgets, Email reports, etc.). |
| 487 | enable_framed_pages = 0 |
| 488 | |
| 489 | ; Set to 1 to disable the framebuster on Admin pages (a click-jacking countermeasure). |
| 490 | ; Default is 0 (i.e., bust frames on the Settings forms). |
| 491 | enable_framed_settings = 0 |
| 492 | |
| 493 | ; Set to 1 to allow using token_auths with write or admin access in iframes that embed Matomo. |
| 494 | ; Note that the token used will be in the URL in the iframe, and thus will be stored in webserver |
| 495 | ; logs and possibly other places. Using write or admin token_auths can be seen as a security risk, |
| 496 | ; though it can be necessary in some use cases. We do not recommend enabling this setting, for more |
| 497 | ; information view the FAQ: https://matomo.org/faq/troubleshooting/faq_147/ |
| 498 | enable_framed_allow_write_admin_token_auth = 0 |
| 499 | |
| 500 | ; language cookie name for session |
| 501 | language_cookie_name = matomo_lang |
| 502 | |
| 503 | ; standard email address displayed when sending emails |
| 504 | noreply_email_address = "noreply@{DOMAIN}" |
| 505 | |
| 506 | ; standard email name displayed when sending emails. If not set, a default name will be used. |
| 507 | noreply_email_name = "" |
| 508 | |
| 509 | ; set to 0 to disable sending of all emails. useful for testing. |
| 510 | emails_enabled = 1 |
| 511 | |
| 512 | ; set to 0 to disable sending of emails when a password or email is changed |
| 513 | enable_update_users_email = 1 |
| 514 | |
| 515 | ; feedback email address; |
| 516 | ; when testing, use your own email address or "nobody" |
| 517 | feedback_email_address = "feedback@matomo.org" |
| 518 | |
| 519 | ; using to set reply_to in reports e-mail to login of report creator |
| 520 | scheduled_reports_replyto_is_user_email_and_alias = 0 |
| 521 | |
| 522 | ; scheduled reports truncate limit |
| 523 | ; the report will be rendered with the first 23 rows and will aggregate other rows in a summary row |
| 524 | ; 23 rows table fits in one portrait page |
| 525 | scheduled_reports_truncate = 23 |
| 526 | |
| 527 | ; during archiving, Matomo will limit the number of results recorded, for performance reasons |
| 528 | ; maximum number of rows for any of the Referrers tables (keywords, search engines, campaigns, etc.) |
| 529 | datatable_archiving_maximum_rows_referrers = 1000 |
| 530 | ; maximum number of rows for any of the Referrers subtable (search engines by keyword, keyword by campaign, etc.) |
| 531 | datatable_archiving_maximum_rows_subtable_referrers = 50 |
| 532 | |
| 533 | ; maximum number of rows for the Users report |
| 534 | datatable_archiving_maximum_rows_userid_users = 50000 |
| 535 | |
| 536 | ; maximum number of rows for the Custom Dimensions report |
| 537 | datatable_archiving_maximum_rows_custom_dimensions = 1000 |
| 538 | ; maximum number of rows for the Custom Dimensions subtable reports |
| 539 | datatable_archiving_maximum_rows_subtable_custom_dimensions = 1000 |
| 540 | |
| 541 | ; maximum number of rows for any of the Actions tables (pages, downloads, outlinks) |
| 542 | datatable_archiving_maximum_rows_actions = 500 |
| 543 | ; maximum number of rows for pages in categories (sub pages, when clicking on the + for a page category) |
| 544 | ; note: should not exceed the display limit in Piwik\Actions\Controller::ACTIONS_REPORT_ROWS_DISPLAY |
| 545 | ; because each subdirectory doesn't have paging at the bottom, so all data should be displayed if possible. |
| 546 | datatable_archiving_maximum_rows_subtable_actions = 100 |
| 547 | ; maximum number of rows for the Site Search table |
| 548 | datatable_archiving_maximum_rows_site_search = 500 |
| 549 | |
| 550 | ; maximum number of rows for any of the Events tables (Categories, Actions, Names) |
| 551 | datatable_archiving_maximum_rows_events = 500 |
| 552 | ; maximum number of rows for sub-tables of the Events tables (eg. for the subtables Categories>Actions or Categories>Names). |
| 553 | datatable_archiving_maximum_rows_subtable_events = 500 |
| 554 | |
| 555 | ; maximum number of rows for other tables (Providers, User settings configurations) |
| 556 | datatable_archiving_maximum_rows_standard = 500 |
| 557 | |
| 558 | ; maximum number of rows to fetch from the database when archiving. if set to 0, no limit is used. |
| 559 | ; this can be used to speed up the archiving process, but is only useful if you're site has a large |
| 560 | ; amount of actions, referrers or custom variable name/value pairs. |
| 561 | archiving_ranking_query_row_limit = 50000 |
| 562 | |
| 563 | ; maximum number of actions that is shown in the visitor log for each visitor |
| 564 | visitor_log_maximum_actions_per_visit = 500 |
| 565 | |
| 566 | ; by default, the real time Live! widget will update every 5 seconds and refresh with new visits/actions/etc. |
| 567 | ; you can change the timeout so the widget refreshes more often, or not as frequently |
| 568 | live_widget_refresh_after_seconds = 5 |
| 569 | |
| 570 | ; by default, the Live! real time visitor count widget will check to see how many visitors your |
| 571 | ; website received in the last 3 minutes. changing this value will change the number of minutes |
| 572 | ; the widget looks in. |
| 573 | live_widget_visitor_count_last_minutes = 3 |
| 574 | |
| 575 | ; by default visitor profile will show aggregated information for the last up to 100 visits of a visitor |
| 576 | ; this limit can be adjusted by changing this value |
| 577 | live_visitor_profile_max_visits_to_aggregate = 100 |
| 578 | |
| 579 | ; If configured, will abort a MySQL query after the configured amount of seconds and show an error in the UI to for |
| 580 | ; example lower the date range or tweak the segment (if one is applied). Set it to -1 if the query time should not be |
| 581 | ; limited. Note: This feature requires a recent MySQL version (5.7 or newer). Some MySQL forks like MariaDB might not |
| 582 | ; support this feature which uses the MAX_EXECUTION_TIME hint. |
| 583 | live_query_max_execution_time = -1 |
| 584 | |
| 585 | ; In "All Websites" dashboard, when looking at today's reports (or a date range including today), |
| 586 | ; the page will automatically refresh every 5 minutes. Set to 0 to disable automatic refresh |
| 587 | multisites_refresh_after_seconds = 300 |
| 588 | |
| 589 | ; by default, an update notification for a new version of Matomo is shown to every user. Set to 1 if only |
| 590 | ; the superusers should see the notification. |
| 591 | show_update_notification_to_superusers_only = 0 |
| 592 | |
| 593 | ; Set to 1 if you're using https on your Matomo server and Matomo can't detect it, |
| 594 | ; e.g., a reverse proxy using https-to-http, or a web server that doesn't |
| 595 | ; set the HTTPS environment variable. |
| 596 | assume_secure_protocol = 0 |
| 597 | |
| 598 | ; Set to 1 if you're using more than one server for your Matomo installation. For example if you are using Matomo in a |
| 599 | ; load balanced environment, if you have configured failover or if you're just using multiple servers in general. |
| 600 | ; By enabling this flag we will for example not allow the installation of a plugin via the UI as a plugin would be only |
| 601 | ; installed on one server or a config one change would be only made on one server instead of all servers. |
| 602 | ; This flag doesn't need to be enabled when the config file is on a shared filesystem such as NFS or EFS. |
| 603 | multi_server_environment = 0 |
| 604 | |
| 605 | ; List of proxy headers for client IP addresses |
| 606 | ; Matomo will determine the user IP by extracting the first IP address found in this proxy header. |
| 607 | ; |
| 608 | ; CloudFlare (CF-Connecting-IP) |
| 609 | ;proxy_client_headers[] = HTTP_CF_CONNECTING_IP |
| 610 | ; |
| 611 | ; ISP proxy (Client-IP) |
| 612 | ;proxy_client_headers[] = HTTP_CLIENT_IP |
| 613 | ; |
| 614 | ; de facto standard (X-Forwarded-For) |
| 615 | ;proxy_client_headers[] = HTTP_X_FORWARDED_FOR |
| 616 | |
| 617 | ; List of proxy headers for host IP addresses |
| 618 | ; |
| 619 | ; de facto standard (X-Forwarded-Host) |
| 620 | ;proxy_host_headers[] = HTTP_X_FORWARDED_HOST |
| 621 | |
| 622 | ; List of proxy IP addresses (or IP address ranges) to skip (if present in the above headers). |
| 623 | ; Generally, only required if there's more than one proxy between the visitor and the backend web server. |
| 624 | ; |
| 625 | ; Examples: |
| 626 | ;proxy_ips[] = 204.93.240.* |
| 627 | ;proxy_ips[] = 204.93.177.0/24 |
| 628 | ;proxy_ips[] = 199.27.128.0/21 |
| 629 | ;proxy_ips[] = 173.245.48.0/20 |
| 630 | |
| 631 | ; Set to 1 if you're using a proxy which is rewriting the URI. |
| 632 | ; By enabling this flag the header HTTP_X_FORWARDED_URI will be considered for the current script name. |
| 633 | proxy_uri_header = 0 |
| 634 | |
| 635 | ; Whether to enable trusted host checking. This can be disabled if you're running Matomo |
| 636 | ; on several URLs and do not wish to constantly edit the trusted host list. |
| 637 | enable_trusted_host_check = 1 |
| 638 | |
| 639 | ; List of trusted hosts (eg domain or subdomain names) when generating absolute URLs. |
| 640 | ; |
| 641 | ; Examples: |
| 642 | ;trusted_hosts[] = example.com |
| 643 | ;trusted_hosts[] = stats.example.com |
| 644 | |
| 645 | ; List of Cross-origin resource sharing domains (eg domain or subdomain names) when generating absolute URLs. |
| 646 | ; Described here: https://en.wikipedia.org/wiki/Cross-origin_resource_sharing |
| 647 | ; |
| 648 | ; Examples: |
| 649 | ;cors_domains[] = http://example.com |
| 650 | ;cors_domains[] = http://stats.example.com |
| 651 | ; |
| 652 | ; Or you may allow cross domain requests for all domains with: |
| 653 | ;cors_domains[] = * |
| 654 | |
| 655 | ; If you use this Matomo instance over multiple hostnames, Matomo will need to know |
| 656 | ; a unique instance_id for this instance, so that Matomo can serve the right custom logo and tmp/* assets, |
| 657 | ; independently of the hostname Matomo is currently running under. |
| 658 | ; instance_id = stats.example.com |
| 659 | |
| 660 | ; The API server is an essential part of the Matomo infrastructure/ecosystem to |
| 661 | ; provide services to Matomo installations, e.g., getLatestVersion and |
| 662 | ; subscribeNewsletter. |
| 663 | api_service_url = http://api.matomo.org |
| 664 | |
| 665 | ; When the ImageGraph plugin is activated, report metadata have an additional entry : 'imageGraphUrl'. |
| 666 | ; This entry can be used to request a static graph for the requested report. |
| 667 | ; When requesting report metadata with $period=range, Matomo needs to translate it to multiple periods for evolution graphs. |
| 668 | ; eg. $period=range&date=previous10 becomes $period=day&date=previous10. Use this setting to override the $period value. |
| 669 | graphs_default_period_to_plot_when_period_range = day |
| 670 | |
| 671 | ; When the ImageGraph plugin is activated, enabling this option causes the image graphs to show the evolution |
| 672 | ; within the selected period instead of the evolution across the last n periods. |
| 673 | graphs_show_evolution_within_selected_period = 0 |
| 674 | |
| 675 | ; This option controls the default number of days in the past to show in evolution graphs generated by the ImageGraph plugin |
| 676 | graphs_default_evolution_graph_last_days_amount = 30 |
| 677 | |
| 678 | ; The Overlay plugin shows the Top X following pages, Top X downloads and Top X outlinks which followed |
| 679 | ; a view of the current page. The value X can be set here. |
| 680 | overlay_following_pages_limit = 300 |
| 681 | |
| 682 | ; With this option, you can disable the framed mode of the Overlay plugin. Use it if your website contains a framebuster. |
| 683 | overlay_disable_framed_mode = 0 |
| 684 | |
| 685 | ; Controls whether the user is able to upload a custom logo for their Matomo install |
| 686 | enable_custom_logo = 1 |
| 687 | |
| 688 | ; By default we check whether the Custom logo is writable or not, before we display the Custom logo file uploader |
| 689 | enable_custom_logo_check = 1 |
| 690 | |
| 691 | ; If php is running in a chroot environment, when trying to import CSV files with createTableFromCSVFile(), |
| 692 | ; Mysql will try to load the chrooted path (which is incomplete). To prevent an error, here you can specify the |
| 693 | ; absolute path to the chroot environment. eg. '/path/to/matomo/chrooted/' |
| 694 | absolute_chroot_path = |
| 695 | |
| 696 | ; The path (relative to the Matomo directory) in which Matomo temporary files are stored. |
| 697 | ; Defaults to ./tmp (the tmp/ folder inside the Matomo directory) |
| 698 | tmp_path = "/tmp" |
| 699 | |
| 700 | ; The absolute path to a PHP binary file in case Matomo cannot detect your PHP binary. If async CLI archiving cannot be |
| 701 | ; used on your server this may make it work. Ensure the configured PHP binary is of type CLI and not for example cgi or |
| 702 | ; litespeed. To find out the type of interface for a PHP binary execute this command: php -r "echo php_sapi_name();" |
| 703 | php_binary_path = "" |
| 704 | |
| 705 | ; In some rare cases it may be useful to explicitly tell Matomo not to use LOAD DATA INFILE |
| 706 | ; This may for example be useful when doing Mysql AWS replication |
| 707 | enable_load_data_infile = 1 |
| 708 | |
| 709 | ; By setting this option to 0: |
| 710 | ; - links to Enable/Disable/Uninstall plugins will be hidden and disabled |
| 711 | ; - links to Uninstall themes will be disabled (but user can still enable/disable themes) |
| 712 | enable_plugins_admin = 1 |
| 713 | |
| 714 | ; By setting this option to 0 the users management will be disabled |
| 715 | enable_users_admin = 1 |
| 716 | |
| 717 | ; By setting this option to 0 the websites management will be disabled |
| 718 | enable_sites_admin = 1 |
| 719 | |
| 720 | ; By setting this option to 1, it will be possible for Super Users to upload Matomo plugin ZIP archives directly in Matomo Administration. |
| 721 | ; Enabling this opens a remote code execution vulnerability where |
| 722 | ; an attacker who gained Super User access could execute custom PHP code in a Matomo plugin. |
| 723 | enable_plugin_upload = 0 |
| 724 | |
| 725 | ; By setting this option to 0 (e.g. in common.config.ini.php) the installer will be disabled. |
| 726 | enable_installer = 1 |
| 727 | |
| 728 | ; By setting this option to 0, you can prevent Super User from editing the Geolocation settings. |
| 729 | enable_geolocation_admin = 1 |
| 730 | |
| 731 | ; By setting this option to 0, the old raw data and old report data purging features will be hidden from the UI |
| 732 | ; Note: log purging and old data purging still occurs, just the Super User cannot change the settings. |
| 733 | enable_delete_old_data_settings_admin = 1 |
| 734 | |
| 735 | ; By setting this option to 0, the following settings will be hidden and disabled from being set in the UI: |
| 736 | ; - Archiving settings |
| 737 | ; - Update settings |
| 738 | ; - Email server settings |
| 739 | ; - Trusted Matomo Hostname |
| 740 | enable_general_settings_admin = 1 |
| 741 | |
| 742 | ; Disabling this will disable features like automatic updates for Matomo, |
| 743 | ; its plugins and components like the GeoIP database, referrer spam blacklist or search engines and social network definitions |
| 744 | enable_internet_features = 1 |
| 745 | |
| 746 | ; By setting this option to 0, it will disable the "Auto update" feature |
| 747 | enable_auto_update = 1 |
| 748 | |
| 749 | ; By setting this option to 0, no emails will be sent in case of an available core. |
| 750 | ; If set to 0 it also disables the "sent plugin update emails" feature in general and the related setting in the UI. |
| 751 | enable_update_communication = 1 |
| 752 | |
| 753 | ; This option defines the protocols Matomo's Http class is allowed to open. |
| 754 | ; If you may need to download GeoIP updates or other stuff using other protocols like ftp you may need to extend this list. |
| 755 | allowed_outgoing_protocols = 'http,https' |
| 756 | |
| 757 | ; Comma separated list of plugin names for which console commands should be loaded (applies when Matomo is not installed yet) |
| 758 | always_load_commands_from_plugin= |
| 759 | |
| 760 | ; This controls whether the pivotBy query parameter can be used with any dimension or just subtable |
| 761 | ; dimensions. If set to 1, it will fetch a report with a segment for each row of the table being pivoted. |
| 762 | ; At present, this is very inefficient, so it is disabled by default. |
| 763 | pivot_by_filter_enable_fetch_by_segment = 0 |
| 764 | |
| 765 | ; This controls the default maximum number of columns to display in a pivot table. Since a pivot table displays |
| 766 | ; a table's rows as columns, the number of columns can become very large, which will affect webpage layouts. |
| 767 | ; Set to -1 to specify no limit. Note: The pivotByColumnLimit query parameter can be used to override this default |
| 768 | ; on a per-request basis; |
| 769 | pivot_by_filter_default_column_limit = 10 |
| 770 | |
| 771 | ; If set to 0 it will disable advertisements for providers of Professional Support for Matomo. |
| 772 | piwik_professional_support_ads_enabled = 1 |
| 773 | |
| 774 | ; The number of days to wait before sending the JavaScript tracking code email reminder. |
| 775 | num_days_before_tracking_code_reminder = 5 |
| 776 | |
| 777 | ; The maximum number of segments that can be compared simultaneously. |
| 778 | data_comparison_segment_limit = 5 |
| 779 | |
| 780 | ; The maximum number of periods that can be compared simultaneously. |
| 781 | data_comparison_period_limit = 5 |
| 782 | |
| 783 | ; The path to a custom cacert.pem file Matomo should use. |
| 784 | ; By default Matomo uses a file extracted from the Firefox browser and provided here: https://curl.haxx.se/docs/caextract.html. |
| 785 | ; The file contains root CAs and is used to determine if the chain of a SSL certificate is valid and it is safe to connect. |
| 786 | ; Most users will not have to use a custom file here, but if you run your Matomo instance behind a proxy server/firewall that |
| 787 | ; breaks and reencrypts SSL connections you can set your custom file here. |
| 788 | custom_cacert_pem= |
| 789 | |
| 790 | ; Whether or not to send weekly emails to superusers about tracking failures. |
| 791 | ; Default is 1. |
| 792 | enable_tracking_failures_notification = 1 |
| 793 | |
| 794 | ; Controls how many months in the past reports are re-archived for plugins that support |
| 795 | ; doing this (such as CustomReports). Set to 0 to disable the feature. Default is 6. |
| 796 | rearchive_reports_in_past_last_n_months = 6 |
| 797 | |
| 798 | ; If set to 1, when rearchiving reports in the past we do not rearchive segment data with those reports. Default is 0. |
| 799 | rearchive_reports_in_past_exclude_segments = 0 |
| 800 | |
| 801 | [Tracker] |
| 802 | |
| 803 | ; When enabled and a userId is set, then the visitorId will be automatically set based on the userId. This allows to |
| 804 | ; identify the same user as the same visitor across devices. |
| 805 | ; Disabling this feature can be useful for example when using the third party cookie, where all Matomo tracked sites |
| 806 | ; use the same "global" visitorId for a device and you want to see when the same user switches between devices. |
| 807 | enable_userid_overwrites_visitorid = 1 |
| 808 | |
| 809 | ; Matomo uses "Privacy by default" model. When one of your users visit multiple of your websites tracked in this Matomo, |
| 810 | ; Matomo will create for this user a fingerprint that will be different across the multiple websites. |
| 811 | ; If you want to track unique users across websites you may set this setting to 1. |
| 812 | ; Note: setting this to 0 increases your users' privacy. |
| 813 | enable_fingerprinting_across_websites = 0 |
| 814 | |
| 815 | ; Matomo uses first party cookies by default. If set to 1, |
| 816 | ; the visit ID cookie will be set on the Matomo server domain as well |
| 817 | ; this is useful when you want to do cross websites analysis |
| 818 | use_third_party_id_cookie = 0 |
| 819 | |
| 820 | ; If tracking does not work for you or you are stuck finding an issue, you might want to enable the tracker debug mode. |
| 821 | ; Once enabled (set to 1) messages will be logged to all loggers defined in "[log] log_writers" config. |
| 822 | debug = 0 |
| 823 | |
| 824 | ; This option is an alternative to the debug option above. When set to 1, you can debug tracker request by adding |
| 825 | ; a debug=1 query parameter in the URL. All other HTTP requests will not have debug enabled. For security reasons this |
| 826 | ; option should be only enabled if really needed and only for a short time frame. Otherwise anyone can set debug=1 and |
| 827 | ; see the log output as well. |
| 828 | debug_on_demand = 0 |
| 829 | |
| 830 | ; This setting is described in this FAQ: https://matomo.org/faq/how-to/faq_175/ |
| 831 | ; Note: generally this should only be set to 1 in an intranet setting, where most users have the same configuration (browsers, OS) |
| 832 | ; and the same IP. If left to 0 in this setting, all visitors will be counted as one single visitor. |
| 833 | trust_visitors_cookies = 0 |
| 834 | |
| 835 | ; name of the cookie used to store the visitor information |
| 836 | ; This is used only if use_third_party_id_cookie = 1 |
| 837 | cookie_name = _pk_uid |
| 838 | |
| 839 | ; by default, the Matomo tracking cookie expires in 13 months (365 + 28 days) |
| 840 | ; This is used only if use_third_party_id_cookie = 1 |
| 841 | cookie_expire = 33955200; |
| 842 | |
| 843 | ; The path on the server in which the cookie will be available on. |
| 844 | ; Defaults to empty. See spec in https://curl.haxx.se/rfc/cookie_spec.html |
| 845 | ; This is used for the Ignore cookie, and the third party cookie if use_third_party_id_cookie = 1 |
| 846 | cookie_path = |
| 847 | |
| 848 | ; The domain on the server in which the cookie will be available on. |
| 849 | ; Defaults to empty. See spec in https://curl.haxx.se/rfc/cookie_spec.html |
| 850 | ; This is used for the third party cookie if use_third_party_id_cookie = 1 |
| 851 | cookie_domain = |
| 852 | |
| 853 | ; set to 0 if you want to stop tracking the visitors. Useful if you need to stop all the connections on the DB. |
| 854 | record_statistics = 1 |
| 855 | |
| 856 | ; length of a visit in seconds. If a visitor comes back on the website visit_standard_length seconds |
| 857 | ; after their last page view, it will be recorded as a new visit. In case you are using the Matomo JavaScript tracker to |
| 858 | ; calculate the visit count correctly, make sure to call the method "setSessionCookieTimeout" eg |
| 859 | ; `_paq.push(['setSessionCookieTimeout', timeoutInSeconds=1800])` |
| 860 | visit_standard_length = 1800 |
| 861 | |
| 862 | ; The amount of time in the past to match the current visitor to a known visitor via fingerprint. Defaults to visit_standard_length. |
| 863 | ; If you are looking for higher accuracy of "returning visitors" metrics, you may set this value to 86400 or more. |
| 864 | ; This is especially useful when you use the Tracking API where tracking Returning Visitors often depends on this setting. |
| 865 | ; The value window_look_back_for_visitor is used only if it is set to greater than visit_standard_length. |
| 866 | ; Note: visitors with visitor IDs will be matched by visitor ID from any point in time, this is only for recognizing visitors |
| 867 | ; by device fingerprint. |
| 868 | window_look_back_for_visitor = 0 |
| 869 | |
| 870 | ; visitors that stay on the website and view only one page will be considered as time on site of 0 second |
| 871 | default_time_one_page_visit = 0 |
| 872 | |
| 873 | ; Comma separated list of URL query string variable names that will be removed from your tracked URLs |
| 874 | ; By default, Matomo will remove the most common parameters which are known to change often (eg. session ID parameters) |
| 875 | url_query_parameter_to_exclude_from_url = "gclid,fbclid,fb_xd_fragment,fb_comment_id,phpsessid,jsessionid,sessionid,aspsessionid,doing_wp_cron,sid,pk_vid" |
| 876 | |
| 877 | ; if set to 1, Matomo attempts a "best guess" at the visitor's country of |
| 878 | ; origin when the preferred language tag omits region information. |
| 879 | ; The mapping is defined in core/DataFiles/LanguageToCountry.php, |
| 880 | enable_language_to_country_guess = 1 |
| 881 | |
| 882 | ; When the `./console core:archive` cron hasn't been setup, we still need to regularly run some maintenance tasks. |
| 883 | ; Visits to the Tracker will try to trigger Scheduled Tasks (eg. scheduled PDF/HTML reports by email). |
| 884 | ; Scheduled tasks will only run if 'Enable Matomo Archiving from Browser' is enabled in the General Settings. |
| 885 | ; Tasks run once every hour maximum, they might not run every hour if traffic is low. |
| 886 | ; Set to 0 to disable Scheduled tasks completely. |
| 887 | scheduled_tasks_min_interval = 3600 |
| 888 | |
| 889 | ; name of the cookie to ignore visits |
| 890 | ignore_visits_cookie_name = matomo_ignore |
| 891 | |
| 892 | ; Comma separated list of variable names that will be read to define a Campaign name, for example CPC campaign |
| 893 | ; Example: If a visitor first visits 'index.php?matomo_campaign=Adwords-CPC' then it will be counted as a campaign referrer named 'Adwords-CPC' |
| 894 | ; Includes by default the GA style campaign parameters |
| 895 | campaign_var_name = "pk_cpn,pk_campaign,piwik_campaign,mtm_campaign,matomo_campaign,utm_campaign,utm_source,utm_medium" |
| 896 | |
| 897 | ; Comma separated list of variable names that will be read to track a Campaign Keyword |
| 898 | ; Example: If a visitor first visits 'index.php?matomo_campaign=Adwords-CPC&matomo_kwd=My killer keyword' ; |
| 899 | ; then it will be counted as a campaign referrer named 'Adwords-CPC' with the keyword 'My killer keyword' |
| 900 | ; Includes by default the GA style campaign keyword parameter utm_term |
| 901 | campaign_keyword_var_name = "pk_kwd,pk_keyword,piwik_kwd,mtm_kwd,mtm_keyword,matomo_kwd,utm_term" |
| 902 | |
| 903 | ; if set to 1, actions that contain different campaign information from the visitor's ongoing visit will |
| 904 | ; be treated as the start of a new visit. This will include situations when campaign information was absent before, |
| 905 | ; but is present now. |
| 906 | create_new_visit_when_campaign_changes = 1 |
| 907 | |
| 908 | ; if set to 1, actions that contain different website referrer information from the visitor's ongoing visit |
| 909 | ; will be treated as the start of a new visit. This will include situations when website referrer information was |
| 910 | ; absent before, but is present now. |
| 911 | create_new_visit_when_website_referrer_changes = 0 |
| 912 | |
| 913 | ; ONLY CHANGE THIS VALUE WHEN YOU DO NOT USE MATOMO ARCHIVING, SINCE THIS COULD CAUSE PARTIALLY MISSING ARCHIVE DATA |
| 914 | ; Whether to force a new visit at midnight for every visitor. Default 1. |
| 915 | create_new_visit_after_midnight = 1 |
| 916 | |
| 917 | ; Will force the creation of a new visit once a visit had this many actions. |
| 918 | ; Increasing this number can slow down the tracking in Matomo and put more load on the database. |
| 919 | ; Increase this limit if it's expected that you have visits with more than this many actions. |
| 920 | ; Set to 0 or a negative value to allow unlimited actions. |
| 921 | create_new_visit_after_x_actions = 10000 |
| 922 | |
| 923 | ; maximum length of a Page Title or a Page URL recorded in the log_action.name table |
| 924 | page_maximum_length = 1024; |
| 925 | |
| 926 | ; Tracker cache files are the simple caching layer for Tracking. |
| 927 | ; TTL: Time to live for cache files, in seconds. Default to 5 minutes. |
| 928 | tracker_cache_file_ttl = 300 |
| 929 | |
| 930 | ; Whether Bulk tracking requests to the Tracking API requires the token_auth to be set. |
| 931 | bulk_requests_require_authentication = 0 |
| 932 | |
| 933 | ; Whether Bulk tracking requests will be wrapped within a DB Transaction. |
| 934 | ; This greatly increases performance of Log Analytics and in general any Bulk Tracking API requests. |
| 935 | bulk_requests_use_transaction = 1 |
| 936 | |
| 937 | ; DO NOT USE THIS SETTING ON PUBLICLY AVAILABLE MATOMO SERVER |
| 938 | ; !!! Security risk: if set to 0, it would allow anyone to push data to Matomo with custom dates in the past/future and even with fake IPs! |
| 939 | ; When using the Tracking API, to override either the datetime and/or the visitor IP, |
| 940 | ; token_auth with an "admin" access is required. If you set this setting to 0, the token_auth will not be required anymore. |
| 941 | ; DO NOT USE THIS SETTING ON PUBLIC MATOMO SERVERS |
| 942 | tracking_requests_require_authentication = 1 |
| 943 | |
| 944 | ; By default, Matomo accepts only tracking requests for up to 1 day in the past. For tracking requests with a custom date |
| 945 | ; date is older than 1 day, Matomo requires an authenticated tracking requests. By setting this config to another value |
| 946 | ; You can change how far back Matomo will track your requests without authentication. The configured value is in seconds. |
| 947 | tracking_requests_require_authentication_when_custom_timestamp_newer_than = 86400; |
| 948 | |
| 949 | ; if set to 1, all the SQL queries will be recorded by the profiler |
| 950 | ; and a profiling summary will be printed at the end of the request |
| 951 | ; NOTE: you must also set "[Tracker] debug = 1" to enable the profiler. |
| 952 | enable_sql_profiler = 0 |
| 953 | |
| 954 | ; Enables using referrer spam blacklist. |
| 955 | enable_spam_filter = 1 |
| 956 | |
| 957 | ; If a value greater than 0 is configured, Matomo will configure MySQL with the set lock wait timeout in seconds during a |
| 958 | ; tracking request. This can be useful if you have a high concurrency load on your server and want to reduce the time of |
| 959 | ; lock wait times. For example configuring a value of 3-10 seconds may give your Matomo a performance boost if you have |
| 960 | ; many concurrent tracking requests for the same visitor. When enabling this feature, make sure the MySQL |
| 961 | ; variable "innodb_rollback_on_timeout" is turned off. Only configure if really needed. The lower the value the more tracking |
| 962 | ; requests may be discarded due to too low lock wait time. |
| 963 | innodb_lock_wait_timeout = 0 |
| 964 | |
| 965 | ; Allows you to exclude specific requests from being tracked. The definition is similar to segments. |
| 966 | ; The following operands are supported: Equals: `==`, Not equals: `!=`, Contains: `=@`, Not Contains: `!@`, Starts with: `=^`, Ends with: `=$`. |
| 967 | ; The structure is as following: {tracking parameter}{operand}{value to match}. |
| 968 | ; For example "e_c==Media" means that all tracking requests will be excluded where the event category is Media. |
| 969 | ; Multiple exclusions can be configured separated by a comma. The request will be excluded if any expressions matches (not all of them). For example: "e_c==Media,action_name=@privacy". |
| 970 | ; This would also exclude any request from being tracked where the page title contains privacy. |
| 971 | ; All comparisons are performed case insensitve. The value to match on the right side should be URL encoded. |
| 972 | ; For example: "action_name=^foo%2Cbar" would exclude page titles that start with "foo,bar". |
| 973 | ; For a list of tracking parameters you can use on the left side view https://developer.matomo.org/api-reference/tracking-api |
| 974 | exclude_requests = "" |
| 975 | |
| 976 | [Segments] |
| 977 | ; Reports with segmentation in API requests are processed in real time. |
| 978 | ; On high traffic websites it is recommended to pre-process the data |
| 979 | ; so that the analytics reports are always fast to load. |
| 980 | ; You can define below the list of Segments strings |
| 981 | ; for which all reports should be Archived during the cron execution |
| 982 | ; All segment values MUST be URL encoded. |
| 983 | ;Segments[]="visitorType==new" |
| 984 | ;Segments[]="visitorType==returning,visitorType==returningCustomer" |
| 985 | |
| 986 | ; If you define Custom Variables for your visitor, for example set the visit type |
| 987 | ;Segments[]="customVariableName1==VisitType;customVariableValue1==Customer" |
| 988 | |
| 989 | [Deletelogs] |
| 990 | ; delete_logs_enable - enable (1) or disable (0) delete log feature. Make sure that all archives for the given period have been processed (setup a cronjob!), |
| 991 | ; otherwise you may lose tracking data. |
| 992 | ; delete_logs_schedule_lowest_interval - lowest possible interval between two table deletes, for tables named log_* (in days, 1|7|30). Default: 7. |
| 993 | ; delete_logs_older_than - delete data older than XX (days). Default: 180 |
| 994 | ; delete_logs_unused_actions_schedule_lowest_interval - lowest possible interval between two table deletes, for table log_action (in days, 1|7|30). Default: 30. |
| 995 | ; delete_logs_max_rows_per_query and delete_logs_unused_actions_max_rows_per_query can be increased for large sites to speed up delete processes |
| 996 | ; |
| 997 | ; The higher value one assign to *_schedule_lowest_interval, the longer the data pruning/deletion will take. This is caused by the fact there is more data to evaluate and process every month, than every week. |
| 998 | delete_logs_enable = 0 |
| 999 | delete_logs_schedule_lowest_interval = 7 |
| 1000 | delete_logs_older_than = 180 |
| 1001 | delete_logs_max_rows_per_query = 100000 |
| 1002 | delete_logs_unused_actions_max_rows_per_query = 100000 |
| 1003 | enable_auto_database_size_estimate = 1 |
| 1004 | enable_database_size_estimate = 1 |
| 1005 | delete_logs_unused_actions_schedule_lowest_interval = 30 |
| 1006 | |
| 1007 | [Deletereports] |
| 1008 | delete_reports_enable = 0 |
| 1009 | delete_reports_older_than = 12 |
| 1010 | delete_reports_keep_basic_metrics = 1 |
| 1011 | delete_reports_keep_day_reports = 0 |
| 1012 | delete_reports_keep_week_reports = 0 |
| 1013 | delete_reports_keep_month_reports = 1 |
| 1014 | delete_reports_keep_year_reports = 1 |
| 1015 | delete_reports_keep_range_reports = 0 |
| 1016 | delete_reports_keep_segment_reports = 0 |
| 1017 | |
| 1018 | [mail] |
| 1019 | defaultHostnameIfEmpty = defaultHostnameIfEmpty.example.org ; default Email @hostname, if current host can't be read from system variables |
| 1020 | transport = ; smtp (using the configuration below) or empty (using built-in mail() function) |
| 1021 | port = ; optional; defaults to 25 when security is none or tls; 465 for ssl |
| 1022 | host = ; SMTP server address |
| 1023 | type = ; SMTP Auth type. By default: NONE. For example: LOGIN |
| 1024 | username = ; SMTP username |
| 1025 | password = ; SMTP password |
| 1026 | encryption = ; SMTP transport-layer encryption, either 'none', 'ssl', 'tls', or empty (i.e., auto). |
| 1027 | |
| 1028 | [proxy] |
| 1029 | type = BASIC ; proxy type for outbound/outgoing connections; currently, only BASIC is supported |
| 1030 | host = ; Proxy host: the host name of your proxy server (mandatory) |
| 1031 | port = ; Proxy port: the port that the proxy server listens to. There is no standard default, but 80, 1080, 3128, and 8080 are popular |
| 1032 | username = ; Proxy username: optional; if specified, password is mandatory |
| 1033 | password = ; Proxy password: optional; if specified, username is mandatory |
| 1034 | |
| 1035 | [Plugins] |
| 1036 | ; list of plugins (in order they will be loaded) that are activated by default in the Matomo platform |
| 1037 | Plugins[] = CorePluginsAdmin |
| 1038 | Plugins[] = CoreAdminHome |
| 1039 | Plugins[] = CoreHome |
| 1040 | Plugins[] = WebsiteMeasurable |
| 1041 | Plugins[] = IntranetMeasurable |
| 1042 | Plugins[] = Diagnostics |
| 1043 | Plugins[] = CoreVisualizations |
| 1044 | Plugins[] = Proxy |
| 1045 | Plugins[] = API |
| 1046 | Plugins[] = Widgetize |
| 1047 | Plugins[] = Transitions |
| 1048 | Plugins[] = LanguagesManager |
| 1049 | Plugins[] = Actions |
| 1050 | Plugins[] = Dashboard |
| 1051 | Plugins[] = MultiSites |
| 1052 | Plugins[] = Referrers |
| 1053 | Plugins[] = UserLanguage |
| 1054 | Plugins[] = DevicesDetection |
| 1055 | Plugins[] = Goals |
| 1056 | Plugins[] = Ecommerce |
| 1057 | Plugins[] = SEO |
| 1058 | Plugins[] = Events |
| 1059 | Plugins[] = UserCountry |
| 1060 | Plugins[] = GeoIp2 |
| 1061 | Plugins[] = VisitsSummary |
| 1062 | Plugins[] = VisitFrequency |
| 1063 | Plugins[] = VisitTime |
| 1064 | Plugins[] = VisitorInterest |
| 1065 | Plugins[] = RssWidget |
| 1066 | Plugins[] = Feedback |
| 1067 | Plugins[] = Monolog |
| 1068 | |
| 1069 | Plugins[] = Login |
| 1070 | Plugins[] = TwoFactorAuth |
| 1071 | Plugins[] = UsersManager |
| 1072 | Plugins[] = SitesManager |
| 1073 | Plugins[] = Installation |
| 1074 | Plugins[] = CoreUpdater |
| 1075 | Plugins[] = CoreConsole |
| 1076 | Plugins[] = ScheduledReports |
| 1077 | Plugins[] = UserCountryMap |
| 1078 | Plugins[] = Live |
| 1079 | Plugins[] = PrivacyManager |
| 1080 | Plugins[] = ImageGraph |
| 1081 | Plugins[] = Annotations |
| 1082 | Plugins[] = MobileMessaging |
| 1083 | Plugins[] = Overlay |
| 1084 | Plugins[] = SegmentEditor |
| 1085 | Plugins[] = Insights |
| 1086 | Plugins[] = Morpheus |
| 1087 | Plugins[] = Contents |
| 1088 | Plugins[] = BulkTracking |
| 1089 | Plugins[] = Resolution |
| 1090 | Plugins[] = DevicePlugins |
| 1091 | Plugins[] = Heartbeat |
| 1092 | Plugins[] = Intl |
| 1093 | Plugins[] = Marketplace |
| 1094 | Plugins[] = ProfessionalServices |
| 1095 | Plugins[] = UserId |
| 1096 | Plugins[] = CustomJsTracker |
| 1097 | Plugins[] = Tour |
| 1098 | Plugins[] = PagePerformance |
| 1099 | Plugins[] = CustomDimensions |
| 1100 | |
| 1101 | [PluginsInstalled] |
| 1102 | PluginsInstalled[] = Diagnostics |
| 1103 | PluginsInstalled[] = Login |
| 1104 | PluginsInstalled[] = CoreAdminHome |
| 1105 | PluginsInstalled[] = UsersManager |
| 1106 | PluginsInstalled[] = SitesManager |
| 1107 | PluginsInstalled[] = Installation |
| 1108 | PluginsInstalled[] = Monolog |
| 1109 | PluginsInstalled[] = Intl |
| 1110 | |
| 1111 | [APISettings] |
| 1112 | ; Any key/value pair can be added in this section, they will be available via the REST call |
| 1113 | ; index.php?module=API&method=API.getSettings |
| 1114 | ; This can be used to expose values from Matomo, to control for example a Mobile app tracking |
| 1115 | SDK_batch_size = 10 |
| 1116 | SDK_interval_value = 30 |
| 1117 | |
| 1118 | ; NOTE: do not directly edit this file! See notice at the top |
| 1119 |