Главная страница » Как установить Plausible Analytics в Ubuntu 20.04
Как установить Plausible Analytics в Ubuntu 20.04
- автор: Александр
Plausible Analytics — это автономное приложение для веб-аналитики с открытым исходным кодом, написанное на Elixir и ориентированное на простоту и конфиденциальность. Он хранит данные о посетителях вашего сайта в базах данных PostgreSQL и ClickHouse.
В этом руководстве вы установите Plausible с помощью Docker Compose, а затем установите Nginx, который будет действовать как обратный прокси-сервер для приложения Plausible. Наконец, вы включите безопасные соединения HTTPS, используя Certbot для загрузки и настройки сертификатов SSL из центра сертификации Let's Encrypt.
Чтобы завершить это руководство, вам сначала понадобится следующее:
docker
без использования sudo
Note: Эти обязательные шаги можно пропустить, если вы используете образ Docker в один клик от DigitalOcean. В этом образе уже установлены и настроены Docker, Docker Compose и UFW.
Запустите новый образ Docker в выбранном вами регионе, затем войдите в систему как пользователь root и продолжите обучение. При желании вы можете исключить части sudo
из всех команд, но это не обязательно.
Наконец, чтобы включить SSL, вам понадобится доменное имя, указывающее на общедоступный IP-адрес вашего сервера. Например, это должно быть что-то вроде example.com
или plausible.example.com
. Если вы используете DigitalOcean, ознакомьтесь с нашим кратким руководством по DNS для получения информации о создании ресурсов домена в нашей панели управления.
Выполнив все предварительные условия, перейдите к Step 1 , где вы загрузите и запустите программное обеспечение Plausible.
Plausible создал репозиторий Git со всеми файлами конфигурации, необходимыми для самостоятельного размещения программного обеспечения. Вашим первым шагом будет клонирование этого репозитория на ваш сервер, обновление двух файлов конфигурации, а затем запуск приложения Plausible и контейнеров базы данных.
Войдите на свой сервер сейчас.
Сначала используйте команду cd
, чтобы перейти в каталог /opt
:
- компакт-диск /опт
Затем используйте команду git
, чтобы клонировать репозиторий из GitHub в новый каталог внутри /opt
, называемый plausible
:
- sudo git clone https://github.com/plausible/hosting правдоподобный
Это переместит все необходимые файлы конфигурации в /opt/plausible
. Перейдите во вновь созданный каталог:
- компакт-диск правдоподобный
Первый файл, который нам нужно отредактировать, — это plausible-conf.env
, файл, в котором есть несколько переменных конфигурации, которые нам нужно установить.
Прежде чем открыть файл для его редактирования, сгенерируйте новый случайный хэш:
- OpenSSL ранд 64 | base64 -w 0 ; эхо
При этом используется команда openssl
для генерации 64 случайных символов и команда base64
для их кодирования в base64. Скопируйте вывод в буфер обмена, затем откройте файл конфигурации:
- sudo nano правдоподобный-conf.env
Файл содержит пять переменных, которые вам нужно будет заполнить:
ADMIN_USER_EMAIL=
ваш_электронный адрес_здесь ADMIN_USER_NAME= имя_администратора ADMIN_USER_PWD= пароль администратора BASE_URL=https:// ваш_домен_здесь SECRET_KEY_BASE= вставьте_ваши_случайные_символы_здесь
Введите адрес электронной почты, имя пользователя, пароль и базовый URL-адрес, затем вставьте случайные символы, сгенерированные вами с помощью openssl
.
Note: Длина пароля, который вы здесь указываете, должна быть не менее шести символов. Если вы используете чистый IP-адрес, а не доменное имя, обязательно укажите перед ним http://
.
Сохраните файл ( CTRL+O
затем ENTER
в nano
) и закройте редактор ( CTRL+X
).
В этот файл можно добавить и другие параметры конфигурации, но этот минимальный набор поможет вам приступить к работе. Дополнительную информацию о настройке Plausible через plausible-conf.env
можно найти в официальной документации по самостоятельному размещению Plausible Analytics.
Теперь вам нужно обновить файл docker-compose.yml
. Этот файл используется командой docker-compose
для настройки и запуска нескольких контейнеров Docker. Нам нужно изменить одну опцию в этом файле: IP-адрес, к которому привязывается Plausible.
- sudo nano docker-compose.yml
Найдите раздел, определяющий контейнер Plausible. Начнётся plausible:
. В этом разделе найдите определение ports:
и обновите его следующим образом:
ports: -
127.0.0.1: 8000:8000
Это гарантирует, что Plausible прослушивает только интерфейс localhost и не является общедоступным. Несмотря на то, что у вас настроен брандмауэр UFW, из-за некоторых особенностей работы сети Docker, если вы не выполнили этот шаг, ваш контейнер Plausible будет доступен для всех через порт 8000
, а мы хотим, чтобы он был доступен только через Nginx. прокси, который вы настроите на следующем шаге.
Сохраните и закройте файл docker-compose.yml
, затем используйте docker-compose
для загрузки, настройки и запуска контейнеров:
- sudo docker-compose up --detach
Флаг --detach
сообщает docker-compose
создавать контейнеры в фоновом режиме, отсоединенные от нашей терминальной сессии:
Выход . . . Запуск plausible_plausible_events_db_1 ... готово Запуск plausible_plausible_db_1 ... готово Запуск plausible_mail_1 ... готово Запуск plausible_plausible_1 ... готово
Контейнер приложения и все поддерживающие его контейнеры почты и базы данных теперь должны быть запущены. Вы можете убедиться в этом, используя команду curl
для получения домашней страницы вашего нового контейнера Plausible, работающего на localhost :
- локон http://localhost:8000
Выход Вы перенаправлены.
Если на ваш терминал выводится какой-либо HTML-код, вы знаете, что сервер запущен и работает.
Далее мы настроим Nginx для обратного прокси-сервера Plausible с localhost:8000
на общедоступный.
Размещение веб-сервера, такого как Nginx, перед вашим сервером Elixir может повысить производительность за счет переноса кэширования, сжатия и обслуживания статических файлов на более эффективный процесс. Мы собираемся установить Nginx и настроить его для обратного прокси-запроса в Plausible, то есть он позаботится о передаче запросов от ваших пользователей в Plausible и обратно.
Сначала обновите список пакетов, затем установите Nginx с помощью apt
:
- обновление sudo apt
- sudo apt установить nginx
Разрешите общедоступный трафик на порты 80
и 443
(HTTP и HTTPS) с помощью профиля приложения UFW «Nginx Full»:
- sudo ufw разрешить «Nginx Full»
Выход Добавлено правило Добавлено правило (v6)
Затем откройте новый файл конфигурации Nginx в каталоге /etc/nginx/sites-available
. Мы назовем наш plausible.conf
, но вы можете использовать другое имя:
- sudo nano /etc/nginx/сайты-доступны/ правдоподобный .conf
Вставьте следующее в новый файл конфигурации, обязательно заменяя your_domain_here
доменом, который вы настроили для указания на ваш Plausible сервер. Это должно быть что-то вроде plausible.example.com
, например:
server { listen 80; listen [::]:80; server_name
ваш_домен_здесь ; access_log /var/log/nginx/plausible.access.log; error_log /var/log/nginx/plausible.error.log; местоположение / { 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/
:
- sudo ln -s /etc/nginx/sites-available/ правдоподобный .conf /etc/nginx/sites-enabled/
Используйте nginx -t
, чтобы проверить правильность синтаксиса файла конфигурации:
- судо nginx -t
Выход nginx: синтаксис файла конфигурации /etc/nginx/nginx.conf в порядке nginx: тест файла конфигурации /etc/nginx/nginx.conf прошел успешно
И, наконец, перезагрузите службу nginx
, чтобы получить новую конфигурацию:
- sudo systemctl перезагрузить nginx
Ваш сайт Plausible теперь должен быть доступен по простому HTTP. Загрузите http:// your_domain_here
, и это будет выглядеть так:
Теперь, когда ваш сайт настроен и работает через HTTP, пришло время защитить соединение с помощью сертификатов Certbot и Let's Encrypt.
Благодаря Certbot и бесплатному центру сертификации Let's Encrypt для добавления SSL-шифрования в наше приложение Plausible потребуется всего две команды.
Сначала установите Certbot и его плагин Nginx:
- sudo apt установить certbot python3-certbot-nginx
Затем запустите certbot
в режиме --nginx
и укажите тот же домен, который вы использовали в конфигурации Nginx server_name
:
- sudo certbot --nginx -d ваш_домен_здесь
Вам будет предложено согласиться с условиями обслуживания Let's Encrypt и ввести адрес электронной почты.
После этого вас спросят, хотите ли вы перенаправить весь HTTP-трафик на HTTPS. Решать вам, но обычно это рекомендуется и безопасно.
После этого Let's Encrypt подтвердит ваш запрос, а Certbot загрузит ваш сертификат:
Выход Поздравляем! Вы успешно включили https://plausible.example.com. Вам следует проверить свою конфигурацию по адресу: https://www.ssllabs.com/ssltest/analyze.html?d=plausible.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ВАЖНЫЕ ПРИМЕЧАНИЯ: - Поздравляем! Ваш сертификат и цепочка сохранены по адресу: /etc/letsencrypt/live/plausible.example.com/fullchain.pem Файл ключа сохранен по адресу: /etc/letsencrypt/live/plausible.example.com/privkey.pem Ваш Срок действия сертификата истекает 6 декабря 2021 г. Чтобы получить новую или измененную версию этого сертификата в будущем, просто запустите certbot еще раз с опцией «certonly». Чтобы неинтерактивно обновить *все* ваши сертификаты, запустите «certbot renew» — учетные данные вашей учетной записи были сохранены в каталоге конфигурации вашего Certbot по адресу /etc/letsencrypt. Вам следует сделать безопасную резервную копию этой папки сейчас. Этот каталог конфигурации также будет содержать сертификаты и закрытые ключи, полученные Certbot, поэтому идеальным является регулярное резервное копирование этой папки. - Если вам нравится Certbot, рассмотрите возможность поддержки нашей работы: Сделайте пожертвование в пользу ISRG / Let's Encrypt: https://letsencrypt.org/donate. Пожертвуйте в пользу EFF: https://eff.org/donate-le.
Certbot автоматически перезагрузит Nginx, чтобы получить новую конфигурацию и сертификаты. Перезагрузите свой сайт, и он должен автоматически переключить вас на HTTPS, если вы выбрали опцию перенаправления.
Теперь ваш сайт защищен, и вы можете безопасно войти в систему, используя данные пользователя по умолчанию, которые вы установили на Step 1 . Затем вам будет предложено подтвердить вашу регистрацию, и код подтверждения будет отправлен по электронной почте на указанный вами адрес.
По умолчанию это электронное письмо отправляется непосредственно с вашего сервера, что может создать проблемы из-за различных мер по предотвращению спама. Если вы не получили письмо, проверьте папку «Спам». Если его там нет, возможно, вам придется настроить более подходящие данные SMTP в файле plausible-conf.env
. Подробную информацию о настройке почты см. в официальной документации по самостоятельному хостингу Plausible.
После успешного входа в систему вы увидите приглашение настроить свой первый веб-сайт с помощью Plausible:
Вы успешно установили и защитили свое аналитическое программное обеспечение Plausible.
В этом руководстве вы запустили приложение Plausible Analytics и связанные с ним вспомогательные контейнеры с помощью Docker Compose, затем настроили обратный прокси-сервер Nginx и защитили его с помощью SSL-сертификатов Let's Encrypt.
Теперь вы готовы настроить свой веб-сайт и добавить скрипт отслеживания Plausible Analytics. Дополнительную информацию об использовании программного обеспечения и настройке вашего сайта см. в официальной документации Plausible Analytics.