Введение
Plausible Analytics – это открытое программное обеспечение для веб-аналитики, развернутое на собственном сервере и написанное на языке Elixir, которое ориентировано на простоту и конфиденциальность. Оно сохраняет данные о посетителях вашего веб-сайта в базах данных PostgreSQL и ClickHouse.
В этом руководстве вы установите Plausible с помощью Docker Compose, затем установите Nginx для работы в качестве обратного прокси для приложения Plausible. Наконец, вы настроите безопасное соединение HTTPS, используя Certbot для загрузки и настройки SSL-сертификатов от Удостоверяющего центра Let’s Encrypt.
Предварительные требования
Чтобы выполнить это руководство, вам сначала понадобится следующее:
- Сервер Ubuntu 22.04 с включенным брандмауэром UFW. Пожалуйста, прочтите наше руководство Начальная настройка сервера с Ubuntu 22.04, чтобы узнать больше о настройке этих требований.
- Docker установлен. Вы можете использовать Шаг 1 из Как установить и использовать Docker в Ubuntu 22.04 чтобы выполнить это. По желанию, вы можете следовать Шагу 2 этого руководства, если хотите, чтобы ваш непривилегированный пользователь мог запускать команды
docker
без использованияsudo
- Docker Compose установлен. Следуйте Шагу 1 из Как установить и использовать Docker Compose в Ubuntu 22.04 чтобы установить это программное обеспечение
Примечание: Эти предварительные шаги можно пропустить, если вы используете Образ Docker одним нажатием от DigitalOcean. В этом образе Docker, Docker Compose и UFW уже установлены и настроены.
Запустите новый образ Docker в выбранном вами регионе, а затем войдите как root пользователь и продолжите выполнение руководства. По желанию, вы можете опустить части с sudo
во всех командах, но это необязательно.
Наконец, для включения SSL вам понадобится доменное имя, указывающее на публичный IP-адрес вашего сервера. Это должно быть что-то вроде example.com
или plausible.example.com
, например. Если вы используете DigitalOcean, пожалуйста, посмотрите наше Быстрое начало с DNS для получения информации о создании доменных ресурсов в нашей панели управления.
Когда вы удовлетворите все предварительные требования, перейдите к Шагу 1, где вы загрузите и запустите программное обеспечение Plausible.
Шаг 1 – Установка Plausible Analytics с помощью Docker Compose
Plausible создал репозиторий Git со всеми файлами конфигурации, необходимыми для самостоятельного хостинга программного обеспечения. Ваш первый шаг будет заключаться в клонировании этого репо на ваш сервер, обновлении двух файлов конфигурации, а затем запуске контейнеров приложения и базы данных Plausible.
Войдите в свой сервер сейчас.
Сначала используйте команду cd
для перехода в каталог /opt
:
Затем используйте команду git
для клонирования репо с GitHub в новый каталог с именем plausible
внутри /opt
:
Это загрузит все необходимые файлы конфигурации в /opt/plausible
. Перейдите в только что созданный каталог:
Первый файл, который нам нужно отредактировать, это plausible-conf.env
, файл, в котором несколько переменных конфигурации, которые нам нужно установить.
Прежде чем открыть файл для редактирования, сгенерируйте новый случайный хэш:
Это использует команду openssl
для генерации 64 случайных символов и команду base64
для их кодирования в base64. Скопируйте вывод в буфер обмена, затем откройте файл конфигурации:
Файл содержит пять переменных, которые вам нужно заполнить:
ADMIN_USER_EMAIL=your_email_here
ADMIN_USER_NAME=admin_username
ADMIN_USER_PWD=admin_password
BASE_URL=https://your_domain_here
SECRET_KEY_BASE=paste_your_random_characters_here
Заполните электронную почту, имя пользователя, пароль и базовый URL, а затем вставьте случайные символы, сгенерированные с помощью openssl
.
Примечание: Указанный здесь пароль должен содержать не менее шести символов. Если вы используете только IP-адрес, а не доменное имя, убедитесь, что он предшествует http://
.
Сохраните файл (CTRL+O
, а затем ENTER
в nano
) и закройте редактор (CTRL+X
).
Есть и другие варианты конфигурации, которые можно добавить в этот файл, но этот минимальный набор поможет вам начать. Дополнительную информацию о настройке Plausible через plausible-conf.env
можно найти в официальной документации по самостоятельному размещению Plausible Analytics.
Теперь вам нужно обновить файл docker-compose.yml
. Этот файл используется командой docker-compose
для настройки и запуска нескольких контейнеров Docker. Нам нужно изменить одну опцию в этом файле: IP-адрес, к которому привязывается Plausible.
Найдите раздел, который определяет контейнер Plausible. Он начнется с plausible:
. В этом разделе найдите определение ports:
и обновите его следующим образом:
ports:
- 127.0.0.1:8000:8000
Это гарантирует, что Plausible слушает только интерфейс localhost и не является общедоступным. Даже если у вас установлен брандмауэр UFW, из-за некоторых особенностей работы сети Docker, если вы не выполните этот шаг, ваш контейнер Plausible будет доступен публично на порту 8000
, и мы хотим, чтобы он был доступен только через установленный в следующем шаге прокси-сервер Nginx.
Сохраните и закройте файл docker-compose.yml
, затем используйте docker-compose
для загрузки, настройки и запуска контейнеров:
Флаг --detach
говорит docker-compose
создать контейнеры в фоновом режиме, отделенные от нашей сессии терминала:
Output. . .
Starting plausible_plausible_events_db_1 ... done
Starting plausible_plausible_db_1 ... done
Starting plausible_mail_1 ... done
Starting plausible_plausible_1 ... done
Контейнер приложения и все его вспомогательные контейнеры для почты и базы данных теперь должны быть запущены. Вы можете проверить это, используя команду curl
, чтобы получить домашнюю страницу вашего нового контейнера Plausible, запущенного на localhost:
Output<html><body>You are being <a href="/login">redirected</a>.</body></html>
Если в вашем терминале выводится какой-то HTML, значит, сервер работает.
Затем мы настроим Nginx для обратного прокси Plausible с localhost:8000
на публичный.
Шаг 2 — Установка и настройка Nginx
Установка веб-сервера, такого как Nginx, перед вашим сервером Elixir, может улучшить производительность за счет передачи кэширования, сжатия и обслуживания статических файлов более эффективному процессу. Мы собираемся установить Nginx и настроить его для обратного прокси-сервера запросов к Plausible, что означает, что он будет обрабатывать запросы от ваших пользователей к Plausible и обратно.
Сначала обновите свой список пакетов, затем установите Nginx с помощью apt
:
Разрешите публичный трафик на портах 80
и 443
(HTTP и HTTPS) с использованием профиля приложения UFW “Nginx Full”:
OutputRule added
Rule added (v6)
Затем откройте новый файл конфигурации Nginx в каталоге /etc/nginx/sites-available
. Мы назовем его plausible.conf
, но вы можете использовать другое имя:
Вставьте следующее в новый файл конфигурации, обязательно заменив your_domain_here
на домен, который вы сконфигурировали для указания на ваш сервер Plausible. Например, это может быть что-то вроде plausible.example.com
:
server {
listen 80;
listen [::]:80;
server_name your_domain_here;
access_log /var/log/nginx/plausible.access.log;
error_log /var/log/nginx/plausible.error.log;
location / {
proxy_pass http://localhost:8000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Эта конфигурация в настоящее время поддерживает только HTTP, так как мы позволим Certbot настроить SSL в следующем шаге. Остальная часть конфигурации устанавливает местоположения журналов, а затем перенаправляет весь трафик на http://localhost:8000
, экземпляр Plausible, который мы запустили на предыдущем шаге.
Сохраните и закройте файл, затем активируйте конфигурацию, создав символическую ссылку на нее в /etc/nginx/sites-enabled/
:
Используйте nginx -t
, чтобы проверить правильность синтаксиса файла конфигурации:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
И, наконец, перезагрузите службу nginx
, чтобы применить новую конфигурацию:
Ваш сайт Plausible теперь должен быть доступен по обычному HTTP. Загрузите http://ваш_домен_здесь
, и он будет выглядеть так:
Теперь, когда ваш сайт работает через HTTP, пришло время обеспечить защищенное соединение с помощью Certbot и сертификатов Let’s Encrypt.
Шаг 3 — Установка Certbot и настройка SSL-сертификатов
Благодаря Certbot и бесплатному центру сертификации Let’s Encrypt добавление шифрования SSL к нашему приложению Plausible займет всего две команды.
Сначала установите Certbot и его плагин Nginx:
Затем запустите certbot
в режиме --nginx
и укажите тот же домен, который использовали в конфигурации Nginx server_name
:
Вас попросят согласиться с условиями использования Let’s Encrypt и ввести адрес электронной почты.
После этого вас спросят, хотите ли вы перенаправлять весь трафик HTTP на HTTPS. Решать вам, но обычно это рекомендуется и безопасно.
После этого Let’s Encrypt подтвердит ваш запрос, и Certbot загрузит ваш сертификат:
OutputCongratulations! You have successfully enabled https://plausible.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=plausible.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/plausible.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/plausible.example.com/privkey.pem
Your cert will expire on 2022-12-05. 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
Certbot автоматически перезагрузит Nginx, чтобы применить новую конфигурацию и сертификаты. Обновите свой сайт, и он автоматически переключит вас на HTTPS, если вы выбрали опцию перенаправления.
Ваш сайт теперь защищен, и безопасно войти с использованием учетных данных по умолчанию, которые вы настроили на Шаг 1. Затем вам будет предложено подтвердить вашу регистрацию, и на ваш адрес электронной почты, который вы настроили, будет отправлен код подтверждения.
По умолчанию эта электронная почта отправляется непосредственно с вашего сервера, что может вызвать проблемы из-за различных мер предотвращения спама. Если вы не получаете письмо, проверьте папку со спамом. Если его там также нет, возможно, вам нужно настроить более подходящие данные SMTP в файле plausible-conf.env
. Смотрите официальную документацию Plausible по самостоятельному размещению для получения подробной информации о настройке почты.
Когда вы успешно войдете, вы увидите приглашение для настройки вашего первого веб-сайта с помощью Plausible:
Вы успешно установили и защитили ваше программное обеспечение аналитики Plausible.
Заключение
В этом руководстве вы запустили приложение аналитики Plausible и связанные с ним контейнеры-помощники с использованием Docker Compose, затем настроили обратный прокси Nginx и защитили его с помощью SSL-сертификатов Let’s Encrypt.
Теперь вы готовы настроить свой сайт и добавить скрипт отслеживания аналитики Plausible. Пожалуйста, обратитесь к официальной документации Plausible Analytics для получения дополнительной информации о использовании программного обеспечения и настройке вашего сайта.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-plausible-analytics-on-ubuntu-22-04