Անցնել պարունակությանը

Mastodon

Այս հոդվածում

Տեղեկատվություն

Mastodon-ը անկենտրոնացված սոցիալական հարթույթ է, որը անվճար է և բաց կոդով (open source): Ի տարբերություն կենտրոնացված պլատֆորմների (կամ հարթույթների), Mastodon-ը չի վերահսկվում որևէ մեկ կազմակերպության կողմից:

Mastodon. Հիմնական հնարավորություններ

  • Mastodon-ը թույլ է տալիս օգտվողներին ենթագրվել (subscribe) և հաղորդակցվել այլ օգտվողների հետ ցանկացած միացված սերվերից;
  • Հարթույթն առաջարկում է հրապարակային գրառումների լուծարաններ (feeds), որոնք օգնում են օգտվողներին հայտնաբերել հետաքրքիր բովանդակություն: Local feed-ը ցույց է տալիս ձեր սերվերի գրառումները, մինչդեռ federated feed-ը ցույց է տալիս ձեր սերվերին հայտնի ձեր սերվերի բոլոր ենթագրված օգտվողների հրապարակային գրառումները;
  • Օգտվողները կարող են փոխազդել գրառումների հետ անմիջապես feed-ում կամ գրառման ընդլայնված տեսքով՝ պատասխանելով (replying), կիսվելով (sharing), ավելացնելով նախընտրելներում (favorites), նախապահումներում պահպանելով (bookmarking) կամ օգտագործելով լրացուցիչ մենյու;
  • Mastodon-ը ուղարկում է ծանուցումներ ձեր պրոֆիլի և գրառումների հետ կապված տարբեր փոխազդման իրադարձությունների համար: Այս ծանուցումները կարող են զտվել ըստ տեսակի;
  • Օգտվողին ենթագրվելու համար պարզապես սեղմեք Follow կոճակը նրա պրոֆիլում: Դուք կարող եք նաև միացնել ծանուցումները ձեր ենթագրումներից (subscriptions) նոր գրառումների համար; Mastodon-ի որոնման ֆունկցիան թույլ է տալիս գտնել օգտվողներ, հեշթեգեր և գրառումներ՝ հղման միջոցով: Լրիվ տեքստային որոնման (full-text search) տեղակայված դեպքում կարող եք փնտրել ձեր սեփական գրառումները և նախընտրելիները.
  • Mastodon-ում մասնավոր գրառումները տեսանելի են միայն ենթագրվողներին (subscribers): Դրանք ցուցադրվում են առանձին երկխոսության սյունակում:
  • Ենթագրման ցանկերը կարող են օգտագործվել գրառումների լուծարանը բացառապłącznie դիտելու համար.

Տեղակայման հնարավորություններ

ID Ծրագրային ապահովման անվանում Համատեղելի ՕՀ VM BM VGPU GPU Նվազագույն CPU (միջուկներ) Նվազագույն RAM (ԳԲ) Նվազագույն HDD/SSD (ԳԲ) Սեփական դոմեն Ակտիվ
59 Mastodon Ubuntu 22.04 + + + + 2 2 - Ոչ ՊԱՏՎԻՐԵԼ

Այս ծրագրի տեղակայման հնարավորությունների մասին տեղեկությունների համար տեսեք այս հղումը

Նշում

Եթե այլ բան նախատեսված չէ, մենք տեղադրում ենք ծրագրի վերջին թողարկված տարբերակը՝ ծրագրավորողի կայքից կամ օպերացիոն համակարգի պահոցներներից (repositories):

Mastodon-ի տեղակայումից հետո սկսել գործունեությունը

Պատվերի համար վճարելուց հետո էլեկտրոնային փոստին կուղարկվի ծանուցում, որ սերվերը պատրաստ է աշխատանքի: Այն պարունակելու է VPS-ի IP հասցեն, ինչպես նաև մուտքի (login) և գաղտնաբառը (password) միացման համար: Մեր ընկերության հաճախորբները կառավարում են սերվերի սարքավորումները և API control panel-ը՝ Invapi միջոցով:

Դուք կարող եք գտնել նույնականացման տվյալները կամ սերվերի control panel-ի Configuration >> Tags պատուհանում, կամ էլեկտրոնային փոստին ուղարկված նամակում:

  • Հղում Mastodon dashboard-ին՝ web interface-ով: webpanel թեգի մեջ;
  • Login և Password սերվերին միանալու համար. ուղարկվում է ձեր էլեկտրոնային հասցեին, երբ սերվերը պատրաստ է software-ի տեղակայումից հետո:
  • Login և Password Mastodon web interface-ում նույնականացման համար սահմանվում են ձեռքով՝ հաշվի ստեղծման ժամանակ ռեժիմային կոնսոլի միջոցով:

Web interface-ին մուտք գործելու հղումը կլինի՝ https://mastodon{Server_ID_from_Invapi}.hostkey.in

Կարգավորման փոփոխություն

Հրամանի տողից Mastodon-ի configuration-ը փոփոխելու համար օգտագործեք tootctl և rails գործիքները.

  • Հաշվի կարգավորումներ, ստեղծում, փոփոխում, թույլտվությունների նշանակում և այլն;
  • SMTP սերվերի կարգավորումներ;
  • Օգտվողների գրանցման կարգավորումներ:

Տեղեկատվություն

Գործիքների օգտագործման մասին հավելյալ տեղեկությունների համար դիմեք ծրագրավորողի փաստաթղթերին:

Օգտագործման օրինակ

  1. Միացեք սերվերին SSH-ի միջոցով.
    ssh root@<server_ip>
    
  2. Մուտք գործեք Mastodon web application container-ի մեջ: Գտեք և միացեք mastodon_web_1 կոնտեյներին.

    docker exec -it mastodon_web_1 bash
    

  3. Նոր օգտվող ստեղծելու համար օգտագործեք tootctl accounts create հրամանը: Նշեք username-ը, email-ը և --confirmed դրոշակը՝ հաշվի հաստատման համար:

    RAILS_ENV=production bin/tootctl accounts create new_username --email [email protected] --confirmed
    
    Փոխարինեք new_username-ը ձեր ուզած username-ով, իսկ [email protected]-ը՝ օգտվողի իրական էլեկտրոնային հասցեով: Այս հրամանը կատարելուց հետո օգտվողը կստեղծվի: Համոզվեք, որ պահպանում եք էկրանին ցուցադրված գաղտնաբառը.

Administrator իրավունքների տրամադրում և օգտվողի հաստատում

Օգտվող ստեղծելուց հետո, դուք պետք է գտնեք նրան տվյալների բազայում՝ իրենց թույլտվությունները և կարգավիճակը փոփոխելու համար:

  1. Սկսեք Rails console-ը.
    RAILS_ENV=production bin/rails console
    
  2. Գտեք օգտվողին ըստ email-ի կամ username-ի.
    user = User.find_by(email: '[email protected]')  # կամ՝ User.find_by(username: 'new_username')
    
  3. Թարմացրեք նրանց կարգավիճակը.

    user.update(approved: true)
    
    Այս գործողությունը կհեռացնի Your application is pending review by our staff... ծանուցումը admin panel-ից:

  4. Նրանց նշանակեք ադմինիստրատորի դեր.

    user.update(role: UserRole.find_by(name: 'Admin'))
    

  5. Ստուգեք.
    user.reload
    
    user.role           # => "Admin"
    
    user.approved       # => true
    
  6. Դուրս եկեք console-ից.
    exit
    

Mail Server-ի կարգավորում

Եթե անհրաժեշտ է կարգավորել կամ փոփոխել mail server-ը, գործարկեք՝

  1. Բացեք configuration ֆայլը.

    nano /opt/mastodon/.env.production
    
    2. Կարգավորեք SMTP պարամետրերը (օրինակ՝ MailHog-ի համար).

    # Sending mail
    # ------------
    SMTP_SERVER=mailhog
    SMTP_PORT=1025
    SMTP_LOGIN=
    SMTP_PASSWORD=
    SMTP_FROM_ADDRESS=notifications@your_domain
    SMTP_AUTH_METHOD=none
    SMTP_OPENSSL_VERIFY_MODE=none
    SMTP_ENABLE_STARTTLS=false
    
    3. Վերաշարեք Mastodon կոնտեյներները. Նոր կարգավորումները կիրառելու համար վերաշարեք Mastodon կոնտեյներները.

    cd /opt/mastodon
    
    docker-compose restart
    
    4. Ստուգեք էլեկտրոնային փոստի ֆունկցիոնալությունը. - MailHog-ի համար: բացեք web interface-ը http://your_server:8025 հասցեով: - Ստուգեք logs-երը:
    docker-compose -f /opt/mastodon/docker-compose.yml logs sidekiq | grep -i mail
    
    - Փորձարկեք: գրանցեք նոր օգտվող և ստուգեք էլեկտրոնային փոստի հասցեում:

Նշումներ

Docker կոնտեյներների ստուգում: Եթե վստահ չես, թե որ կոնտեյներներն են աշխատում, գործարկիր՝

 docker ps
Համոզվեք, որ Mastodon կոնտեյներները (mastodon_web_1, mastodon_db_1 և այլն) աշխատում են:

Տեղեկատվություն

Իմացեք ավելին կարգավորման վերաբերյալ ծրագրավորողի փաստաթղթերում.

Տեղեկատվություն

Իմացեք ավելին setup.sh-ի հետ աշխատանքի մասին ծրագրավորողի փաստաթղթերում.

Mastodon Server-ի Domain անունը փոփոխելը

Տեղեկատվություն

Այս ուցեցույցում որպես օրինակ օգտագործվում է skaz.online դոմեյնը: Սկզբնական շրջանում Mastodon-ը կարգավորված է այնպիսի դոմեյնով, ինչպիսին է mastodon<server_ID>.hostkey.in: Փոփոխեք skaz.online-ը ձեր իրական դոմեյնով բոլոր configuration օրինակներում:

Հիմնական ֆայլերը և թղթապանակները

File/Directory Ի՞նչ է փոփոխվում
/opt/mastodon/.env.production Սթատիկ փոփոխականներ (environment variables) և դոմեյներ
/data/nginx/user_conf.d/*.conf Nginx-ի կարգավորում նոր դոմեյնի համար
/etc/letsencrypt/live/ SSL սերտիֆիկատներ (եթե օգտագuseվում է certbot)
Docker Compose ֆայլեր Domain docker-compose.yml-ում կամ variables-ում
SMTP Configuration Թարմացնել դոմեյնին առնչվող հասցեները

Դոմեյն անունը փոփոխելու համար հետևեք այս քայլերին.

  1. Գրանցեք ձեր սեփական դոմեյնը, օրինակ՝ mastodon.mydomain.com:

  2. Կարգավորեք DNS գրառումները այս դոմեյնի համար.

    • Սահմանեք A-record, որը հղվում է Mastodon սերվերի IP հասցեին;
    • Կարգավորեք MX record, որը հղվում է mail server-ին.
  3. Ավելացրեք PTR գրառում IP հասցեի կարգավորումներում [Invapi]-ում; !!! info "Տեղեկատվություն" Իմացեք ավելին PTR գրառումների կարգավորման մասին Invapi-ում այստեղ.

  4. Թարմացրեք Mastodon Environment Variables-ները. Խմբագրեք /opt/mastodonn/.env.production ֆայլը՝ փոփոխելով ընթացիկ արժեքը (օրինակ՝ mastodon<server_ID>.hostkey.in) ձեր նոր դոմեյնով.

    # Previous:
    # LOCAL_DOMAIN=mastodon<server_ID>.hostkey.in
    
    # Updated:
    LOCAL_DOMAIN=skaz.online
    WEB_DOMAIN=skaz.online
    
    5. Կարգավորեք Nginx-ը HTTPS աջակցությամբ

    5.1 Ստեղծեք Nginx Configuration Կարևոր է: Ստեղծեք նոր configuration ֆայլ՝ փոփոխելով հինը: Հին configuration-ները կարող են պարունակել տարբեր proxy_pass դիրեկտիվներ, ինչը կհանգեցնի անսարքության: Ստեղծեք Nginx configuration ֆայլ /data/nginx/user_conf.d/skaz.online.conf հետևյալ պարունակությամբ.

    server {
        listen 80;
        server_name skaz.online;
        return 301 https://$host$request_uri;
    }
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name skaz.online;
    
        # SSL certificates
        ssl_certificate         /etc/letsencrypt/live/skaz.online/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/skaz.online/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/skaz.online/chain.pem;
        ssl_dhparam /etc/letsencrypt/dhparams/dhparam.pem;
    
        # Main Mastodon application (port 3000)
        location / {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:3000;
            real_ip_header X-Forwarded-For;
            # WebSocket support
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
    
        # Mastodon Streaming API (port 4000)
        location ^~ /api/v1/streaming {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:4000;
            real_ip_header X-Forwarded-For;
            # WebSocket support
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
    }
    
    5.2 Ստացեք SSL Certificate Ստուգեք սերտիֆիկատի առկայությունը.
    docker exec -it mastodon-nginx-1 ls /etc/letsencrypt/live/
    
    Եթե սերտիֆիկատը բացակայում է, ստացեք այն.
    docker compose stop nginx
    
    docker compose run --rm nginx certbot certonly --standalone -d skaz.online
    
    docker compose start nginx
    

  5. Մաքրել հակասող (conflicting) configuration-ները

Կարևոր է! Հեռացրեք Nginx-ի հին configuration-ները, քանի որ բազմաթիվ .conf ֆայլերը կարող են հանգեցնել կոնֆլիկտների. Ջնջեք հին configuration-ը (օրինակ՝ mastodon<server_ID>.hostkey.in-ի համար)

bash rm /data/nginx/user_conf.d/mastodon<server_ID>*.conf Կամ Վերանվրել պահեստային (backup) տարբերակով.

bash mv /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf.backup

Հակասությունների պատճառները.

  • Կրկնվող listen 443 ssl դիրեկտիվները առաջացնում են duplicate listen options սխալը:
  • Հին configuration-ները կարող են ունենալ տարբեր proxy_pass հասցեներ կամ պորտեր:
  • Nginx-ը կարող է սխալ մեկնաբանել հարցումները՝ օգտագործելով բազմաթիվ server block-ներ:

  • Վերաշարեք ծառայությունները (Restart Services) docker-compose.yml-ը պարունակող թղթապանակում գործարկեք՝

    docker compose down
    
    docker compose up -d
    

  • Ստուգեք ֆունկցիոնալությունը Փորձարկում command line-ից

    curl -Ik https://skaz.online
    
    Ակնկալվող պատասփանHTTP/1.1 200 OK: Ստուգեք browser-ում Բացեք դոմեյնը browser-ում — Mastodon-ի գլխավոր էջը պետք է բեռնվի:

Վարչական վահանակի սկզբնական կարգավորումներ

Administrator panel մուտք գործելու համար հետևեք webpanel թեգի հղմանը, սեղմեք Log In կոճակին և մուտքագրեք նախապես սահմանված տվյալները:

Սերվերի կանոնների կառավարում

Այս անկենտրոնացված սոցիալական ցանցի յուրաքանչյուր առանձին սերվերի ադմինիստրատորները և մոդերատորները սահմանում են Mastodon-ի կանոնները: Կանոններ կառավարելու համար գնացեք Administration >> Server Rules:

Կանոններ սահմանելու հիմնական սկզբունքները.

  • Համոզվեք, որ կանոնները բանական կամ նկարվող են և համապատասխանում են էթիկայի ընդհանուր ընդունված չափանիշներին՝ օգտվողներին հուսահիթեցնելուց խուսափելու համար;
  • Հստակ նշեք արգելված բովանդակության տեսակները, ինչպիսիք են դաժանությունը, բռնությունը և անօրինական գործողությունները, և հստակեցրեք NSFW բովանդակության թույլատրելի մակարդակը;
  • Նշեք կանոններ վերաբերյալ նախազգուշացման, արգելափակման (blocking) կամ սահմանափակման ընթացակարգերը, ինչպես նաև կարգապահական միջոցառումները և ժամկետները;
  • Սերվերի կանոնները պետք է հեշտությամբ հասանելի լինեն բոլոր օգտվողներին և հրապարակայնորեն ցուցադրվեն գրանցման ժամանակ:
  • Կարևոր է պարբերաբար վերանայել և թարմացնել կանոնները՝ սերվերի աճին զուգընթաց, ներգրավելով համայնքին դրանց բարելավման գործընկարում:

Օգտվողների հրավիրելը

Mastodon-ն ունի մի քանի թաբեր (tabs) feed-ում՝ ենթագրումները և նոր օգտվողներին հրավիրելը կառավարելու համար.

  • Follows and Followers - այս թաբը ցույց է տալիս այն հաշիվները, որոնց օգտվողը ենթագրված է, և feed-ում կհայտնվեն այդ օգտվողների գրառումները: Բացի այդ, այս թաբում նշվում են այն մարդիկ, ովքեր ենթագրված են հենց այս հաշվին (այտինքն՝ ստեղծված լսարանը):
  • Invite people - գործառույթը թույլ է տալիս օգտվողներին հրավիրել իրենց ընկերներին և ծանախմբերին իրենց սոցիալական ցանց: Այս տեքստը նկարագրում է եզակի հղման ստեղծումը, որը կարող է կիսվել՝ այլ օգտվողներին Mastodon սերվերին միանալու թույլ տալու համար:

.

Նշում

Mastodon-ի հիմնական կարգավորումների մասին մանրամասն տեղեկությունների համար դիմեք ծրագրավորողների փաստաթղթերին.

API-ի միջոցով Mastodon սերվեր պատվիրելը

Այս ծրագրային ապահովումը տեղադրելու համար API-ի միջոցով հետևեք այս հրահանգներին։

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×