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

Mastodon

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

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

Mastodon-ը դեցենտրлизоваված սոցիալական հարթակ է, որը անվճար է և բաց կոդով (open source): Ի տարբերություն կենտրոնացված thươngகային հարթակների, Mastodon-ը չի վերահսկվում որևէ մեկ single կազմակերպության կողմից:

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

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

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

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

Նշում

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

Mastodon-ի տեղակայումից հետո սկսել աշխատանքը

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

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

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

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

Կոնֆիգուրացիայի փոփոխություն

Command line-ից Mastodon-ի կոնֆիգուրացիան փոխելու համար օգտագործեք tootctl և rails օգտակար գործիքները.

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

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

Օգտագործման վերաբերյալ հավելյալ տեղեկությունների համար դիմեք developer documentation-ին:

Օրինակ

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

    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]-ը՝ օգտվողի իրական email-ով: Այս հրամանը կատարելուց հետո օգտվողը կստեղծվի: Համոզվեք, որ պահպանում եք էկրանին ցուցադրված password-ը.

Administrator Privileges-ի տրամադրում և օգտվողի հաստատում

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

  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. Նշանակեք նրանց administrative role.

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

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

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

Եթե ձեզ պետք է կարգավորել կամ փոխել mail server-ը, գործարկեք.

  1. Բացեք configuration file-ը.

    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 container-ները. Նոր կարգավորումները կիրառելու համար վերաշարեք Mastodon container-ները.

    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 Container-ների ստուգում: Եթե վստահ չեք, թե որ container-ներն են աշխատում, գործարկեք.

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

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

Learn more about configuration settings in the Developer Documentation.

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

Learn more about working with setup.sh in the Developer Documentation.

Mastodon Server-ի Domain Name-ի փոփոխություն

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

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

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

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

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

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

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

    • Սահմանեք A-record, որը հղում է անում Mastodon սերվերի IP հասցեին;
    • Կարգավորեք MX record, որը հղում է անում mail server-ին.

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

    DNS Management

  3. Ավելացրեք PTR record IP հասցեների կարգավորումներում [Invapi]-ում: !!! info "Տեղեկատվություն" Learn more about setting up PTR records in Invapi here.

  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 հրամաններ, ինչը կարող է հանգեցնել անսխալների: Ստեղծեք /data/nginx/user_conf.d/skaz.online.conf Nginx configuration ֆայլը հետևյալ պարունակությամբ.

    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. Մաքրեք հակասողական կոնֆիգուրացիաները

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

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 Ստուգեք բրաուզերում Բացեք դոմեյնը բրաուզերում — Mastodon-ի գլխավոր էջը պետք է բեռնվի:

Administrator panel-ի սկզբնական կարգավորումներ

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

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

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

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

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

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

Mastodon-ն ունի բազմաթիչ թաբեր feed-ում՝ բաժանորդագրությունները և նոր օգտվողներին հրավիրելը կառավարելու համար.

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

.

Նշում

Mastodon-ի հիմնական կարգավորումների մասին մանրամասն տեղեկությունների համար դիմեք developers' documentation-ին:

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

Այս software-ը API-ի միջոցով տեղակայելու համար հետևեք այս հրահանգներին.

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