Ինչպե՞ս տեղադրել Fathom գաղտնիության վրա հիմնված վեբ վերլուծություն Debian 12-ում
Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար
- Debian 12 (Գիրքորդ)
- Debian 11 (Bullseye)
Այս էջում
- Նախադրյալներ
- Կախվածությունների տեղադրում
- Firewall-ի կարգավորում
- PostgreSQL տվյալների բազայի և օգտագործողի ստեղծում
- Fathom Երկուական ֆայլի ներբեռնում
Fathom-ի կարգավորում
- Ինտեգրում PostgreSQL-ի հետ որպես տվյալների բազա
- Գործարկվում է Fathom-ը հետին պլանում՝ որպես Systemd Service
- Fathom ադմինիստրատորի օգտվողի ավելացում
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 սերվերի վրա: Կարող եք ավելացնել նոր որոնիչ և այն իրականացնել ձեր կայքերում: