Skip to content
Matomo Web Analytics product logo
  • AWSAvailable on Amazon Web Services
  • AzureAvailable on Microsoft Azure
  • GCP· nextGoogle Cloud is next on the roadmap
Available

Matomo Web Analytics

Matomo 5.13.0 web analytics on a full LAMP stack with phpMyAdmin and Webmin - own your visitor data on your own instance. Apache serves Matomo directly, the archiver runs from cron as Matomo recommends, and a small service keeps trusted hosts and the site URL correct if your public IP changes, backing off the moment you set a real domain.

Version
v5.13.0
Operating system
Ubuntu 24.04 LTS
Architecture
x86_64
Support
Email support

What's installed

Every package and version on the image, identical on every cloud it ships on. Nothing else is installed.

  • Matomo 5.13.0
  • Apache 2.4.58
  • PHP 8.3.6
  • MySQL 8.0.46
  • phpMyAdmin 5.2.3
  • Webmin 2.660

LicensingOpen source (GPL-3.0), no licence key required

Deploy anywhere

Matomo Web Analytics on AWS and Azure.

Google Cloud is next on the roadmap. One clean-room build, one first-boot credential model, one patch cadence — identical on every cloud you run. Every identifier below is the real one; copy it and launch.

  1. AWS
    Available

    Amazon Web Services

    AMI · v5.13.0

    AWS AMI ID

    Shown for your region on the AWS Marketplace launch page once you subscribe.

    Released
    Root volume
    gp3 · 30 GiB
    Instance types
    • t3a.medium
    • t3.medium
    • t3a.large
    • m6a.large
    Regions34 regions· show all
    • us-east-1
    • af-south-1
    • ap-east-1
    • ap-east-2
    • ap-northeast-1
    • ap-northeast-2
    • ap-northeast-3
    • ap-south-1
    • ap-south-2
    • ap-southeast-1
    • ap-southeast-2
    • ap-southeast-3
    • ap-southeast-4
    • ap-southeast-5
    • ap-southeast-6
    • ap-southeast-7
    • ca-central-1
    • ca-west-1
    • eu-central-1
    • eu-central-2
    • eu-north-1
    • eu-south-1
    • eu-south-2
    • eu-west-1
    • eu-west-2
    • eu-west-3
    • il-central-1
    • me-central-1
    • me-south-1
    • mx-central-1
    • sa-east-1
    • us-east-2
    • us-west-1
    • us-west-2

    5-day free trial, then from $0.03/hr software charge (larger instance sizes cost more) plus your own EC2 costs, billed by AWS.

    Subscriptions are open to AWS India (AISPL) accounts. Outside India? Ask us for a private build.

  2. Azure
    Available

    Microsoft Azure

    Compute Gallery image · v5.13.0

    Azure Compute Gallery image ID

    Selected for you when you create the VM from the Azure Marketplace listing.

    Released
    OS disk
    Premium_LRS · 30 GiB
    VM sizes
    • Standard_D2as_v7
    • Standard_D2as_v5
    • Standard_B2ms
    • Standard_D4as_v7
    Regions50 regions· show all
    • eastus
    • australiacentral
    • australiaeast
    • australiasoutheast
    • austriaeast
    • belgiumcentral
    • brazilsouth
    • canadacentral
    • canadaeast
    • centralindia
    • centralus
    • chilecentral
    • denmarkeast
    • eastasia
    • eastus2
    • francecentral
    • germanywestcentral
    • indiasouthcentral
    • indonesiacentral
    • israelcentral
    • italynorth
    • japaneast
    • japanwest
    • jioindiawest
    • koreacentral
    • koreasouth
    • malaysiawest
    • mexicocentral
    • newzealandnorth
    • northcentralus
    • northeurope
    • norwayeast
    • polandcentral
    • qatarcentral
    • southafricanorth
    • southcentralus
    • southeastasia
    • southindia
    • spaincentral
    • swedencentral
    • switzerlandnorth
    • uaenorth
    • uksouth
    • ukwest
    • westcentralus
    • westeurope
    • westindia
    • westus
    • westus2
    • westus3
AWS

Getting started on Amazon Web Services

From launch to signed in, step by step.

  1. Subscribe on AWS Marketplace and launch in your region with TCP 22, 80 and 8000 open; wait two to three minutes.

  2. Open http://<instance-public-ip>/ and sign in with username admin. phpMyAdmin: /phpmyadmin (username root). Webmin: port 8000 (username admin). The password for all three is your EC2 Instance ID (for example i-0123456789abcdef0).

  3. Add your website under Administration → Websites and paste the tracking code. The archiver runs every 15 minutes; real-time reports update immediately.

  4. SSH as ubuntu with your key pair. Change passwords with sudo bash /home/ubuntu/iscripts/pass_matomo.sh, pass_mysql.sh or pass_webmin.sh; matomo_status.sh shows the stack at a glance.

  5. Once you have a domain and certificate, add force_ssl = 1 under [General] in /var/www/html/matomo/config/config.ini.php.

Security posture

What this AWS image does and does not ship with, one fact per line.

  • Clean-room build on Canonical's official Ubuntu 24.04 LTS image: every component comes from its own official repository or release, nothing is copied from any third-party image, and the finished image was scanned for third-party vendor strings before capture.

  • No usable credential ships in the image; passwords are set on your instance at first boot from EC2 instance metadata (IMDSv2) and the scripts that set them delete themselves afterwards.

  • SSH is key-only, root login over SSH is refused, and build-time SSH keys, shell history and logs were removed before imaging.

  • Every credential and key is derived per instance at first boot: the Matomo admin, MySQL root and Webmin passwords, a fresh Matomo salt, and a fresh 32-byte phpMyAdmin cookie key.

  • Matomo connects to MySQL as its own dedicated user rather than root, so changing the root password never takes the site down.

  • MySQL listens on 127.0.0.1 only; phpMyAdmin's libraries and templates directories are denied over HTTP.

  • Matomo's System Check reports a single expected warning, Forced SSL, because the image is reached over HTTP at an IP address - enable it once you have a certificate.

  • The bundled password tools enforce at least 10 characters with upper- and lower-case letters, a number and a symbol, and verify the new credential with a real sign-in before reporting success.

  • The image is HTTP-only by design so it works at a bare IP with no certificate warnings: terminate TLS at a load balancer or add a certificate before exposing it publicly, and restrict port 22 and any admin ports to trusted IP ranges in your security group.

Azure

Getting started on Microsoft Azure

From launch to signed in, step by step.

  1. Create the VM from the Azure Marketplace listing with TCP 22, 80 and 8000 open in your network security group. Choose ubuntu as the administrator username so SSH and the script paths match. Wait a few minutes for first boot.

  2. Open http://<vm-public-ip>/ and sign in with the username admin.

  3. phpMyAdmin: /phpmyadmin (username root). Webmin: port 8000 (username admin).

  4. SSH as ubuntu with your key. Change passwords with sudo bash ~/iscripts/pass_matomo.sh, pass_mysql.sh or pass_webmin.sh.

  5. The password for each console is your VM ID. Your VM ID is in the Azure portal: open the virtual machine, choose Properties and copy VM ID - a 36-character value such as 02aab8a4-74ef-476e-8182-f6d2ba4166a6, typed exactly as shown in lower case. Every deployment derives its own passwords from that value on first boot, so no two virtual machines share a credential.

Security posture

What this Azure image does and does not ship with, one fact per line.

  • Clean-room build on Canonical's official Ubuntu 24.04 LTS image from the Azure Marketplace: every component comes from its own official source and the image was scanned for third-party vendor strings before capture.

  • Nothing guessable ships in the image - the pre-image cleanup randomises every credential the build set and proves the build's own password no longer authenticates; first boot then sets each password from the new VM's own vmId read from Azure IMDS, and regenerates the per-instance secrets so no encryption key is shared between deployments.

  • The ubuntu login account ships password-locked with an empty authorized_keys, and cloud-init installs your own SSH key at deploy time.

  • Matomo's salt and the phpMyAdmin cookie key are regenerated per instance.

  • First boot sets Site 1's URL and the trusted-hosts list to the VM's own public IP, verified on a fresh deployment.

  • Verified against Microsoft's documented Linux certification test cases on a VM deployed from this exact gallery version - 13 passed, 0 failures - with VM extension provisioning confirmed and the customer sign-in path exercised end to end.

  • The bundled password tools require at least 10 characters with upper- and lower-case letters, a number and a symbol, and verify the new credential with a real sign-in before reporting success.

  • The image is HTTP-only by design so it works at a bare IP with no certificate warnings: terminate TLS at a load balancer or add a certificate before exposing it publicly, and restrict port 22 and any admin ports to trusted IP ranges.