Как установить Fathom Privacy Focused Web Analytics на Ubuntu

Fathom – это программное обеспечение для веб-аналитики, ориентированное на конфиденциальность, соответствующее GDPR и не требующее баннеров с куками. Это альтернатива Google Analytics, но без вторжения в частную жизнь пользователей и без компрометации данных о посетителях.

В этой статье мы покажем вам, как установить программу Fathom Privacy Focused Web Analytics на сервер Ubuntu 22.04. Вы установите Fathom с PostgreSQL и Nginx в качестве обратного прокси.

Предварительные требования

Чтобы установить Fathom, убедитесь, что у вас есть следующее:

  • Сервер Ubuntu 22.04.
  • Пользователь, не являющийся root, с привилегиями root.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка PostgreSQL Server

Fathom – это веб-аналитика с открытым исходным кодом, которая использует PostgreSQL в качестве внутренней базы данных. Чтобы установить Fathom, необходимо установить PostgreSQL, а затем создать новую базу данных PostgreSQL и пользователя.

Сначала выполните следующую команду, чтобы обновить индекс пакетов Ubuntu.

sudo apt update

обновить репо

Затем выполните приведенную ниже команду, чтобы установить сервер баз данных PostgreSQL в систему Ubuntu.

sudo apt install postgresql

Вход Y для подтверждения процесса.

установить postgresql

После установки служба Postgresql автоматически запустится и будет включена. Выполните следующую команду systemctl, чтобы убедиться, что PostgreSQL запущен.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

В приведенном ниже выводе видно, что служба postgresql включена и автоматически запускается при старте. А статус службы postgresql – запущена.

проверить pstgresql

Создание базы данных и пользователя PostgreSQL

Установив PostgreSQL, давайте создадим новую базу данных и пользователя для установки Fathom.

Войдите в PostgreSQL как пользователь postgres по умолчанию, используя следующую команду.

sudo -u postgres psql

После входа в систему выполните следующие запросы для создания новой базы данных PostgreSQL и пользователя. В этом примере вы создадите базу данных fathomdb и пользователь fathom для вашей установки Fathom.

CREATE USER fathom WITH CREATEDB CREATEROLE PASSWORD 'password';
CREATE DATABASE fathomdb OWNER fathom;

создание пользователя базы данных

Теперь проверьте список доступных баз данных и пользователей с помощью запроса, приведенного ниже. Это позволит убедиться, что база данных и пользователь созданы.

\du
\l

В следующем выводе вы можете увидеть базу данных fathomdb и пользователь fathom будут созданы. Введите q или нажмите Ctrl+d, чтобы выйти из PostgreSQL.

проверка пользователя базы данных

Далее выполните следующую команду для подключения к базе данных PostgreSQL fathomdb через fathom пользователь. Введите пароль в ответ на запрос, затем нажмите ENTER для подтверждения.

sudo -u postgres psql -U fathom -h 127.0.0.1 -d fathomdb

После входа в систему проверьте подключение с помощью следующего запроса.

\conninfo

На следующем снимке экрана видно, что пользователь fathom подключен к базе данных PostgreSQL fathomdb. После этого приступайте к установке Fathom.

проверка авторизации пользователя

Установка Fathom на Ubuntu

Теперь, когда база данных PostgreSQL готова, начните установку Fathom, выполнив следующие действия:

  • Настройка пользователя и загрузка Fathom
  • Конфигурирование Fathom
  • Запуск Fathom в качестве службы Systemd

Без лишних слов, давайте начнем.

Настройка пользователя и загрузка Fathom

Прежде всего, вам нужно будет создать нового системного пользователя, который будет использоваться для запуска Fathom. Затем нужно загрузить бинарный пакет Fathom на машину Ubuntu.

Чтобы начать, выполните следующую команду для создания нового системного пользователя fathom.

sudo useradd -r -d /opt/fathom fathom

Создайте новый домашний каталог /opt/fathom и измените права собственности на пользователя и группу fathom.

sudo mkdir -p /opt/fathom
sudo chown -R fathom:fathom /opt/fathom

Затем загрузите бинарный пакет fathom с помощью команды wget, приведенной ниже.

wget https://github.com/usefathom/fathom/releases/download/v1.3.1/fathom_1.3.1_linux_amd64.tar.gz

создать пользователя

После загрузки распакуйте двоичный файл fathom в каталог /usr/local/bin и сделайте двоичный файл fathom исполняемым.

tar -C /usr/local/bin -xzf fathom_1.3.1_linux_amd64.tar.gz
chmod +x /usr/local/bin/fathom

Наконец, проверьте расположение и версию fathom, выполнив следующую команду.

which fathom
fathom --version

Fathom 1.3.1 установлен по адресу /usr/local/bin/fathom.

проверить версию fathom

Настройка Fathom

На данный момент вы скачали Fathom и создали необходимый каталог пользователя и установки. Теперь давайте приступим к настройке установки Fathom.

Выполните приведенную ниже команду, чтобы сгенерировать случайный секретный пароль. Скопируйте сгенерированный секрет в заметку.

head /dev/urandom | tr -dc A-Za-z0-9 | head -c 20 ; echo ''

Теперь перейдите в раздел /opt/fathom каталог.

cd /opt/fathom

Создайте новый данные каталог и .env файл с помощью приведенной ниже команды.

sudo -u fathom mkdir -p /opt/fathom/data
sudo -u fathom touch /opt/fathom/data/.env

С помощью следующей команды редактора nano откройте файл .env файл.

sudo -u fathom nano /opt/fathom/data/.env

Вставьте следующую конфигурацию и не забудьте изменить данные базы данных PostgreSQL и FATHOM_SECRET с вашей информацией.

FATHOM_GZIP=true
FATHOM_DEBUG=true
FATHOM_DATABASE_DRIVER="postgres"
FATHOM_DATABASE_NAME="fathomdb"
FATHOM_DATABASE_USER="fathom"
FATHOM_DATABASE_PASSWORD="password"
FATHOM_DATABASE_HOST="127.0.0.1"
FATHOM_DATABASE_SSLMODE="disable"
FATHOM_SECRET="qDQ4fawzKOfBAtJ3O4ID"

После завершения работы сохраните и выйдите из файла.

настроить fathom

Теперь перейдите к /opt/fathom/data каталог и запустите Fathom с помощью следующей команды.

cd /opt/fathom/data
sudo -u fathom fathom server

Это приведет к инициализации и миграции базы данных Fathom. В случае успеха вы должны получить подтверждение того, что Fathom запущен на порту по умолчанию 8080. Теперь вы можете нажать Ctrl+c чтобы завершить процесс Fathom.

тест fathom

Запуск Fathom в качестве службы Systemd

Теперь, когда вы настроили Fathom, успешно запустите его через командную строку. Для удобства управления запустим Fathom как службу systemd. Это позволит вам управлять Fathom через systemctl.

Выполните следующую команду редактора nano, чтобы создать новый файл службы systemd /etc/systemd/system/fathom.service.

sudo nano /etc/systemd/system/fathom.service

Вставьте в файл следующую конфигурацию. Как показано ниже, служба fathom будет запущена под пользователем `fathom` с рабочим каталогом по умолчанию /opt/fathom/data.

[Unit]
Description=Starts the fathom server
Requires=network.target
After=network.target

[Service]
Type=simple
User=fathom
Restart=always
RestartSec=3
WorkingDirectory=/opt/fathom/data
ExecStart=/usr/local/bin/fathom server

[Install]
WantedBy=multi-user.target

Сохраните и выйдите из редактора, когда закончите.

Теперь выполните приведенную ниже команду, чтобы перезагрузить менеджер systemd.

sudo systemctl daemon-reload

После перезагрузки запустите и включите службу fathom с помощью следующей команды. После этого Fathom будет работать в фоновом режиме и автоматически запускаться при загрузке.

sudo systemctl start fathom
sudo systemctl enable fathom

Выполните приведенную ниже команду, чтобы проверить работу службы fathom.

sudo systemctl status fathom

Если настройка прошла успешно, вы должны увидеть службу fathom со статусом running.

fathom systemd

Наконец, выполните приведенную ниже команду, чтобы проверить Fathom через открытые порты. Fathom работает на порту по умолчанию 8080 на вашей машине Ubuntu.

ss -tulpn | grep fathom

порт fathom

Создание пользователя Fathom

Теперь, когда Fathom запущен, вам нужно создать первого пользователя для вашей установки Fathom.

Перейдите в раздел /opt/fathom/data каталог.

cd /opt/fathom/data

Выполните приведенную ниже команду fathom, чтобы создать пользователя Fathom. В этом примере вы создадите нового пользователя bob с паролем пароль.

sudo -u fathom fathom user add --email="[email protected]" --password="password"

создать пользователя

Установка и настройка Nginx в качестве обратного прокси

В этом руководстве вы запустите Fathom с Nginx в качестве обратного прокси. Давайте установим Nginx и создадим новую конфигурацию серверного блока для Fathom.

Выполните следующую команду apt для установки Nginx на ваш сервер Ubuntu.

sudo apt install nginx -y

установить nginx

После завершения установки создайте новую конфигурацию серверного блока /etc/nginx/sites-available/fathom с помощью редактора nano.

sudo nano /etc/nginx/sites-available/fathom

Вставьте следующую конфигурацию и не забудьте изменить доменное имя в поле имя_сервера линия.

server {
listen 80;
server_name fathom.local;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
}

Сохраните и выйдите из файла, когда закончите.

Теперь выполните приведенную ниже команду, чтобы активировать конфигурацию серверного блока /etc/nginx/sites-available/fathom и проверьте общий синтаксис вашего Nginx.

sudo ln -s /etc/nginx/sites-available/fathom /etc/nginx/sites-enabled/
sudo nginx -t

Если ошибок нет, вы должны получить вывод ‘синтаксис в порядке – тест пройден успешно’.

Теперь выполните приведенную ниже команду systemctl, чтобы перезапустить службу Nginx и применить изменения.

sudo systemctl restart nginx

обратный прокси-сервер nginx

Наконец, проверьте состояние службы Nginx с помощью команды ниже. Убедитесь, что Nginx активен (запущен) и включен на вашем сервере Ubuntu.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

проверить nginx

Защита Fathom с помощью UFW

После настройки Nginx давайте настроим UFW и откроем порты HTTP и HTTPS, чтобы разрешить доступ к установке Fathom.

Выполните следующую команду, чтобы добавить порт OpenSSH профиль приложения в UFW. Затем запустите и включите UFW.

sudo ufw allow OpenSSH
sudo ufw enable

Введите y, чтобы продолжить, и UFW будет запускаться и работать автоматически при загрузке.

включить ufw

Теперь выполните приведенную ниже команду, чтобы добавить профиль приложения ‘Nginx Full‘. Это откроет протоколы HTTP и HTTPS в вашей системе Ubuntu.

sudo ufw allow 'Nginx Full'

Проверьте список портов на UFW с помощью команды ниже. убедитесь, что OpenSSH и ‘Nginx Full‘ профили включены на UFW.

sudo ufw status

добавить проверку ufw

Включите HTTPS через Certbot

На этом этапе доступ к вашей установке Fathom осуществляется извне сети, но все еще в режиме HTTP. Чтобы защитить вашу установку, необходимо включить HTTPS в конфигурации блока сервера Nginx.

В этом примере вы включите HTTPS с помощью Certbot и Letsencrypt. Поэтому убедитесь, что ваше доменное имя указывает на IP-адрес сервера Ubuntu.

Выполните следующую команду apt для установки пакетов Certbot и python3-certbot-nginx на ваш Ubuntu. Введите y, чтобы продолжить.

sudo apt install certbot python3-certbot-nginx -y

установить certbot

После завершения установки сгенерируйте новые сертификаты SSL/TLS, выполнив приведенную ниже команду certbot. Не забудьте изменить данные доменного имени и адреса электронной почты на свои.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d fathom.local

После завершения процесса ваши SSL-сертификаты будут сгенерированы в каталоге /etc/letsencrypt/live/domain.com. Кроме того, в конфигурации блока вашего сервера Nginx будет автоматически настроен HTTPS, что делается плагином Nginx Certbot.

Доступ к установке Fathom

Запустите веб-браузер и зайдите на доменное имя вашей установки Fathom (т. е: https://fathom.local/). Если установка прошла успешно, вы получите страницу входа в систему Fathom.

Войдите в систему, используя созданные вами имя пользователя и пароль, затем нажмите кнопку Войти , чтобы подтвердить.

 

Сначала вам будет предложено создать свой первый трекер. Введите название вашего сайта и нажмите кнопку Создать сайт.

 

Теперь вы увидите сгенерированный код отслеживания JavaScript для вашего сайта. Скопируйте код в редактор кода и поместите его на целевой сайт.

 

Теперь вы можете нажать кнопку “Обновить сайт”, чтобы продолжить, и щелкнуть за пределами всплывающего окна, чтобы попасть на аналитическую панель Fathom, как показано ниже:

приборная панель

Заключение

Поздравляем! Теперь вы установили веб-аналитику Fathom на сервер Ubuntu. Вы установили Fathom с сервером базы данных PostgreSQL и настроили Nginx в качестве обратного прокси. Кроме того, вы защитили Fathom с помощью HTTPS через Letsencrypt и настроили UFW на открытие портов HTTP и HTTPS.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *