ウェブ分析 · 1 min read · Oct 10, 2025

Debian 12にMatomoウェブ分析をインストールする方法

Matomo(以前のPiwik)は、ウェブサイトの訪問を追跡し、データとオーディエンス分析のためのレポートを表示するために使用できる、無料でオープンソースのウェブ分析ソフトウェアです。MatomoはGPLライセンスの下でライセンスされており、PHPで書かれており、MySQLまたはMariaDBデータベースサーバーで実行できます。

Matomoは、ウェブサイト上のユーザー追跡のための洞察に満ちたレポートを提供します。これには、リファラー検索エンジンとキーワード、言語、ページ訪問、ファイル訪問者のダウンロードなどが含まれます。Matomoは、Google Analyticsなどの分析サービスの代替としてますます人気が高まっています。

このチュートリアルでは、Debian 12サーバーにMatomoウェブ分析をインストールする方法を学びます。LAMPスタックを使用してMatomoをセットアップし、CertbotとLetsencryptを通じてMatomoをHTTPSで保護します。

前提条件

始める前に、以下のものを用意してください:

  • Debian 12サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • サーバーIPアドレスにポイントされたドメイン名。

依存関係のインストール

Matomoは、MySQL/MariaDBをデータベースとして使用するPHPベースのウェブ分析です。Matomoをインストールするには、システムにLAMP(Linux、Apache、MySQL/MariaDB、およびPHP)またはLEMP(Linux、Nginx、MySQL/MariaDB、およびPHP-FPM)スタックをインストールする必要があります。この例では、DebianサーバーでLAMPスタックを使用してMatomoを実行します。

まず、以下のaptコマンドを実行してDebianパッケージインデックスを更新します。

sudo apt update

次に、以下のコマンドでLAMPスタック(Linux、Apache、MySQL/MariaDB、およびPHP)パッケージをインストールします。

sudo apt install apache2 mariadb-server php php-cli libapache2-mod-php php-common php-curl php-gd php-mbstring php-mysql php-xml php-intl php-zip wget unzip

インストールを確認するためにYを入力します。

install deps

インストールが完了したら、以下のコマンドでMariaDBサーバーのステータスを確認します。MariaDBサーバーがアクティブ(実行中)で有効になっていることが表示されます。

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

次に、以下のコマンドでApacheサービスのステータスを確認します。以下の出力では、Apacheウェブサーバーが実行中であることが確認できます。

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

check apache

最後に、以下のphpコマンドを実行してPHPのバージョンを確認します。PHP 8.3がインストールされていることが表示されます。

php -v

check php

PHPの設定

LAMPスタックをインストールした後、php.iniファイルを編集してPHPの設定を行い、Apacheウェブサーバーを再起動します。

デフォルトのPHP設定/etc/php/8.3/apache2/php.iniを以下のnanoエディタで開きます。

sudo nano /etc/php/8.3/apache2/php.ini

デフォルトの設定を以下のように変更します - date.timezonememory_limitオプションを現在のサーバー環境に合わせて変更してください。

date.timezone = Europe/Stockholm  
memory_limit = 256M  
upload_max_filesize = 16M  
max_execution_time = 300

ファイルを保存してエディタを終了します。

次に、以下のsystemctlコマンドを実行してApacheウェブサーバーを再起動し、PHPへの変更を適用します。

sudo systemctl restart apache2

MariaDBサーバーの設定

このセクションでは、MariaDBサーバーを保護し、ルートパスワードを設定します。次に、Matomoで使用する新しいデータベースとユーザーを作成します。

以下のmariadb-secure-installationコマンドを実行してMariaDBを保護し、ルートパスワードを設定します。

sudo mariadb-secure-installation

次に、以下の設定について尋ねられます:

  • ローカル認証をunix_socketに切り替えますか?nと入力します。
  • 新しいMariaDBルートパスワードを設定します。yを入力して確認し、次にMariaDBサーバー展開の新しいパスワードを入力します。
  • 匿名ユーザーを削除しますか?yを入力して確認します。
  • デフォルトデータベーステストを展開から削除しますか?yを入力して確認します。
  • リモート接続からのMariaDBルートログインを禁止しますか?yを入力して確認します。
  • テーブル権限を再読み込みして変更を適用しますか?yを入力してENTERを押します。

次に、以下のmariadbコマンドを実行してMariaDBサーバーにログインします。求められたらルートパスワードを入力します。

sudo mariadb -u root -p

次に、以下のクエリを実行して新しいデータベースとユーザーmatomoを作成し、パスワードをp4sswordに設定します。以下のデータベースの詳細を調整してください。

CREATE DATABASE matomo;  
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssword';  
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO 'matomo'@'localhost';  
FLUSH PRIVILEGES;

最後に、以下のクエリを実行してユーザーmatomo@localhostを確認し、MariaDBサーバーから退出します。これにより、ユーザーmatomo@localhostがデータベースmatomoにアクセスできることが確認されます。

SHOW GRANTS FOR matomo@localhost;  
quit

check db user

Matomoソースコードのダウンロード

PHPを設定し、データベースとユーザーを作成したので、Matomoをインストールできます。Matomoソースコードをダウンロードし、ドキュメントルートディレクトリを設定し、適切なApacheユーザーで所有権を変更します。

/var/wwwディレクトリに移動し、以下のwgetコマンドを使用してMatomoソースコードをダウンロードします。

cd /var/www/  
wget https://builds.matomo.org/matomo.zip

ダウンロードが完了したら、以下のunzipコマンドを実行してmatomo.zipファイルを抽出します。そして、/var/www/matomoディレクトリの所有権をユーザーwww-dataに変更します。

unzip matomo.zip  
sudo chown -R www-data:www-data /var/www/matomo

Apache仮想ホストの設定

Matomoをダウンロードした後、Matomo用の新しいApache仮想ホストファイルを作成します。ドメイン名がサーバーIPアドレスにポイントされていることを確認してください。

新しいApache仮想ホストファイル/etc/apache2/sites-available/matomo.confnanoエディタで作成します。

sudo nano /etc/apache2/sites-available/matomo.conf

以下の設定を挿入し、ServerNameオプションをあなたのドメイン名に置き換えてください。


    ServerAdmin webmaster@localhost
    ServerName matomo.howtoforge.local
    DocumentRoot /var/www/matomo/

    
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    

    
        Options None
        Require all denied
    

    
        Options None
        Require all granted
    

    
        Options None
        Require all denied
    

    
        Options None
        Require all denied
    

    ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
    CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined

ファイルを保存して終了します。

次に、以下のa2ensiteコマンドを実行してmatomo.confファイルを有効にします。その後、以下のapachectlコマンドを実行してApacheの設定を確認します。正しいApache構文であれば、Syntax is OKという出力が表示されます。

sudo a2ensite matomo.conf  
sudo apachectl configtest

最後に、以下のsystemctlコマンドを実行してApacheウェブサーバーを再起動し、変更を適用します。Apacheが再起動すると、Matomoのインストールが完了します。

sudo systemctl restart apache2

setup apache

HTTPSでMatomoを保護する

このセクションでは、SSL/TLS証明書を生成し、CertbotとLetsencryptを通じてMatomoをHTTPSで保護します。

以下のコマンドでcertbotpython3-certbot-apacheパッケージをインストールします。

sudo apt install certbot python3-certbot-apache

次に、以下のcertbotコマンドを実行してSSL証明書を生成し、Matomoのドメイン名を保護します。ドメイン名とメールアドレスを自分の情報に変更してください。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d matomo.howtoforge.local

プロセスが完了すると、SSL証明書は/etc/letsencrypt/live/donmain.comディレクトリに保存されます。また、MatomoのインストールはHTTPSで保護されます。

Matomoウェブ分析のインストール

ウェブブラウザを開き、https://matomo.howtoforge.local/のようなMatomoのドメイン名にアクセスします。インストールが成功すると、以下のようなウェルカムメッセージが表示されます:

次へをクリックしてインストールを確認します。

welcome message

システムチェックセクションで、システムが準備できていることを確認し、再度次へをクリックします。

system check

次に、MariaDBデータベース名、ユーザー、パスワードなどの詳細を入力し、次へをクリックしてデータベースを移行します。

setup database

移行が完了したら、再度次へをクリックします。

database migration

新しい管理者ユーザー名、メールアドレス、およびMatomoウェブ分析のパスワードを入力します。

setup admin

次に、Matomoで最初のトラッキングを作成するための情報を入力し、次へをクリックします。

create first tracking

生成されたトラッキングコードをコピーし、次へをクリックします。

tracking code

インストールが完了すると、以下のメッセージが表示されます:

install complete

Matomoのホームページにアクセスすると、Matomoのログインページにリダイレクトされます。管理者ユーザー名とパスワードを入力し、サインインをクリックします。

logging in

ログインすると、以下のMatomo管理ダッシュボードが表示されます:

dashboard

結論

おめでとうございます!Debian 12サーバーにMatomoウェブ分析のインストールが完了しました。Matomoウェブ分析は、Apacheウェブサーバー、MariaDBデータベースサーバー、およびPHP 8.3で稼働しています。また、CertbotとLetsencryptを通じてMatomoをHTTPSで保護しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。