Как установить GoatCounter на Ubuntu 24.04

Дата публикации: 2024-11-13T12:57:14

Теги: ["GoatCounter", "ubuntu"]

⏪ На главную
⏪ В Gemlog

GoatCounter - это платформа веб-аналитики с открытым исходным кодом, доступная в качестве размещенного сервиса (бесплатно для некоммерческого использования) или самостоятельного приложения. Он призван предложить простую в использовании и содержательную веб-аналитику, удобную для конфиденциальности, в качестве альтернативы Google Analytics или Matomo.

Предпосылки

Шаг 1. Обновите систему

Свежая установка Ubuntu 24.04 требует обновления пакетов до последних доступных версий.

sudo apt-get update -y && sudo apt-get upgrade -y

Шаг 2. Установите PostgreSQL

Установите пакет Postgres вместе с пакетом contrib, который добавляет некоторые дополнительные утилиты и функции.

sudo apt install postgresql postgresql-contrib

После установки запустите и включите службу PostgreSQL.

sudo systemctl enable postgresql.service && sudo systemctl start postgresql.service

Шаг 3. Создайте базу данных

Нам нужно создать базу данных для GoatCounter.

sudo -u postgres psql -c "CREATE USER goatcounter WITH PASSWORD 'YourStrongPasswordHere';"
sudo -u postgres psql -c "CREATE DATABASE goatcounter_db OWNER goatcounter;"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE goatcounter_db TO goatcounter;"

Обязательно обновите «YourStrongPasswordHere», указав более безопасный пароль.

Шаг 4. Установите GoatCounter

Загрузите последний бинарный файл со страницы релизов на [GitHub](https://github.com/arp242/goatcounter/releases).

Мы установим GoatCounter в `/usr/local/bin/`, измените путь, где это необходимо, если вы хотите установить его в другом месте.

curl -L https://github.com/arp242/goatcounter/releases/download/v2.5.0/goatcounter-v2.5.0-linux-amd64.gz -o goatcounter.gz
gunzip goatcounter.gz
chmod +x goatcounter
sudo mv goatcounter /usr/local/bin/goatcounter
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/goatcounter

Убедитесь, что возможность добавлена:

getcap /usr/local/bin/goatcounter
/usr/local/bin/goatcounter = cap_net_bind_service+ep

Обратите внимание, что вам придется сделать эту операцию каждый раз, когда вы обновляете GoatCounter.

Шаг 5. Создайте пользователя для запуска

sudo adduser \
  --system \
  --shell '/usr/sbin/nologin' \
  --no-create-home \
  --gecos 'GoatCounter Web Analytics' \
  --group \
  --disabled-password \
  goatcounter

Чтобы завершить установку, запустите миграции SQL и создайте администратора пользователя.

goatcounter db create site -vhost=stats.examlpe.com -user.email=me@examlpe.com -db postgresql+postgres://goatcounter:YourStrongPasswordHere@127.0.0.1:5432/goatcounter_db -createdb

Шаг 6. Настройте службу systemd для запуска GoatCounter

Используйте nano, чтобы создать новый файл сервиса.

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

И добавьте следующее содержимое в `goatcounter.service`.

[Unit]
Description=GoatCounter Web Analytics
Requires=network.target
After=network.target
After=postgresql.service

[Service]
Type=simple
User=goatcounter
Group=goatcounter
# ExecStart for reverse proxy setup
ExecStart=/usr/local/bin/goatcounter serve -automigrate -listen 127.0.0.1:7005 -tls none -db postgresql+postgres://goatcounter:YourStrongPasswordHere@127.0.0.1:5432/goatcounter_db sslmode=disable
TimeoutStopSec=5
Restart=always

[Install]
WantedBy=multi-user.target

Включите и запустите GoatCounter при загрузке.

sudo systemctl start goatcounter.service
sudo systemctl status goatcounter.service
sudo systemctl enable goatcounter.service

Шаг 7. Настройте Nginx в качестве обратного прокси

sudo apt-get -y install nginx

Создайте обратный конфигурацию прокси-сервера для GoatCounter.

sudo nano /etc/nginx/sites-available/goatcounter.conf

Заполните файл следующей конфигурацией.

server {
    server_name     stats.examlpe.com;
    listen          80;

    location / {
        proxy_pass http://127.0.0.1:7005;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Включите конфигурацию обратной прокси-сервера goatcounter Nginx.

sudo ln -s /etc/nginx/sites-available/goatcounter.conf /etc/nginx/sites-enabled/goatcounter.conf

Проверка конфигурации и перезагрузите службу Nginx.

sudo nginx -t
sudo systemctl restart nginx.service

Как только GoatCounter настроен и запущен, его довольно легко использовать.

Перейдите в браузер и получите доступ к http://stats.examlpe.com. Электронная почта и пароль были определены при настройке нового экземпляра.

Шаг 8. Обновите свой блог

Последним шагом является добавление на свой сайт только с одним тегом сценария. С этого момента доступ будет подсчитываться GoatCounter, и у вас будет доступ к статистике вашего блога.


Завершение

Собственно на этом все. Остается только у своего доменного регистратора прописать на используемый `stats.examlpe.com` требуемый ip-адрес, дождаться его делегирования.

В целом, GoatCounter мне очень понравился тем, что он очень легкий и быстрый - требуется один JavaScript добавляет всего ~2,5КБ, простой и эффективный UI.

Вы успешно установили GoatCounter на Ubuntu 24.04. Вы также можете поделиться статьей со своими друзьями в социальных сетях, которым может быть интересна эта статья или просто оставить комментарий ниже. Спасибо.