概要
オープンソースの解析システムであるmatomoをAWS Lightsail上にインストールしました。
参考としたURL
- https://matomo.org/faq/on-premise/matomo-requirements/
- https://www.rosehosting.com/blog/how-to-install-matomo-web-analytics-on-ubuntu-20-04/
本記事で実施すること
- AWSサーバに導入されているPHPがサポート終了しているため、7.4から8.1にアップグレードする。
- Ubuntu 20.04にアクセス解析システム「matomo」をインストールする。
- その際に常時SSL化を行う。
- Web画面から初期設定を行う。
※アクセス対象のシステムへの設定は別の記事で紹介します。
前提
- 既に以下のシステムがWAN環境に揃っていること。
- Ubuntu 20.04
- Apache 2.4
- mysql 8
- PHP 7.4
- matomo用のサブドメインを取得していること。
- それに即した証明書があること。
手順
さっくりとした手順
- PHPを7.4から8.1にアップグレードする。
- MySQLのDBとユーザを作成する。
- ディレクトリにmatomoプログラムを配置する。
- Apache設定ファイルを作成し、常時SSLで接続できるようにする。
- matomoサイトにログインできることを確認する。
- matomo Web画面で初期設定をする。
PHPのアップグレードを行います。
sudo apt-get --purge autoremove php*
sudo aptitude install php8.1
sudo aptitude install php8.1-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,mysql,mysqli,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml,dev}
sudo aptitude install php8.1-apcu
sudo aptitude install php8.1-memcached
sudo systemctl restart apache2.service
php -v
# PHP 8.1.14を確認しました。
PHPアップグレード後、PHPを動かしているサーバ内のサイトが正常に動くことを確認しました。
データベースを作成します。
sudo mysql -u root -p
CREATE DATABASE matomodb;
CREATE USER 'matomouser'@'localhost' IDENTIFIED BY 'password';
/* パスワードは自身の環境に合わせ、強固なものを設定してください */
GRANT ALL ON matomodb.* to 'matomouser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
matomoプログラムをディレクトリに配置します。
cd /tmp &&pwd
# tmpにいることを確認します
wget https://builds.matomo.org/matomo-latest.zip
unzip matomo-latest.zip
sudo chown -R www-data:www-data matomo
sudo mv matomo /var/www/html/
# 今回は/var/www/htmlに配置します。
ls -ld /var/www/html/matomo
# 該当ディレクトリにファイル一式があることを確認します
Apache設定ファイルを作成します。
- 【】内を自分の環境に合わせます。
- コマンド一式をコピー → 別のエディタにペースト
- その後、【】内を自分の環境に修正してコピー
- コマンド一式をSSHクライアントに貼り付ける
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/matomo.conf
<VirtualHost _default_:80>
ServerName 【設定したドメイン名】
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName 【設定したドメイン名】
CustomLog 【/var/log/matomo/matomo_access.log combined】
ErrorLog 【/var/log/matomo/matomo_error.log】
# アクセスログとエラーログは自分の環境に合わせて設定します。
DocumentRoot /var/www/html/matomo
<Directory /var/www/html/matomo>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
SSLEngine on
Protocols h2 http/1.1
Header always set Strict-Transport-Security "max-age=63072000"
SSLCertificateFile 【SSL証明書のファイルパス】
SSLCertificateKeyFile 【SSL秘密鍵のファイルパス】
# SSLCACertificateFile 【SSL中間証明書のファイルパス】
# 中間証明書が発行元から別ファイルで提供されている場合は、この直上をコメントアウトして中間証明書を指定します
</VirtualHost>
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
# これらのセクションはSSL暗号化強度を高めるための記述です
# </VirtualHost>の外側に書くことにご注意ください
__EOF__
設定を反映します。
cd /etc/apache2/sites-available && pwd
# 対象ディレクトリにいることを確認します
sudo a2ensite matomo.conf
sudo apache2ctl configtest
# Syntax OKを確認します
sudo systemctl restart apache2.service
ブラウザで
https://【matomoを設定したドメイン名】
にアクセスし、初期画面が出ることを確認します。
初期インストール画面の設定
「次へ」をクリックします。
全てチェックされていることを確認して「次へ」をクリックします。
◎データベースを設定します。
- ログイン: MySQLのユーザー(matomouser)
- パスワード: 設定したパスワード
- データベース名:作成したDB (matomodb)
をそれぞれ入力し、「次へ」をクリックします。正常に入力されれば「テーブルを作成されました」とデルので「次へ」をクリックします。
◎スーパーユーザーを設定します。
- スーパーユーザーログイン:ログインするユーザー名
- パスワード:ログイン時のパスワード
- パスワード(再入力)
- メールアドレス
をそれぞれ入力して「次へ」をクリックします。
◎アクセス解析を行うウェブサイトを設定します。
- アクセス解析対象のウェブサイトの名前
- ウェブサイトのURL (このmatomoサイトではなく、アクセス解析を行いたいWebサイト)
- ウェブサイトのタイムゾーン
- eコマースか否か
を設定して「次へ」をクリックします。
これらを設定後、トラッキングタグが表示されます。これらを控えて「次へ」をクリックします。
「おめでとうございます!」と表示されればインストールの一連の作業は完了します。
1件のピンバック