本页内容
- 准备工作
- 安装 Docker CE(社区版)
- 下载并配置 Plausible Analytics
- 使用 Docker Compose 运行 Plausible Analytics
- 将 Apache2 配置为反向代理
- 使用 Let's Encrypt SSL 保护 Plausible Analytics
- 访问 Plausible Analytics
- 使用 Plausible Analytics 跟踪网站
- 总结
Plausible 是 Google Analytics 的一款开源网站分析替代方案。它是一款轻量级、注重隐私的网站分析工具,可用于初创公司、自由职业者和博主等多种行业场景。
Plausible 是一款轻量且简单的网站分析工具。它在单一页面上提供重要指标,使站长更容易分析各项数据。Plausible 提供两个版本:需要付费使用的 Plausible 托管服务,以及可在您自己的服务器上安装的自托管版本。
Plausible Analytics 让您可以在自己的服务器上创建自托管的网站分析,并允许您无限制地跟踪网站。在本指南中,您将学习如何在 Ubuntu 22.04 服务器上通过 Docker 安装并配置 Plausible Analytics。您还将把 Nginx 配置为 Plausible Analytics 应用的反向代理,并通过 Let's Encrypt 配置 SSL。
准备工作
开始前,您需要满足以下要求才能完成本指南:
- 一台 Ubuntu 22.04 服务器 —— 本例使用的服务器主机名为 ' plausible-server '。
- 一个具有 sudo/root 管理员权限的非 root 用户。
- 一个指向服务器 IP 地址的域名或子域名 —— 本例使用的子域名为 ' plausible.howtoforge.local '。
安装 Docker CE(社区版)
Plausible Analytics 可以通过 Docker 在任何支持 Docker 引擎的操作系统上进行部署和自托管。为此,您必须先在要部署 Plausible 应用的目标机器上安装 Docker 引擎。
在本指南中,首先通过官方 Docker 软件源将 Docker CE(社区版)安装到您的 Ubuntu 服务器。
运行以下 apt 命令来安装一些基础依赖。当提示进行配置时,输入 y 并按 ENTER 继续。
sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release

接下来,运行以下命令下载 Docker 软件源的 GPG 密钥。然后,将官方 Docker 软件源添加到您的系统。
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

添加 GPG 密钥和 Docker 软件源后,通过以下 apt 命令刷新并更新您的软件源。
sudo apt update
您将收到类似以下的输出 —— Docker CE 软件源已添加。

现在使用以下 apt 命令安装 Docker CE 和 Docker Compose。
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
输入 y 确认安装,然后按 ENTER 继续。

Docker 安装完成后,运行以下 systemctl 命令来验证 Docker 服务的当前状态。
sudo systemctl is-enabled docker
sudo systemctl status docker
您现在应该会看到 Docker 服务正在运行并已启用。Docker 现在会在系统启动时自动运行。

Docker 安装完成后,下一步将是进行 Plausible Analytics 的安装设置。
下载并配置 Plausible Analytics
Docker 安装完成后,您现在需要下载 Plausible Analytics 源代码,并配置部署期间将使用的环境变量。这包括一些重要设置,例如管理员用户和密码、安装的 Plausible 域名,以及用于保护 Plausible 的 SECRET_KEY_BASE。
将工作目录切换到 '/opt'。然后,通过以下 git 命令下载 Plausible 源代码。
cd /opt
sudo git clone https://github.com/plausible/hosting plausible
接下来,运行以下命令为 Plausible Analytics 生成 SECRET_KEY_BASE。
openssl rand 64 | base64 -w 0 ; echo
您将收到生成的随机字符串 —— 请务必保存它,您将使用此生成的随机字符串作为 Plausible 的 SECRET_KEY_BASE。

现在将工作目录切换到 ' /opt/plausible ',即 Plausible 的安装目录。然后,使用以下 nano 编辑器命令编辑配置文件 ' plausible-conf.env '。
cd /opt/plausible
sudo nano plausible-conf.env
根据您的部署环境修改配置详情。同时,务必修改管理员用户、电子邮件和密码的详细信息,以及您安装的域名,并将 SECRET_KEY_BASE 替换为之前生成的随机字符串。
以下配置将在通过 Docker 和 Docker Compose 部署 Plausible Analytics 时用作变量。
[email protected] ADMIN_USER_NAME=alice ADMIN_USER_PWD=admin_alice_password BASE_URL=https://plausible.howtoforge.local SECRET_KEY_BASE=WI+Dzf5ZsvbL+tapfDuIyOr2rhQqcss10XnQkX3b/BjOucweWvHjqpFtb9kV69O1PwvbOxaBvotlGbh6vry//Q==

完成后保存文件并退出编辑器。
使用 Docker Compose 运行 Plausible Analytics
现在您已配置好用于 Plausible 部署的环境。接下来您将设置 docker-compose.yml 脚本,并通过 Docker Compose 部署 Plausible。
将您的工作目录切换到 Plausible 安装目录 ' /opt/plausible '。
cd /opt/plausible
使用以下 nano 编辑器编辑 Docker Compose 配置文件 ' docker-compose.yml'。
sudo nano docker-compose.yml
在 'plausible' 服务部分,将默认的 ' ports ' 配置替换为以下配置。通过此设置,Plausible Analytics 服务将在本地主机(localhost)的默认端口 8000 上运行。
plausible: ...... ports: - 127.0.0.1:8000:8000 ......
完成后保存文件并退出编辑器。

修改 docker-compose.yml 文件后,运行以下 docker 命令开始构建并部署 Plausible Analytics 服务。
sudo docker compose up -d
运行命令后,Docker 将下载用于 Plausible 部署的镜像,其中包括用作数据库的 PostgreSQL。同时,您还会看到创建了新的数据卷。
以下是 Plausible 部署过程的输出。

Plausible 部署完成后,您应该会在下方看到容器服务已启动。

现在通过以下 docker 命令验证正在运行的容器和服务。您应该会看到 Plausible 的相关服务正在运行。
sudo docker compose ps

您也可以通过以下命令验证系统中可用的 Docker 镜像列表。您应该会看到多个镜像,包括 PostgreSQL 和 Plausible 镜像。
sudo docker compose images

最后,运行以下命令验证 Plausible 服务是否正在运行。该命令会尝试连接到运行在本地主机默认端口 8000 上的 Plausible 服务。
curl http://localhost:8000
在以下输出中,您可以看到被重定向到 Plausible 登录页面的 URL 路径 ' /login'。

将 Apache2 配置为反向代理
现在 Plausible Analytics 已在 Docker 中运行。您现在将安装 Apache2 Web 服务器,并将其配置为 Plausible Web 应用的反向代理。
运行以下 apt 命令将 Apache2 Web 服务器安装到系统中。输入 y 确认安装并按 ENTER 继续。
sudo apt install apache2

现在验证 apache2 服务,以确保其正在运行。使用以下 systemctl 命令。
sudo systemctl is-enabled apache2
sudo systemctl status apache2
在以下输出中,您将看到 apache2 服务正在运行且已启用。这意味着 apache2 服务将在系统启动时自动运行。

Apache2 Web 服务器安装完成后,接下来您将设置用作 Plausible Analytics Web 应用反向代理的虚拟主机。
首先,运行以下命令启用一些 apache2 模块。其中包括将 apache2 用作反向代理的模块以及 mod_ssl 模块。
sudo a2enmod proxy proxy_http proxy_ajp remoteip headers ssl
您应该会看到类似以下的输出。

接下来,运行以下命令将 apache2 反向代理的默认虚拟主机配置复制到 ' /etc/apache2/sites-available/ ' 目录。
sudo cp /opt/plausible/reverse-proxy/apache2/plausible.conf /etc/apache2/sites-available/
现在使用以下 nano 编辑器命令编辑虚拟主机配置文件 ' /etc/apache2/sites-available/plausible.conf'。
sudo nano /etc/apache2/sites-available/plausible.conf
将 Plausible 安装的域名替换为您自己的域名。在本例中,Plausible Analytics 将运行在子域名 ' plausible.howtoforge.local ' 上。
ServerAdmin [email protected] ServerName plausible.howtoforge.local
完成后保存文件并退出编辑器。
接下来,通过以下 a2ensite 命令启用虚拟主机配置 ' plausible.conf'。
sudo a2ensite plausible.conf
之后,运行以下命令验证 apache2 配置,确保配置正确。如果您看到 ' Syntax OK ' 之类的输出信息,说明您的配置是正确的。
sudo apachectl configtest
最后,通过以下 systemctl 命令重启 apache2 服务,以应用新的虚拟主机配置 ' plausible.conf '。
sudo systemctl restart apache2

至此,您已完成将 Apache2 配置为 Plausible Analytics 反向代理的工作。下一步将使用 Let's Encrypt 的 SSL 来保护 Plausible 部署。
使用 Let's Encrypt SSL 保护 Plausible Analytics
在为 Plausible Analytics 配置好 Apache2 反向代理后,您现在将通过 Let's Encrypt SSL 来保护 Plausible。因此,在开始之前,请确保用于 Plausible 的域名已指向服务器 IP 地址。同时,请务必准备一个用于向 Let's Encrypt 注册域名的电子邮件地址。
通过以下 apt 命令安装 certbot 工具以及 certbot 的 Apache2 插件。
sudo apt install certbot python3-certbot-apache
输入 y 确认安装并按 ENTER 继续安装。

certbot 安装完成后,您现在可以通过以下 certbot 命令生成 SSL 证书。请务必将域名替换为您自己的 Plausible 安装域名。
sudo certbot --apache -d plausible.howtoforge.local
过程完成后,您应该会看到类似以下的输出。Plausible Analytics 现已通过 Let's Encrypt SSL 得到保护。
Congratulations! You have successfully enabled https://plausible.howtoforge.local You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=plausible.howtoforge.local - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/plausible.howtoforge.local/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/plausible.howtoforge.local/privkey.pem Your cert will expire on 2022-12-10. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
至此,您的 Plausible Analytics 已可通过安全的 HTTPS 连接访问。
访问 Plausible Analytics
现在 Plausible Analytics 已通过 Let's Encrypt SSL 得到保护。您现在可以从 Web 浏览器安全地访问您的 Plausible 安装。
打开您的 Web 浏览器,访问您 Plausible Analytics 的域名(例如:https://plausible.howtoforge.local/)。
首先,您将看到 Plausible 登录页面。输入您 Plausible 的管理员电子邮件地址和密码。这些信息可以在配置文件 ' plausible-conf.env ' 中找到。

如果您输入了正确的管理员用户和密码,现在应该会看到 Plausible Analytics 仪表盘。

使用 Plausible Analytics 跟踪网站
在接下来的步骤中,您将学习如何将网站添加到 Plausible Analytics 并进行跟踪。
在 Plausible 仪表盘上,点击 ' Add a website '(添加网站)。
现在,输入您想要跟踪的域名,并选择使用的时区。然后,点击 ' Add snippet '(添加代码片段)。

现在,您可以将 JavaScript 代码片段添加到您的目标网站中。然后点击 ' Start collecting data '(开始收集数据)。

在以下截图中,您可以看到域名已添加到 Plausible Analytics。

总结
在本教程中,您已在 Ubuntu 22.04 服务器上通过 Docker 安装了 Plausible Analytics。同时,您还将 Apache2 Web 服务器安装为 Plausible Analytics 的反向代理,并通过 Let's Encrypt SSL 保护了部署。关于 Plausible Analytics 的基本使用,您已经学习了如何通过 Plausible Analytics 跟踪网站。
现在,如果您想继续,可以向安装在您系统上的自托管 Plausible Analytics 添加更多网站。