Schritt-für-Schritt-Anleitung zur Installation von Mastodon auf Ubuntu 24.04 Server

watch 7m, 22s
views 2

10:50, 28.07.2026

Artikel Inhalt
arrow

  • Entdecken Sie die herausragenden Funktionen von Mastodon
  • Funktionen von Mastodon
  • Was Sie vor dem Start benötigen (Voraussetzungen)
  • Schritt 1: Richten Sie Ihre PostgreSQL-Datenbank wie ein Profi ein
  • Schritt 2: Ruby unter Ubuntu 24.04 installieren
  • Schritt 3: Mastodon herunterladen und für die Konfiguration vorbereiten
  • Schritt 4: Starten Sie Mastodon und nehmen Sie Ihre Instanz in Betrieb.
  • Schritt 5: Einrichtung des Nginx-Reverse-Proxys für Mastodon
  • Schritt 6: Sichern Sie Ihre Mastodon-Website mit HTTPS
  • Sichern und Wiederherstellen Ihrer Mastodon-Datenbank
  • Mastodon-Laufzeitfehler wie ein Profi beheben
  • PostgreSQL-Upgrade für Mastodon
  • Zusammenfassung

Entdecken Sie die herausragenden Funktionen von Mastodon

Mastodon hat als selbst gehostete, dezentrale Social-Media-Plattform zunehmend an Beliebtheit gewonnen und bietet Nutzern und Administratoren die Möglichkeit, eine offene, datenschutzorientierte Online-Community aufzubauen.

In dieser Anleitung führen wir Sie durch den Installationsprozess von Mastodon auf einem Ubuntu 24.04-Server – von der Einrichtung Ihrer Datenbank über die Konfiguration von Nginx bis hin zur Absicherung Ihres Servers mit HTTPS.

Funktionen von Mastodon

  • Volle Kontrolle über Ihre Daten.
  • Dezentralisierung, da Mastodon nicht von einer einzigen Instanz kontrolliert wird.
  • Autonomie der Mastodon-Instanzen.
  • Responsives und intuitives Webdesign.
  • Kostenlos und Open Source.
  • Unterstützung offizieller mobiler Mastodon-Apps für iOS und Android.

Was Sie vor dem Start benötigen (Voraussetzungen)

Bevor wir beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Einen Ubuntu 24.04-Server mit Root-Zugriff und mindestens 2 GB RAM.
  • Einen Domainnamen, dessen DNS auf die IP-Adresse Ihres Servers verweist.
  • Einen SMTP-Dienst.
  • SSL-Zertifikate (in dieser Anleitung verwenden wir Let’s Encrypt).
  • Grundlegende Kenntnisse im Umgang mit Terminalbefehlen.

Schritt 1: Richten Sie Ihre PostgreSQL-Datenbank wie ein Profi ein

Melden Sie sich per SSH bei Ihrem Server an.

Fügen Sie das Upstream-Repository hinzu:

echo "deb [signed-by=/etc/apt/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

Übertragen Sie den öffentlichen Schlüssel von PostgreSQL:

sudo mkdir -p /etc/apt/keyrings/

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/keyrings/postgresql.asc

Repository-Index aktualisieren und PostgreSQL installieren:

sudo apt update

sudo apt upgrade

sudo apt install -y postgresql postgresql-contrib

Mastodon-Datenbank und -Benutzer anlegen: 

sudo -u postgres psql CREATE USER mastodon WITH CREATEDB PASSWORD 'securepassword'; CREATE DATABASE mastodon_production OWNER mastodon; \q

Stellen Sie sicher, dass Sie 'securepassword' durch ein sicheres Passwort ersetzen.

Schritt 2: Ruby unter Ubuntu 24.04 installieren

Da das Ubuntu-24.04-Repository das Ruby-Paket enthält und Mastodon Ruby 3.0–3.2 benötigt, können Sie den folgenden Befehl ausführen:

sudo apt install ruby ruby-dev

Überprüfen Sie die Ruby-Versionsnummer mit dem folgenden Befehl:

ruby -v

Die Ausgabe sollte wie folgt aussehen:

ruby 3.2.3 (2024-01-18 Revision 52bb2ac0a6) [x86_64-linux-gnu]

Schritt 3: Mastodon herunterladen und für die Konfiguration vorbereiten

Erstellen Sie einen Mastodon-Benutzer:

sudo adduser mastodon --system --group --disabled-login

Installieren Sie das Git-Tool:

sudo apt install git

Klonen Sie das Mastodon-Code-Repository von GitHub mit dem folgenden Befehl:

git clone https://github.com/tootsuite/mastodon.git

Erstellen Sie das Verzeichnis /var/www/ (überspringen Sie diesen Schritt, falls es bereits existiert):

sudo mkdir -p /var/www/

Verschieben Sie das Verzeichnis mastodon nach /var/www/:

sudo mv mastodon/ /var/www/

Lege mastodon als Eigentümer fest:

sudo chown mastodon:mastodon /var/www/mastodon/ -R

Laden Sie die neueste stabile Version von Mastodon herunter:

cd /var/www/mastodon/

sudo -u mastodon git checkout v4.2.8

Installiere Bundler: den Ruby-Abhängigkeitsmanager:

sudo gem install bundler

Installiere Node.js v18:

curl -sL https://deb.nodesource.com/setup_18.x | sudo bash -

sudo apt install nodejs

Installieren Sie Yarn (einen Node.js-Paketmanager):

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

sudo apt update

sudo apt -y install yarn

Pakete zum Kompilieren des Quellcodes installieren:

sudo apt install redis-server optipng pngquant jhead jpegoptim gifsicle nodejs imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file g++ libprotobuf-dev protobuf-compiler pkg-config gcc autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev libidn11-dev libicu-dev libjemalloc-dev

Installiere die Abhängigkeitspakete für Mastodon:

sudo -u mastodon bundle config deployment 'true'

sudo -u mastodon bundle config without 'development test'

sudo -u mastodon bundle install -j$(getconf _NPROCESSORS_ONLN)

sudo -u mastodon yarn install

Führen Sie den Einrichtungsassistenten aus:

sudo -u mastodon RAILS_ENV=production bundle exec rake mastodon:setup

Zunächst werden Ihnen eine Reihe von Fragen gestellt.

  • Domainname: Wählen Sie einen Domainnamen für Ihre Mastodon-Instanz aus.
  • Einzelbenutzermodus aktivieren: Aktivieren Sie den Einzelbenutzermodus, wenn Sie möchten, dass sich Besucher auf Ihrer Mastodon-Instanz registrieren können.
  • Verwenden Sie Docker, um Mastodon auszuführen?: Nein.
  • PostgreSQL-Host: 127.0.0.1
  • PostgreSQL-Port: 5432
  • PostgreSQL-Datenbank: mastodon
  • PostgreSQL-Benutzer: mastodon
  • PostgreSQL-Benutzerpasswort: Das Passwort für den Benutzer „mastodon“ wurde in Schritt 1 erstellt.
  • Redis-Host: 127.0.0.1
  • Redis-Port: 6379
  • Redis-Passwort: Drücken Sie die Eingabetaste.
  • Möchten Sie hochgeladene Dateien in der Cloud speichern? Wenn Sie Dateien auf Ihrem eigenen Server speichern möchten, wählen Sie „Nein“.
  • Möchten Sie E-Mails von „localhost“ versenden? Wenn dies Ihr Mailserver ist oder Sie ein SMTP-Relay eingerichtet haben, können Sie „Ja“ wählen; andernfalls geben Sie Ihre Anmeldedaten für den SMTP-Server ein.
  • E-Mail-Adresse, von der E-Mails gesendet werden sollen: Drücken Sie die Eingabetaste, um die Standard-Absender-E-Mail-Adresse zu verwenden.
  • Jetzt eine Test-E-Mail mit dieser Konfiguration versenden. Wählen Sie „Ja“, um eine Test-E-Mail zu versenden.
  • Test-E-Mail senden an: Geben Sie die Test-E-Mail-Adresse ein.
  • Konfiguration speichern? Wählen Sie „Ja“.

Drücken Sie anschließend auf „Ja“, um die Datenbank einzurichten. Nachdem die Konfiguration gespeichert wurde, muss das Datenbankschema geladen werden. Wählen Sie anschließend „Ja“, um die CSS-/JS-Dateien zu kompilieren. Kompilieren Sie abschließend die CSS-/JS-Dateien.

Nun können Sie einen Admin-Benutzer anlegen.

Schritt 4: Starten Sie Mastodon und nehmen Sie Ihre Instanz in Betrieb.

Kopieren Sie die systemd-Dienstvorlagen in das Verzeichnis /etc/systemd/system/:

sudo cp /var/www/mastodon/dist/mastodon.service /etc/systemd/system/

Wechseln Sie in das Verzeichnis /var/www/mastodon/:

sudo sed -i 's/home\/mastodon\/live/var\/www\/mastodon/g' /etc/systemd/system/mastodon-.service

Ändern Sie /home/mastodon/.rbenv/shims/bundle in /usr/local/bin/bundle:

sudo sed -i 's/home\/mastodon\/.rbenv\/shims/usr\/local\/bin/g' /etc/systemd/system/mastodon-.service

Laden Sie systemd neu, um die Änderungen zu aktivieren:

sudo systemctl daemon-reload

Starten Sie die systemd-Dienste:

sudo systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming

Status prüfen:

sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streaming

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Mastodon auf Port 3000 erreichbar ist:

sudo ss -lnpt | grep 3000

Wenn Port 3000 bereits von einem anderen Prozess belegt ist, müssen Sie die Datei /etc/systemd/system/mastodon-web.service bearbeiten:

sudo nano /etc/systemd/system/mastodon-web.service

Ändern Sie die Portnummer auf 3001, laden Sie systemd neu und starten Sie Mastodon neu:

sudo systemctl daemon-reload

sudo systemctl restart mastodon-web

Schritt 5: Einrichtung des Nginx-Reverse-Proxys für Mastodon

Installieren Sie den Nginx-Webserver aus dem Ubuntu 24.04-Software-Repository:

sudo apt install nginx

Kopieren Sie die Nginx-Konfigurationsvorlagendatei:

sudo cp /var/www/mastodon/dist/nginx.conf /etc/nginx/conf.d/mastodon.conf

Bearbeiten Sie die neue Datei:

sudo nano /etc/nginx/conf.d/mastodon.conf

Suchen Sie die Zeile server_name example.com im Serverblock für Port 80 und im Serverblock für Port 443. Ändern Sie den Servernamen und fügen Sie einen DNS-A-Eintrag für den Domainnamen hinzu:

server_name social.example.com;

Suchen Sie die folgende Zeile im Serverblock für Port 80 und im Serverblock für Port 443:

root /home/mastodon/live/public;

Ändern Sie diese in:

root /var/www/mastodon/public;

Suchen Sie die folgenden beiden Zeilen:

# ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

Ändern Sie diese wie folgt:

ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;

Speichern und schließen Sie die Datei. Erstellen Sie das Cache-Verzeichnis:

sudo mkdir -p /var/nginx/cache/

Testen Sie die Nginx-Konfiguration:

sudo nginx -t

Laden Sie Nginx neu, damit die Änderungen wirksam werden:

sudo systemctl reload nginx

Schritt 6: Sichern Sie Ihre Mastodon-Website mit HTTPS

Verwenden Sie Let’s Encrypt, um Ihre Website mit HTTPS zu sichern.

Installieren Sie Certbot:

sudo apt install certbot python3-certbot-nginx

Beziehen Sie ein SSL-Zertifikat:

sudo certbot --nginx -d example.com

Richten Sie die automatische Verlängerung ein:

sudo certbot renew --dry-run

Sichern und Wiederherstellen Ihrer Mastodon-Datenbank

Regelmäßige Backups gewährleisten die Datensicherheit. Hier ist eine einfache Methode zum Erstellen eines Backups.

Sichern Sie Ihre Datenbank:

sudo -u postgres pg_dump mastodon_production > mastodon_backup.sql

Stellen Sie die Datenbank aus einer Sicherung wieder her:

sudo -u postgres psql mastodon_production < mastodon_backup.sql

Mastodon-Laufzeitfehler wie ein Profi beheben

Basierend auf unseren Erfahrungen bei der Fehlerbehebung bei Mastodon versuchen Sie Folgendes, um die Fehler zu beheben:

  • Protokolle überprüfen mit journalctl -u mastodon oder tail -f log/production.log.
  • Dienste neu starten: Starten Sie Nginx oder die Mastodon-Dienste bei Bedarf neu.
  • Aktualisieren Sie die Abhängigkeiten: Halten Sie Ruby, PostgreSQL und Mastodon auf dem neuesten Stand.

PostgreSQL-Upgrade für Mastodon

Wenn Sie PostgreSQL aktualisieren müssen, stellen Sie sicher, dass Sie Ihre Datenbank sichern, bevor Sie fortfahren:

pg_dump -U mastodon mastodon_production > mastodon_backup.sql

Befolgen Sie anschließend die Upgrade-Anweisungen für PostgreSQL und importieren Sie die Daten danach erneut.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben Mastodon erfolgreich auf Ihrem Ubuntu 24.04-Server installiert und konfiguriert. Da Ihre Instanz nun live ist, können Sie Nutzer zu einem neuen, dezentralen sozialen Erlebnis willkommen heißen. Achten Sie darauf, Ihren Server zu überwachen, auf dem neuesten Stand zu halten und regelmäßig ein Backup Ihrer Datenbank zu erstellen, um einen reibungslosen und sicheren Betrieb zu gewährleisten.

Teilen

War dieser Artikel für Sie hilfreich?

VPS beliebte Angebote

-9.7%

CPU
CPU
10 Epyc Cores
RAM
RAM
64 GB
Space
Space
300 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 65536 Windows

139.49 /mo

/mo

Alle 12 Monate abgerechnet

-4.5%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 4096 Windows

17.37 /mo

/mo

Alle 12 Monate abgerechnet

-15.3%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
40 Mbps
DDoS Protected SSD-wKVM 2048 Windows

54 /mo

/mo

Alle 12 Monate abgerechnet

-9.7%

CPU
CPU
10 Xeon Cores
RAM
RAM
64 GB
Space
Space
300 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 65536 Windows

138.99 /mo

/mo

Alle 12 Monate abgerechnet

-15%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
80 Mbps
DDoS Protected SSD-wKVM 8192 Windows

101 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 4096 Linux

60.5 /mo

/mo

Alle 12 Monate abgerechnet

-24.7%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
4 TB
KVM-SSD 4096 Metered Linux

31 /mo

/mo

Alle 12 Monate abgerechnet

-7.9%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 8192 Windows

26.51 /mo

/mo

Alle 12 Monate abgerechnet

-29.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
2 TB
KVM-SSD 2048 Metered Linux

17 /mo

/mo

Alle 12 Monate abgerechnet

-26.7%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
1 TB
KVM-SSD 1024 Metered Linux

10 /mo

/mo

Alle 12 Monate abgerechnet

Weitere Artikel zu diesem Thema

cookie

Cookies und Datenschutz akzeptieren?

Wir verwenden Cookies, um sicherzustellen, dass wir Ihnen die beste Erfahrung auf unserer Website bieten. Wenn Sie fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass Sie mit dem Empfang aller Cookies auf der HostZealot-Website einverstanden sind.