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 gecontroleerd door één enkele organisatie.

Mastodon. Belangrijkste functies

  • Mastodon stelt gebruikers in staat om zich te abonneren op en te communiceren met andere gebruikers van elke verbonden server;
  • Het platform biedt publieke post-feeds om gebruikers te helpen interessante inhoud te ontdekken. De lokale feed toont berichten van jouw server, terwijl de federated feed alle publieke berichten van geabonneerde gebruikers van jouw server toont die bekend zijn bij jouw server;
  • Gebruikers kunnen direct in de feed of in de geavanceerde post-weergave reageren op berichten door te antwoorden, te delen, toe te voegen aan favorieten, te bladwijzeren of een extra menu te gebruiken;
  • Mastodon stuurt meldingen voor verschillende interactie-events gerelateerd aan jouw profiel en berichten. Deze meldingen kunnen worden gefilterd op type;
  • Om je op een gebruiker te abonneren, klik je simpelweg op de Follow knop op hun profiel. Je kunt ook meldingen inschakelen voor nieuwe berichten van jouw abonnementen; De zoekfunctie in Mastodon stelt je in staat om gebruikers, hashtags en berichten via een link te vinden. Met geïnstalleerde volledige tekstzoekfunctie kun je je eigen berichten en favorieten doorzoeken;
  • Privéberichten in Mastodon zijn alleen zichtbaar voor abonnees. Ze worden weergegeven in een aparte dialoogkolom;
  • De abonnementslijsten kunnen worden gebruikt om uitsluitend de post-feed te bekijken.

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

Opmerking

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

Aan de slag na het implementeren van Mastodon

Nadat de bestelling is betaald, wordt er een melding naar het e-mailadres gestuurd dat tijdens de registratie is opgegeven, dat de server klaar is voor gebruik. Deze bevat het IP-adres van de VPS, evenals de login en het wachtwoord voor de verbinding. Klanten van ons bedrijf beheren de hardware in de server- en API-beheercrontrolpanel — Invapi.

Je kunt de autorisatiedata vinden in het tabblad Configuration >> Tags van het serverbeheerderspaneel of in de verzonden e-mail.

  • Link om toegang te krijgen tot het Mastodon-dashboard met een webinterface: in de webpanel tag;
  • Login en Password voor het verbinden met de server: verzonden via e-mail naar jouw adres zodra de server klaar is na de software-implementatie;
  • Login en Password voor de authenticatie in de Mastodon webinterface worden handmatig ingesteld tijdens de accountcreatie via de administrator's console.

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

Configuratiewijziging

Om de Mastodon-configuratie via de opdrachtregel te wijzigen, gebruik je de tootctl en rails utility:

  • Accountinstellingen, maken, wijzigen, permissies toewijzen, enz;
  • SMTP-serverinstellingen;
  • Gebruikersregistratie-instellingen.

Informatie

Raadpleeg de documentatie van de ontwikkelaar voor meer informatie over het gebruik van de utilities.

Voorbeeldgebruik

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

    docker exec -it mastodon_web_1 bash
    

  3. Om een nieuwe gebruiker te maken, gebruik je het commando tootctl accounts create. Geef de gebruikersnaam, het e-mailadres en de --confirmed flag op voor accountbevestiging.

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

Administratieve rechten verlenen en een gebruiker goedkeuren

Nadat je een gebruiker hebt aangemaakt, moet je deze in de database vinden om hun permissies en status te wijzigen.

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

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

  4. Wijs hen een administratieve rol toe:

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

  5. Verifiëren:
    user.reload
    
    user.role           # => "Admin"
    
    user.approved       # => true
    
  6. De console afsluiten:
    exit
    

Configureren van de mailserver

Als je de mailserver moet configureren of wijzigen, voer dan het volgende uit:

  1. Open het configuratiebestand:

    nano /opt/mastodon/.env.production
    
    2. Configureer de 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 de Mastodon-containers Om de nieuwe instellingen toe te passen, moet je de Mastodon-containers herstarten:

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

Opmerking

Docker-containers controleren: Als je niet zeker weet welke containers draaien, voer dan uit:

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

Informatie

Lees meer over de configuratie-instellingen in de Documentatie voor ontwikkelaars.

Informatie

Lees meer over het werken met setup.sh in de Documentatie voor ontwikkelaars.

Het wijzigen van de Mastodon Server Domain Name

Informatie

Deze handleiding gebruikt skaz.online als voorbeeld-domein. Aanvankelijk is Mastodon geconfigureerd met een domein zoals mastodon<server_ID>.hostkey.in. Vervang skaz.online door jouw werkelijke domein in alle configuratievoorbeelden.

Belangrijke bestanden en mappen

Bestand/Map Wat verandert er
/opt/mastodon/.env.production Omgevingsvariabelen, domeinen
/data/nginx/user_conf.d/*.conf Nginx-configuratie voor het nieuwe domein
/etc/letsencrypt/live/ SSL-certificaten (indien Certbot wordt gebruikt)
Docker Compose-bestanden Domein in docker-compose.yml of variabelen
SMTP-configuratie Bijwerken van adressen gerelateerd aan het domein

Volg deze stappen om de domeinnaam te wijzigen:

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

  2. Configureer de DNS-records voor dit domein:

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

    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. Update de Mastodon Omgevingsvariabelen Bewerk het bestand /opt/mastodon/.env.production en vervang de huidige waarde (bijv. mastodon<server_ID>.hostkey.in) door jouw 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 Maak een Nginx-configuratie aan Belangrijk: Maak een nieuw configuratiebestand aan 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 aan 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 Verkrijg een SSL-certificaat Controleer of het certificaat aanwezig is:
    docker exec -it mastodon-nginx-1 ls /etc/letsencrypt/live/
    
    Als het certificaat ontbreekt, vraag het dan aan:
    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 bewarem

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 de fout duplicate listen options
  • Oude configuraties kunnen andere proxy_pass adressen of poorten hebben
  • Nginx kan verzoeken met meerdere server-blocks verkeerd interpreteren

  • Diensten herstarten Voer in de map waar docker-compose.yml staat het volgende uit:

    docker compose down
    
    docker compose up -d
    

  • Functionaliteit verifiëren Testen via de opdrachtregel

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

Initiële instellingen Beheerpaneel

Om toegang te krijgen tot het beheerpaneel, volg je de link in de webpanel tag, klik op de Log In knop en voer de eerder ingestelde inloggegevens in.

Serverregels beheren

Administrateurs en moderators van elke individuele server in dit gedecentraliseerde sociale netwerk stellen de regels voor Mastodon vast. Om regels te beheren, ga je naar Administration >> Server Rules.

Basisprincipes voor het instellen van regels:

  • Zorg ervoor dat regels redelijk zijn en voldoen aan algemeen aanvaarde normen van fatsoen om te voorkomen dat gebruikers worden afgeschrikt;
  • Geef duidelijk aan welke soorten verboden inhoud zijn, zoals wreedheid, geweld en illegale activiteiten, en verduidelijk de acceptabele niveaus van NSFW-inhoud;
  • Specificeer procedures voor het waarschuwen, blokkeren of beperken van regelovertreters, evenals tuchtrechtelijke maatregelen en tijdslimieten;
  • De serverregels moeten gemakkelijk toegankelijk zijn voor alle gebruikers en publiekelijk worden weergegeven tijdens de registratie;
  • Het is belangrijk om de regels periodiek te beoordelen en bij te werken naarmasse de server groeit, en om de community te betrekken bij het modereren en verbeteren ervan.

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 waarop de huidige gebruiker is geabonneerd, en de feed zal berichten van deze gebruikers tonen. Daarnaast bevat dit tabblad degenen die op dit account zijn geabonneerd, wat het publiek in Mastodon is.
  • Invite people - deze functie stelt gebruikers in staat om vrienden en kennissen uit te nodigen voor hun sociale netwerk. Deze tekst beschrijft de creatie van een unieke link die gedeeld kan worden om andere gebruikers toe te laten tot de Mastodon-server.

.

Opmerking

Voor gedetailleerde informatie over de basisinstellingen van Mastodon, raadpleeg de documentatie voor ontwikkelaars.

Een server met Mastodon bestellen via de API

Om deze software te installeren via de API, volg dan deze instructies.

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