[指南] Amazon EC2 安装 Matomo ( Google Analytics ) 来代替 Google Analytics

章节连结

近期接到公司的测试要求,为了要避免 Google Analytics 在中国没办法使用浏览接口的问题,来寻找个替代品。Matomo 会是个不错的选项,它能够观看的资料跟 Google Analytics 不相上下,且资料得以保存在自己手上,也不会被 Google 隐藏起来。对于一般部落客而言,可以使用其云端版服务,最低每月 29 EUR 起跳。这篇是笔记下如何将其架在 Amazon EC2 上的纪录,这样一来能够客制化的程度会高很多。
amazon aws ec2 logo


概略和前置作业

1. 一台安装好 Amazon EC2 LAMP ( Linux, Apache, MariaDB, php ) 的服务器,并绑定好 Elastic IP
2. 一个自己能够认证的专属网域,并透过 DNS 设置好 A 的指向服务器
3. 透过 SSL For Free 申请免费的 Let’s Encrypt 凭证,并导入到 EC2 的 Apache 设定内
4. 让 EC2 启用 root 使用者登入,上传凭证档和 Matomo 相关档案到 /var/www/html 底下
5. 借由浏览器访问你的 EC2 下的 www 目录中,你方才上传的档案位置
6. 借由上一步所启用的安装精灵,完成设定
7. 透过套件(例如 WordPress) 或是手动埋入追踪码到 </head> 前


实际流程

Amazon Elastic Compute Cloud ( EC2 ) 设定

1. 可参考右边这篇:[指南] 远端开发实作 – 搭配 Amazon AWS EC2 – Node.js 服务器设定 ,来设置好基本的 Access 和启用机器 Instance
2. 用 ec2-user 的身分连上 EC2 后,再照官方的 教学:在 Amazon Linux 2 上安装 LAMP Web 服务器 来准备好服务器 ( 不需要安装 phpMyAdmin )
3. [指南] 给初心者在 AWS EC2 Linux 主机安装 Laravel 的排解指南 ,里头有提到一些常见的错误故障排除

给 EC2 绑定 Elastic IP

可参考右边这篇:(AWS EC2) Service for EC2 指定固定IP及释放IP 来进行实作,虽说接口有些许不同,但概念是相同的。
当你申请好弹性 IP 后,绑定到一台 EC2 上是不会收费的。不过若你取消绑定,且没有释放出这个 IP 位置的话,是会被收费的。换言之,你是向 Amazon 租了一个 IP 位置来用。

DNS 导向设置

若你没有一个域名,那就得先申请一个才行。通常若你有自己的部落格网址,那你已经具备好基本条件了。
1. 进入你的 DNS 设定页面,并新增一个 A 位置导向到 EC2 所在的 IP 位置。在上一步中要申请一个 Elastic IP,就是确保万一 EC2 重开机时,IP 位置不会变动。

demo dns settings

2. 设定完成后,你可以输入你的自订域名,如 hello.<domainName>.com,看看是否可以 redirect 到特定页面

P.S. 请尽量使用如 Cloudflare 之类的防火墙服务,把你的 IP 位置藏在其后,以免被恶意攻击

申请 Let’s Encrypt 凭证

可先参照这篇:SSL For Free 免费 SSL 凭证申请,使用 Let’s Encrypt 最简单方法教学!来申请一个凭证。关于网域所有权的认证部份,可以使用该网域的 Email 信箱认证。这点可以透过主机商所提供的 Email 服务完成。

安装凭证到 EC2 的 Apache 设定

之所以要大费周章搞个 https,是因为现今绝大多数网站都已经是 https 连线,而一个 https 连线的网站里,浏览器如 Google Chrome 是会阻挡所有不是以 https 所获取的资源。
安装方法,可以参考这篇:Installing SSL Certificate on Apache

启用 AWS EC2 的 root 权限来上传资料

启用完毕后,建议关闭此功能,以避免额外风险。不过为了要上传上一步取得的凭证资料和后续 Matomo 的安装档案,这一步是必须的。

详情可参考这篇:EC2 切换使用 root 登入方式

用 root 权限上传凭证和安装档资料

1. 依照 Installing SSL Certificate on Apache,来上传凭证档案到指定位置,完成后记得重启 Apache
2. 接着上传 matomo 的安装档到 /var/www/html 底下,并确认好资料夹位置即可 (你的资料夹结构为 analytics/matomo)

安装 Matomo

1. 用浏览器开启网址,格式一般为 https://<你方才申请的网域>/analytics/matomo
2. 如果顺利的话,会开启安装精灵,请照着指示操作。细节可上官网教学观看,里头也有详细的 FAQ
https://matomo.org/docs/installation/
3. 若要正常显示一些小图示,需使用 sudo yum install php-gd 在 Linux EC2 上安装。完成后需部份重启 PHP 服务:sudo systemctl restart php-fpm

透过套件(如 WP-Matomo Integration (WP-Piwik) ) 或是手动埋入追踪码到 </head>

依照你的需求,复制“追踪程式码”中的段落到套件指定位置贴上,或是手动埋入到 </head> 前即可


参考资料

1. 弹性 IP 地址
2. Amazon Web Services之门外汉心得
3. AWS EC2 切换 root 权限及登入方式
4. Ubuntu 开放 root 登入 ssh
5. Amazon EC2 – PHP GD image library
6. How to start, stop & restart MariaDB server in Linux
7. How to change max_allowed_packet size

按赞加入粉丝团

延伸阅读