Ga naar inhoud

Mastodon

In dit artikel

Informatie

Mastodon - het gedecentraliseerde sociale platform dat gratis en open source is. In tegenstelling tot commerciële platforms die gecentraliseerd zijn, wordt Mastodon niet beheerd door één enkele organisatie.

Mastodon. Belangrijkste functies

  • Mastodon stelt gebruikers in staat om zich te abonneren en te communiceren met andere gebruikers van elke verbonden server;
  • Het platform biedt openbare postfeeds om gebruikers te helpen interessant content te ontdekken. De lokale feed toont posts van uw server, terwijl de gefedereerde feed alle openbare posts van geabonneerde gebruikers van uw server toont die bekend zijn bij uw server;
  • Gebruikers kunnen interactie aangaan met posts direct in de feed of in de uitgebreide postweergave door te reageren, te delen, toe te voegen aan favorieten, te markeren of een extra menu te gebruiken;
  • Mastodon stuurt meldingen voor verschillende interactiegebeurtenissen met betrekking tot uw profiel en posts. Deze meldingen kunnen op type worden gefilterd;
  • Om u te abonneren op een gebruiker, klikt u eenvoudig op de Follow-knop op hun profiel. U kunt ook meldingen inschakelen voor nieuwe posts van uw abonnementen;
  • De zoekfunctie in Mastodon stelt u in staat om gebruikers, hashtags en posts te vinden via een link. Met geïnstalleerde volledige tekstzoekopdrachten kunt u uw eigen posts en favorieten doorzoeken;
  • Privé-posts in Mastodon zijn alleen zichtbaar voor abonnees. Ze worden weergegeven in een aparte dialoogkolom;
  • De abonnementslijsten kunnen worden gebruikt om uitsluitend de postfeed weer te geven.

Implementatiefuncties

ID Softwarenaam Compatibel OS VM BM VGPU GPU Min CPU (Kernen) Min RAM (GB) Min HDD/SSD (GB) Aangepast Domein Actief
59 Mastodon Ubuntu 22.04 + + + + 2 2 - Nee BESTELLEN

Voor informatie over de implementatiefuncties van deze software, zie deze link

Opmerking

Tenzij anders vermeld, installeren we standaard de nieuwste releaseversie van software van de website van de ontwikkelaar of uit de repositories van het besturingssysteem.

Aan de slag na het implementeren van Mastodon

Er wordt een melding verzonden naar het e-mailadres dat tijdens de registratie is opgegeven dat de server klaar is voor gebruik na het betalen van de bestelling. Deze bevat het IP-adres van de VPS, evenals de inloggegevens en het wachtwoord voor de verbinding. Klanten van ons bedrijf beheren de hardware in de server en het API-besturingspaneel — Invapi.

U kunt de autorisatiegegevens vinden in het tabblad Configuration >> Tags van het serverbesturingspaneel of in de e-mail die is verzonden.

  • Link om toegang te krijgen tot het Mastodon-dashboard met een webinterface: in de webpanel-tag;
  • Login en Wachtwoord voor het verbinden met de server: per e-mail naar uw adres verzonden zodra de server klaar is na het implementeren van de software;
  • Login en Wachtwoord voor authenticatie in de Mastodon-webinterface worden handmatig ingesteld tijdens het aanmaken van een account via de console van de beheerder.

De link om toegang te krijgen tot de webinterface is: https://mastodon{Server_ID_from_Invapi}.hostkey.in

Configuratie wijzigen

Om de Mastodon-configuratie vanaf de opdrachtregel te wijzigen, gebruikt u de tootctl- en rails-hulpprogramma's:

  • Accountinstellingen, aanmaken, wijzigen, machtigingen toewijzen, etc.;
  • SMTP-serverinstellingen;
  • Instellingen voor gebruikersregistratie.

Informatie

Raadpleeg de ontwikkelaarsdocumentatie voor meer informatie over het gebruik van de hulpprogramma's.

Gebruiksvoorbeeld

  1. Maak verbinding met de server via SSH:
    ssh root@<server_ip>
    
  2. Log in op de Mastodon-webapplicatiecontainer. Zoek en maak verbinding met de mastodon_web_1-container:

    docker exec -it mastodon_web_1 bash
    

  3. Gebruik het commando tootctl accounts create om een nieuwe gebruiker aan te maken. Geef de gebruikersnaam, e-mail en de --confirmed-vlag voor accountbevestiging op.

    RAILS_ENV=production bin/tootctl accounts create new_username --email [email protected] --confirmed
    
    Vervang new_username door de gewenste gebruikersnaam en [email protected] door de daadwerkelijke e-mail van de gebruiker. Na het uitvoeren van dit commando wordt de gebruiker aangemaakt. Zorg ervoor dat u het op het scherm weergegeven wachtwoord opslaat:

Beheerdersrechten toekennen en gebruiker goedkeuren

Na het aanmaken van een gebruiker moet u deze in de database zoeken om hun machtigingen en status te wijzigen.

  1. Start de Rails-console:
    RAILS_ENV=production bin/rails console
    
  2. Zoek de gebruiker op e-mail of gebruikersnaam:
    user = User.find_by(email: '[email protected]')  # of: User.find_by(username: 'new_username')
    
  3. Werk hun status bij:

    user.update(approved: true)
    
    Deze actie verwijdert de melding Your application is pending review by our staff... uit het beheerderspaneel.

  4. Wijs hen een beheerdersrol toe:

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

  5. Verifieer:
    user.reload
    
    user.role           # => "Admin"
    
    user.approved       # => true
    
  6. Verlaat de console:
    exit
    

Mailserver configureren

Als u de mailserver moet configureren of wijzigen, voert u het volgende uit:

  1. Open het configuratiebestand:

    nano /opt/mastodon/.env.production
    
    2. Configureer SMTP-parameters (bijv. voor 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. Herstart Mastodon-containers Om de nieuwe instellingen toe te passen, herstart u de Mastodon-containers:

    cd /opt/mastodon
    
    docker-compose restart
    
    4. Controleer e-mailfunctionaliteit - Voor MailHog: open de webinterface http://your_server:8025 - Controleer logs:
    docker-compose -f /opt/mastodon/docker-compose.yml logs sidekiq | grep -i mail
    
    - Test het: registreer een nieuwe gebruiker en controleer of de e-mail is ontvangen

Opmerkingen

Docker-containers controleren: Als u niet zeker weet welke containers actief zijn, voert u het volgende uit:

 docker ps
Zorg ervoor dat de Mastodon-containers (mastodon_web_1, mastodon_db_1, etc.) actief zijn.

Informatie

Lees meer over configuratie-instellingen in de Ontwikkelaarsdocumentatie.

Informatie

Ontdek meer over het werken met setup.sh in de Ontwikkelaarsdocumentatie.

Mastodon-serverdomeinnaam wijzigen

Informatie

In deze gids wordt skaz.online als voorbeelddomein gebruikt. Oorspronkelijk is Mastodon geconfigureerd met een domein zoals mastodon<server_ID>.hostkey.in. Vervang skaz.online door uw daadwerkelijke domein in alle configuratievoorbeelden.

Belangrijkste bestanden en mappen

Bestand/map Wat verandert
/opt/mastodon/.env.production Omgevingsvariabelen, domeinen
/data/nginx/user_conf.d/*.conf Nginx-configuratie voor het nieuwe domein
/etc/letsencrypt/live/ SSL-certificaten (als u certbot gebruikt)
Docker Compose-bestanden Domein in docker-compose.yml of variabelen
SMTP-configuratie Adressen gerelateerd aan het domein bijwerken

Volg deze stappen om de domeinnaam te wijzigen:

  1. Registreer uw eigen domein, bijv. mastodon.mydomain.com.

  2. Configureer DNS-records voor dit domein:

    • Stel een A-record in dat verwijst naar het IP-adres van de Mastodon-server;
    • Configureer MX-record dat verwijst naar de mailserver.

    Informatie

    DNS-beheer

  3. Voeg een PTR-record toe in de IP-adresinstellingen op Invapi; !!! info "Informatie" Lees meer over het instellen van PTR-records in Invapi hier.

  4. Werk Mastodon-omgevingsvariabelen bij Bewerk het bestand /opt/mastodon/.env.production en vervang de huidige waarde (bijv. mastodon<server_ID>.hostkey.in) door uw nieuwe domein:

    # Previous:
    # LOCAL_DOMAIN=mastodon<server_ID>.hostkey.in
    
    
    # Updated:
    LOCAL_DOMAIN=skaz.online
    WEB_DOMAIN=skaz.online
    
    5. Stel Nginx in met HTTPS-ondersteuning

    5.1 Nginx-configuratie maken Belangrijk: Maak een nieuw configuratiebestand en vervang het oude. Oude configuraties kunnen verschillende proxy_pass-directives bevatten, wat tot storingen kan leiden. Maak een Nginx-configuratiebestand /data/nginx/user_conf.d/skaz.online.conf met de volgende inhoud:

    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-certificaat verkrijgen Controleer het certificaat:
    docker exec -it mastodon-nginx-1 ls /etc/letsencrypt/live/
    
    Als het certificaat ontbreekt, verkrijg het dan:
    docker compose stop nginx
    
    docker compose run --rm nginx certbot certonly --standalone -d skaz.online
    
    docker compose start nginx
    

  5. Ruim conflicterende configuraties op

Belangrijk! Verwijder oude Nginx-configuraties, aangezien meerdere .conf-bestanden conflicten kunnen veroorzaken: Verwijder de oude configuratie (bijv. voor mastodon<server_ID>.hostkey.in)

rm /data/nginx/user_conf.d/mastodon<server_ID>*.conf
Of hernoem om een back-up te behouden

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

Redenen voor conflicten:

  • Dubbele listen 443 ssl-directives veroorzaken een fout duplicate listen options
  • Oude configuraties kunnen verschillende proxy_pass-adressen of poorten hebben
  • Nginx kan verzoeken met meerdere serverblokken verkeerd interpreteren

  • Herstart services Voer in de map die docker-compose.yml bevat, het volgende uit:

    docker compose down
    
    docker compose up -d
    

  • Controleer functionaliteit Testen vanaf de opdrachtregel

    curl -Ik https://skaz.online
    
    Verwachte respons: HTTP/1.1 200 OK Controleren in een browser Open het domein in een browser — de Mastodon-startpagina zou geladen moeten worden.

Initiële instellingen beheerderspaneel

Om toegang te krijgen tot het beheerderspaneel, volgt u de link van de webpanel-tag, klikt u op de Log In-knop en voert u de eerder ingestelde inloggegevens in.

Serverregels beheren

Beheerders en moderatoren van elke individuele server in dit gedecentraliseerde sociale netwerk stellen de regels voor Mastodon vast. Ga naar Administration >> Server Rules om regels te beheren.

Basisprincipes voor het vaststellen van regels:

  • Zorg ervoor dat de regels redelijk zijn en voldoen aan algemeen aanvaarde normen van fatsoen om gebruikers niet af te schrikken;
  • Stel duidelijk verboden inhoudstypes vast, zoals wreedheid, geweld en illegale activiteiten, en verduidelijk aanvaardbare niveaus van NSFW-inhoud;
  • Specificeer procedures voor het waarschuwen, blokkeren of beperken van regelovertreeders, evenals disciplinaire maatregelen en tijdslimieten;
  • De serverregels moeten voor alle gebruikers gemakkelijk toegankelijk zijn en openbaar worden weergegeven tijdens de registratie;
  • Het is belangrijk om de regels periodiek te herzien en bij te werken naarmate de server groeit, en de gemeenschap te betrekken bij het proces van modereren en verbeteren.

Gebruikers uitnodigen

Mastodon heeft meerdere tabbladen in de feed voor het beheren van abonnementen en het uitnodigen van nieuwe gebruikers:

  • Follows and Followers - dit tabblad toont de accounts waarnaar de huidige gebruiker is geabonneerd, en de feed toont bijdragen van deze gebruikers. Bovendien lijst dit tabblad degenen op die geabonneerd zijn op dit account, wat het publiek in Mastodon is.
  • Invite people - deze functie stelt gebruikers in staat om vrienden en kennissen uit te nodigen op hun sociale netwerk. Deze tekst beschrijft het aanmaken van een unieke link die kan worden gedeeld om andere gebruikers toe te laten op de Mastodon-server.

.

Opmerking

Raadpleeg de ontwikkelaarsdocumentatie voor gedetailleerde informatie over de basisinstellingen van Mastodon.

Een server met Mastodon bestellen via de API

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