Ինչպե՞ս տեղադրել Fathom գաղտնիության վրա հիմնված վեբ վերլուծություն Debian 12-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Debian 12 (Գիրքորդ)
  • Debian 11 (Bullseye)

Այս էջում

  1. Նախադրյալներ
  2. Կախվածությունների տեղադրում
  3. Firewall-ի կարգավորում
  4. PostgreSQL տվյալների բազայի և օգտագործողի ստեղծում
  5. Fathom Երկուական ֆայլի ներբեռնում
  6. Fathom-ի կարգավորում

    1. Ինտեգրում PostgreSQL-ի հետ որպես տվյալների բազա
    2. Գործարկվում է Fathom-ը հետին պլանում՝ որպես Systemd Service
    3. Fathom ադմինիստրատորի օգտվողի ավելացում
  7. Nginx-ի կազմաձևումը որպես հակադարձ վստահված անձ
  8. Մուտք գործելով Ֆաթհոմ
  9. Եզրակացություն

Fathom-ը գաղտնիության վրա հիմնված վեբ վերլուծություն է, որը տրամադրում է մաքուր և հակիրճ տվյալներ ձեր կայքերի մասին: Դա վեբկայքերի վերլուծության պարզ ծրագիր է, որն ապահովում է խորաթափանց հաշվետվություններ և չափումներ ձեր կայքերի վերաբերյալ: Fathom-ը ստեղծվել է որպես Google Analytics-ի այլընտրանք, սակայն այն չի ներխուժում օգտատերերի գաղտնիությունը և չի վտանգի այցելուների տվյալները: Այն համապատասխանում է GDPR-ին և չի պահանջվում թխուկների պաստառներ:

Fathom-ը հասանելի է երկու տարբերակով՝ բաց կոդով տարբերակը, որը կարող է տեղադրվել ձեր սերվերում, և պրո տարբերակը, որը կարող եք ձեռք բերել պաշտոնական Fathom կայքից: Fathom-ի վեբկայքի վերլուծության ուշագրավ օգտվողներն են IBM, Laravel, GitHub, Hoshicord, BOSCH, McLaren, VueJS և շատ ավելին:

Այս ուղեցույցում մենք քայլ առ քայլ կանդրադառնանք Fathom Privacy Focused Web Analytics-ի տեղադրմանը Debian 12 սերվերում: Մենք կվերջացնենք Fathom-ի տեղադրումը PostgreSQL-ով որպես տվյալների բազա և Nginx-ով որպես հակադարձ վստահված անձի: Ավելին, մենք նաև կապահովենք Fathom-ը Letsencrypt-ից SSL/TLS վկայագրերով:

Նախադրյալներ

Շարունակելուց առաջ համոզվեք, որ ունեք հետևյալը.

  • Debian 12 սերվեր:
  • Ոչ արմատական օգտվող, ադմինիստրատորի արտոնություններով:
  • Դոմեյն անուն, որը մատնանշված է սերվերի IP հասցեին:

Կախվածությունների տեղադրում

Fathom-ը գաղտնիության վրա հիմնված վեբ վերլուծություն է, որը կառուցված է Golang-ի և Preact-ի վրա: Այն աջակցում է տվյալների բազաներին, ինչպիսիք են PostgreSQL, MySQL և SQLite, և կարող է գործարկվել Nginx հակադարձ վստահված անձի միջոցով: Այժմ դուք կտեղադրեք փաթեթային կախվածություններ Fathom-ի համար, ինչպիսիք են PostgreSQL, Nginx, Certbot և UFW (Uncomplicated Firewall):

Նախ, կատարեք ստորև նշված apt հրամանը՝ ձեր Debian պահեստը թարմացնելու համար:

sudo apt update

Այժմ տեղադրեք կախվածությունները՝ կատարելով հետևյալ հրամանը. Դրանով դուք կտեղադրեք PostgreSQL սերվերը, Nginx վեբ սերվերը, Certbot-ը, Nginx Certbot հավելվածը և UFW (Uncomplicated Firewall):

sudo apt install postgresql nginx certbot python3-certbot-nginx ufw

Տեղադրումը շարունակելու համար մուտքագրեք y:

Կախվածությունները տեղադրվելուց հետո դուք կապահովեք, որ յուրաքանչյուր կախվածություն հասանելի է ձեր համակարգում:

Ստուգեք postgresql ծառայությունը, օգտագործելով ստորև նշված հրամանը, համոզվելու համար, որ ծառայությունը աշխատում է և միացված է:

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Հետևյալ արդյունքը կցուցադրվի ձեր տերմինալում, որը ցույց է տալիս, որ postgresql-ն աշխատում է և միացված է:

Հաջորդը, ստուգեք nginx ծառայությունը՝ կատարելով հետևյալ հրամանը.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Նմանատիպ ելք կտպվի ձեր տերմինալի վրա, որը ցույց է տալիս, որ nginx ծառայությունն աշխատում է և միացված է:

Վերջապես, ստուգեք certbot-ը՝ կատարելով հետևյալ հրամանը. Սա կգտնի certbot-ի երկուական գործարկվող ֆայլը և կստուգի ձեր համակարգում տեղադրված certbot-ի ընթացիկ տարբերակը:

which certbot
certbot --version

Ցուցադրվող ելքը ձեզ ցույց կտա, որ Certbot 2.1 տեղադրված է /usr/bin/certbot հասցեում:

Firewall-ի կարգավորում

Կախվածությունները տեղադրելուց հետո դուք կկարգավորեք UFW-ն՝ ձեր Debian մեքենան ապահովելու համար: Դուք կբացեք SSH, HTTP և HTTPS պորտեր ձեր համակարգում:

SSH, HTTP և HTTPS արձանագրությունների համար պորտերը բացելու համար կատարեք հետևյալ հրամանը: OpenSSH պրոֆիլը կբացի պորտը 22/tcp, իսկ WWW Full պրոֆիլը կբացի և՛ HTTP, և՛ HTTPS՝ 80 և 443 պորտերը:

sudo ufw allow OpenSSH
sudo ufw allow "WWW Full"

Այժմ գործարկեք ստորև նշված հրամանը՝ ձեր Debian համակարգում UFW-ն սկսելու և միացնելու համար:

sudo ufw enable

Մուտքագրեք y՝ հաստատումները շարունակելու համար: Հաջողության դեպքում դուք պետք է ստանաք հաղորդագրություն «Firewall-ը ակտիվ է և միացված է համակարգի գործարկման ժամանակ»:

Վերջապես, ստուգեք UFW-ի կարգավիճակը՝ օգտագործելով ստորև նշված հրամանը:

sudo ufw status

Ակտիվ ելքը ցույց է տալիս, որ UFW-ն աշխատում է և միացված է, դուք նաև պետք է տեսնեք OpenSSH և WWW Full պրոֆիլները, որոնք ավելացված են UFW-ին:

PostgreSQL տվյալների բազայի և օգտագործողի ստեղծում

Հետևյալ քայլում դուք կստեղծեք նոր PostgreSQL տվյալների բազա և օգտվող, որը կօգտագործի Fathom-ը: Դա անելու համար դուք պետք է մուտք գործեք PostgreSQL սերվեր psql հրամանի տողի միջոցով:

PostgreSQL սերվեր մուտք գործելու համար կատարեք հետևյալ հրամանը.

sudo -u postgres psql

Ստեղծեք նոր տվյալների բազա fathomdb և օգտվողի fathom՝ օգտագործելով հետևյալ PostgreSQL հարցումները: համոզվեք, որ փոխեք գաղտնաբառը հետևյալ հարցման մեջ.

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

Այժմ կատարեք հետևյալ հարցումները PostgreSQL սերվերում առկա տվյալների բազաների և օգտագործողների ցանկը ստուգելու համար:

\du
\l

Եթե տվյալների բազան և օգտագործողը ստեղծվեն, կներկայացվի հետևյալ արդյունքը.

PostgreSQL սերվերից դուրս գալու համար մուտքագրեք quit:

Տվյալների բազան և օգտատերը ստեղծելուց հետո կատարեք հետևյալ հրամանը՝ PostgreSQL մուտք գործելու համար օգտագործողի fathom-ով և տվյալների բազայի fathomdb-ով: Մուտքագրեք ձեր տվյալների բազայի օգտատիրոջ գաղտնաբառը, երբ ձեզ հուշեն:

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

PostgreSQL սերվերին միանալուց հետո կատարեք հետևյալ հարցումը՝ ձեր կապը հաստատելու համար:

\conninfo

Հրամանը կատարելուց հետո կցուցադրվի հետևյալ ելքը, որը ցույց է տալիս, որ դուք միացված եք տվյալների բազային fathomdb fathom օգտագործողի հետ:

Կրկին մուտքագրեք quit՝ PostgreSQL սերվերից դուրս գալու համար:

Fathom Երկուական ֆայլի ներբեռնում

Fathom-ը գրված է Golang-ում և Preact-ում, և այն հասանելի է որպես մեկ երկուական ֆայլ, որը կարող եք հեշտությամբ ներբեռնել և տեղադրել ձեր համակարգում:

Այցելեք Fathom GitHub էջը և վերցրեք ներբեռնման URL-ը Fathom երկուական փաթեթի համար: Այնուհետև ներբեռնեք այն ստորև բերված wget հրամանի միջոցով: Այս օրինակում դուք կներբեռնեք Fathom 1.3.1.

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-ի ինտեգրում PostgreSQL տվյալների բազայի հետ:
  • Գործարկվում է Fathom-ը հետին պլանում՝ որպես համակարգված ծառայություն:
  • Ադմինիստրատորի օգտվողի ավելացում ձեր Fathom տեղադրման համար:

Ինտեգրում PostgreSQL-ի հետ որպես տվյալների բազա

Fathom-ն աջակցում է բազմաթիվ տվյալների բազաներ, ինչպիսիք են SQLite (կանխադրված), MySQL և MariaDB: Այս բաժնում դուք կստեղծեք Fathom-ի տեղադրման գրացուցակը և ինտեգրեք Fathom-ը PostgreSQL տվյալների բազայի սերվերի հետ:

Կատարեք հետևյալ հրամանը՝ ստեղծելու նոր համակարգի օգտագործողի fathom, որը կօգտագործվի ձեր Fathom-ի տեղադրումը գործարկելու համար:

sudo useradd -r -d /opt/fathom fathom

Այժմ ստեղծեք նոր տնային գրացուցակ /opt/fathom և փոխեք սեփականության իրավունքը օգտվողի fathom: /opt/fathom գրացուցակը կօգտագործվի Fathom-ի տեղադրման տվյալները պահելու համար:

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

Դրանից հետո գործարկեք ստորև նշված հրամանը՝ Fathom-ի համար պատահական գաղտնիք ստեղծելու համար: Համոզվեք, որ պատճենեք ելքը, քանի որ այն ձեզ անհրաժեշտ կլինի հասկանալիությունը ապահովելու համար:

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

Հաջորդը, անցեք /opt/fathom գրացուցակ:

cd /opt/fathom

Այնուհետև ստեղծեք նոր /opt/fathom/data գրացուցակ և նոր ֆայլ /opt/fathom/data/.env՝ օգտագործելով հետևյալ հրամանը:

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

Տեղադրեք հետևյալ կոնֆիգուրացիան և համոզվեք, որ փոխեք PostgreSQL տվյալների բազայի անվան, օգտագործողի և գաղտնաբառի մանրամասները:

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="BWTtur9A1qWtXG6656q4"

Ավարտելուց հետո պահպանեք և դուրս եկեք ֆայլից:

Ի վերջո, գործարկեք հետևյալ հրամանը՝ համոզվելու, որ ձեր Fathom կազմաձևումը հաջողված է:

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

Հրամանը կատարելուց հետո Fathom-ը պետք է աշխատի localhost-ի վրա՝ լռելյայն 8080 պորտով, և ձեր տերմինալում կտպվի հետևյալ ելքը.

Սեղմեք Ctrl+c գործընթացը դադարեցնելու համար:

Գործարկվում է Fathom-ը հետին պլանում՝ որպես Systemd Service

Հաջորդ բաժնում դուք կստեղծեք նոր systemd ծառայության ֆայլ, որը կօգտագործվի ֆոնային ռեժիմում գործարկելու համար: Դրանով դուք կարող եք հեշտությամբ կառավարել Fathom-ը systemctl կոմունալ ծրագրի միջոցով:

Ստեղծեք նոր systemd ծառայության ֆայլ /etc/systemd/system/fathom.service՝ օգտագործելով հետևյալ նանո խմբագրիչի հրամանը:

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

Տեղադրեք հետևյալ կոնֆիգուրացիան ֆայլի մեջ.

[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

Պահպանեք և փակեք ֆայլը, երբ ավարտեք:

Հաջորդը, գործարկեք հետևյալ systemctl հրամանը՝ systemd կառավարիչը վերաբեռնելու և ձեր կատարած փոփոխությունները կիրառելու համար:

sudo systemctl daemon-reload

Երբ systemd management-ը վերաբեռնվի, գործարկեք ներքևում գտնվող systemctl հրամանը՝ fathom ծառայությունը սկսելու և միացնելու համար: Սա կգործարկի Fathom-ը ֆոնային պլանում՝ localhost-ում, լռելյայն 8080 պորտով:

sudo systemctl start fathom
sudo systemctl enable fathom

Ստուգեք fathom ծառայությունը՝ օգտագործելով ստորև նշված հրամանը՝ համոզվելու, որ ծառայությունը գործարկված է և միացված:

sudo systemctl is-enabled fathom
sudo systemctl status fathom

Հետևյալ ելքը կներկայացվի, եթե fathom-ը գործարկվի և միացված լինի:

Fathom ադմինիստրատորի օգտվողի ավելացում

Այժմ, երբ Fathom-ը աշխատում է հետին պլանում՝ որպես ծառայություն, հաջորդ բաժինը ձեր Fathom-ի տեղադրման համար ադմինիստրատորի օգտատեր ստեղծելն է: Դա կարելի է անել fathom հրամանի տողի միջոցով:

Fathom օգտվող ստեղծելու համար կարող եք գործարկել fathom հրամանի տողը fathom տվյալների գրացուցակից:

Տեղափոխեք ձեր ընթացիկ աշխատանքային գրացուցակը /opt/fathom/data:

cd /opt/fathom/data

Կատարեք հետևյալ հրամանը՝ ձեր Fathom-ի տեղադրման համար ադմինիստրատորի օգտատեր ստեղծելու համար: Համոզվեք, որ փոխեք էլփոստի հասցեն և գաղտնաբառը հետևյալ հրամանով.

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

Հրամանը կօգտագործի .env ֆայլը PostgreSQL սերվերին միանալու համար: Օգտագործողը ստեղծվելուց հետո դուք պետք է ստանաք հաստատում հետևյալ կերպ.

Nginx-ի կազմաձևումը որպես հակադարձ վստահված անձ

Այս պահին դուք ավարտել եք Fathom-ի կազմաձևումը: Հաջորդ քայլում դուք կկարգավորեք Nginx-ը որպես հակադարձ վստահված անձ ձեր Fathom-ի տեղադրման համար: Նախքան հետագա գնալը, համոզվեք, որ ունեք տիրույթի անուն, որը մատնանշված է սերվերի IP հասցեին:

Ստեղծեք նոր Nginx սերվերի բլոկի կոնֆիգուրացիա /etc/nginx/sites-available/fathom՝ օգտագործելով ստորև բերված nan editor հրամանը:

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

Տեղադրեք հետևյալ կոնֆիգուրացիան և համոզվեք, որ փոխեք տիրույթի անունը server_name տարբերակում:

server {
    listen 80;
    server_name analytics.howtoforge.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

Եթե ունեք ճիշտ շարահյուսություն, «շարահյուսությունը լավ է. փորձարկումը հաջող է» ելքը պետք է տպվի ձեր տերմինալում:

Հաջորդը, գործարկեք հետևյալ հրամանը՝ Nginx ծառայությունը վերագործարկելու և ձեր կատարած փոփոխությունները կիրառելու համար: Հրամանը կատարելուց հետո ձեր Fathom տեղադրումը պետք է հասանելի լինի ձեր տիրույթի անունից:

sudo systemctl restart nginx

Ի վերջո, գործարկեք հետևյալ certbot հրամանը, որպեսզի ապահովի Fathom-ի տեղադրումը Letsencrypt-ից SSL/TLS վկայագրերով: Համոզվեք, որ փոխեք տիրույթի անունը և էլփոստի հասցեի տվյալները ձեր տեղեկություններով:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d analytics.howtoforge.local

Գործընթացն ավարտվելուց հետո ձեր SSL/TLS վկայականները հասանելի կլինեն /etc/letsencrypt/live/domain.com գրացուցակում: Նաև Nginx սերվերի բլոկի ֆայլը /etc/nginx/sites-available/fathom կարգավորվում է HTTPS-ով ավտոմատ կերպով Certbot Nginx հավելվածի միջոցով:

Մուտք գործելով Ֆաթհոմ

Գործարկեք ձեր նախընտրած վեբ զննարկիչը և այցելեք ձեր Fathom տեղադրման տիրույթի անունը, օրինակ՝ http://analytics.howtoforge.local/: Դուք պետք է ավտոմատ կերպով վերահղվեք դեպի HTTPS միացում, և դուք պետք է ստանաք Fathom մուտքի էջը:

Մուտքագրեք ձեր ադմինիստրատորի էլփոստի հասցեն և գաղտնաբառը, այնուհետև սեղմեք Մուտք գործել:

Սեղմեք Ստեղծել կայք՝ առաջին հետագծող սարք ստեղծելու համար:

Դուք պետք է տեսնեք Fathom-ի կողմից ստեղծված հետագծային կոդը:

Ստորև ներկայացված է Fathom կայքի վերլուծությունը:

Այստեղից կարող եք ավելացնել և սահմանել նոր հետքեր ձեր կայքերի համար:

Եզրակացություն

Եզրափակելով, դուք ավարտել եք Fathom-ի գաղտնիության վրա հիմնված վեբ վերլուծության տեղադրումը Debian 12 սերվերի վրա PostgreSQL տվյալների բազայի սերվերով և Nginx-ով որպես հակադարձ պրոքսի: Դուք նաև ապահովել եք ձեր տեղադրումը Letsencrypt-ից SSl/TLS վկայագրերով և կազմաձևել եք UFW (Uncomplicated Firewalld-ը ձեր Debian սերվերի վրա: Կարող եք ավելացնել նոր որոնիչ և այն իրականացնել ձեր կայքերում: