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 автоматически запустится и будет включена. Выполните следующую команду systemctl, чтобы убедиться, что PostgreSQL запущен.
sudo systemctl is-enabled postgresql sudo systemctl status postgresql
В приведенном ниже выводе видно, что служба postgresql включена и автоматически запускается при старте. А статус службы postgresql – запущена.
Создание базы данных и пользователя 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.
Выполните приведенную ниже команду, чтобы сгенерировать случайный секретный пароль. Скопируйте сгенерированный секрет в заметку.
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"
После завершения работы сохраните и выйдите из файла.
Теперь перейдите к /opt/fathom/data каталог и запустите Fathom с помощью следующей команды.
cd /opt/fathom/data sudo -u fathom fathom server
Это приведет к инициализации и миграции базы данных Fathom. В случае успеха вы должны получить подтверждение того, что Fathom запущен на порту по умолчанию 8080. Теперь вы можете нажать Ctrl+c чтобы завершить процесс 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 через открытые порты. Fathom работает на порту по умолчанию 8080 на вашей машине Ubuntu.
ss -tulpn | grep 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
После завершения установки создайте новую конфигурацию серверного блока /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 активен (запущен) и включен на вашем сервере Ubuntu.
sudo systemctl is-enabled nginx sudo systemctl status nginx
Защита Fathom с помощью UFW
После настройки Nginx давайте настроим UFW и откроем порты HTTP и HTTPS, чтобы разрешить доступ к установке Fathom.
Выполните следующую команду, чтобы добавить порт OpenSSH профиль приложения в UFW. Затем запустите и включите UFW.
sudo ufw allow OpenSSH sudo ufw enable
Введите y, чтобы продолжить, и UFW будет запускаться и работать автоматически при загрузке.
Теперь выполните приведенную ниже команду, чтобы добавить профиль приложения ‘Nginx Full‘. Это откроет протоколы HTTP и HTTPS в вашей системе Ubuntu.
sudo ufw allow 'Nginx Full'
Проверьте список портов на UFW с помощью команды ниже. убедитесь, что OpenSSH и ‘Nginx Full‘ профили включены на UFW.
sudo ufw status
Включите 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
После завершения установки сгенерируйте новые сертификаты 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.