Mastodon Installation · 12 min read · Oct 13, 2025
Wie man das Mastodon soziale Netzwerk auf Debian 11 installiert

Mastodon ist ein freies, dezentrales und Open-Source-Soziales Netzwerk, das Twitter ähnlich ist. In Mastodon können Benutzer einander folgen und Nachrichten, Bilder und Videos posten. Im Gegensatz zu Twitter gibt es jedoch keinen zentralen Speicher oder eine Autorität für die Inhalte.
Mit der dezentralen Architektur funktioniert Mastodon über Tausende von verschiedenen Servern, die jeweils von verschiedenen Mitgliedern der Community betrieben werden. Sie können Ihren eigenen Mastodon-Server unter Ihrer Domain erstellen. Sie können auch anderen Benutzern mit unterschiedlichen Domains auf den anderen Servern folgen.
In diesem Tutorial installieren Sie Mastodon, eine dezentrale Mikroblogging-Plattform auf einem Debian 11-Server. Mit diesem Leitfaden richten Sie Mastodon mit PostgreSQL als Datenbankserver und Nginx als Reverse-Proxy ein. Außerdem sichern Sie die Mastodon-Installation über kostenlose SSL-Zertifikate von Letsencrypt.
Voraussetzungen
Dieser Leitfaden geht davon aus, dass Sie die folgenden Anforderungen erfüllt haben:
- Ein Debian 11-Server - dieses Beispiel verwendet den neuesten Debian 11-Server mit dem Hostnamen ‘mastodon-server‘ und der IP-Adresse ‘192.168.5.40‘.
- Ein Nicht-Root-Benutzer mit sudo/root-Administratorrechten.
- Ein Domainname, der auf Ihren öffentlichen Debian-Server zeigt und aufgelöst wird - dieses Beispiel verwendet die Subdomain ‘mastodon.howtoforge.local‘.
Wenn Sie diese Voraussetzungen erfüllt haben, sind Sie bereit, mit der Mastodon-Installation zu beginnen.
Einrichten von Repositories und Installieren von Abhängigkeiten
Mastodon ist eine kostenlose und Open-Source-Software zum Ausführen von selbstgehosteten sozialen Netzwerkdiensten, die dem Twitter-Dienst ähnlich sind. Es ist hauptsächlich in Ruby geschrieben, insbesondere mit dem Ruby on Rails-Webframework und JavaScript mit Reac.js und Redux-Framework.
In diesem ersten Schritt richten Sie zusätzliche Repositories in Ihrem System ein und installieren die Paketabhängigkeiten für die Mastodon-Installation. Dazu gehören Pakete wie build-essentials zum Kompilieren von Ruby, PostgreSQL für den Datenbankserver, Nginx als Webserver und Reverse-Proxy, das certbot-Tool zum Erwerb von SSL-Zertifikaten über Letsencrypt und den Redis-Server, der für die Schlüssel-Wert-Speicherung und das Sitzungsmanagement für Mastodon verwendet wird.
Bevor Sie beginnen, führen Sie den folgenden apt-Befehl aus, um einige grundlegende Abhängigkeiten zu installieren, die zum Verwalten von Repositories und Paketen verwendet werden.
sudo apt install curl wget gnupg apt-transport-https lsb-release ca-certificatesWenn Sie dazu aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER, um fortzufahren.

Führen Sie als Nächstes den folgenden Befehl aus, um das Node.js Nodesource-Repository hinzuzufügen. Das Node.js-Paket wird hier verwendet, um die statischen Assets von Mastodon zu kompilieren. Zum Zeitpunkt des Schreibens benötigte das neueste Mastodon mindestens Node.js v16.
curl -sL https://deb.nodesource.com/setup_16.x | bash -Sie erhalten dann eine Ausgabe wie die folgende.

Nachdem das Node.js-Repository hinzugefügt wurde, richten Sie das Repository für den Yarn-Paketmanager ein. Dieses Repository stellt das Yarn-Paket bereit, das zum Installieren von JavaScript-Abhängigkeiten verwendet wird.
Führen Sie den folgenden Befehl aus, um den GPG-Schlüssel und das Repository des Yarn-Paketmanagers hinzuzufügen.
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.listDas dritte Repository, das Sie hinzufügen, ist das PostgreSQL-Repository. Führen Sie den folgenden Befehl aus, um das PostgreSQL-Repository zu Ihrem Debian-Server hinzuzufügen.
wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
> /etc/apt/sources.list.d/postgresql.list
Nachdem die Node.js-, Yarn- und PostgreSQL-Repositories hinzugefügt wurden, führen Sie den folgenden apt-Befehl aus, um Ihr Paket-Index zu aktualisieren.
sudo apt updateSie erhalten eine Ausgabe wie diese.

Führen Sie schließlich den folgenden apt-Befehl aus, um die Paketabhängigkeiten zu installieren, die zur Installation von Mastodon verwendet werden.
sudo apt install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \
bison build-essential libssl-dev libyaml-dev libreadline6-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \
nginx nodejs yarn redis-server redis-tools postgresql postgresql-contrib \
certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-devGeben Sie y ein, wenn Sie zur Bestätigung aufgefordert werden, und drücken Sie ENTER, um fortzufahren.

Damit haben Sie die grundlegenden Abhängigkeiten für Mastodon installiert und einige Drittanbieter-Repositories zu Ihrem Debian-System hinzugefügt.
In den nächsten Schritten installieren Sie Ruby über rbenv - den Ruby-Version-Manager.
Installation von rbenv und Ruby
rbenv ist ein Versionsverwaltungstool für die Programmiersprache Ruby auf Unix-ähnlichen Systemen. Es ist nützlich, um zwischen mehreren Ruby-Versionen auf demselben Computer zu wechseln und sicherzustellen, dass jedes Projekt, an dem Sie arbeiten, immer auf der richtigen Ruby-Version läuft.
Um zu beginnen, führen Sie den folgenden Befehl aus, um einen neuen Benutzer ‘mastodon‘ auf Ihrem System zu erstellen. Dieser neue Benutzer wird verwendet, um Dienste im Zusammenhang mit Mastodon auszuführen, und der Mastodon-Quellcode wird im Home-Verzeichnis dieses Benutzers gespeichert.
sudo adduser --disabled-login mastodonWährend des Prozesses werden Sie nach der Konfiguration der Benutzerdaten gefragt. Geben Sie Ihre Benutzerinformationen ein und geben Sie y ein, um zu bestätigen, und drücken Sie ENTER.

Nachdem der Benutzer ‘mastodon‘ erstellt wurde, führen Sie den folgenden Befehl aus, um sich anzumelden.
su - mastodonLaden Sie als Nächstes den rbenv-Quellcode über den folgenden git-Befehl herunter.
git clone https://github.com/rbenv/rbenv.git ~/.rbenvFühren Sie dann den folgenden Befehl aus, um rbenv auf Ihrem System zu installieren.
cd ~/.rbenv && src/configure && make -C srcSie erhalten eine Ausgabe wie diese, nachdem rbenv installiert wurde.

Führen Sie als Nächstes den folgenden Befehl aus, um das rbenv ‘bin’-Verzeichnis zum System-PATH hinzuzufügen und rbenv jedes Mal zu laden, wenn der Benutzer sich in die neue Sitzung einloggt.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrcLaden Sie jetzt Ihre aktuelle Shell, indem Sie die bashrc-Konfigurationsdatei neu laden. Geben Sie dann den Befehl ‘rbenv’ in Ihre Shell ein und drücken Sie TAB.
source ~/.bashrc
rbenv TABIm folgenden Screenshot ist rbenv installiert und Sie können jetzt den rbenv-Befehl zum Installieren von Ruby ausführen.
Bevor Sie Ruby installieren, müssen Sie das rbenv-Plugin namens ‘ruby-build’ installieren. Dieses Plugin bietet Befehlszeilenwerkzeuge, die die Ruby-Installation aus dem Quellcode vereinfachen, insbesondere für UNIX-ähnliche Betriebssysteme.
Laden Sie das ‘ruby-build’-Plugin über den git-Befehl herunter.
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Nachdem das ‘ruby-build’-Plugin hinzugefügt wurde, führen Sie den folgenden Befehl aus, um Ruby v3.0.4 zu installieren, das für die aktuelle Mastodon-Version erforderlich ist.
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4Nachdem die Installation abgeschlossen ist, erhalten Sie eine Ausgabe, die dieser ähnelt.

Führen Sie jetzt den folgenden Befehl aus, um die Standard-Ruby-Version auf 3.0.4 festzulegen. Überprüfen Sie dann mit dem ruby-Befehl wie folgt. Sie werden sehen, dass Ruby v3.0.4 auf Ihrem Debian-System installiert ist.
rbenv global 3.0.4
ruby --version
Zuletzt müssen Sie einen Bundler als Ihr Ruby-Paketmanagement installieren. Führen Sie den gem-Befehl unten aus, um ‘bundler’ zu installieren.
gem install bundler --no-documentAn diesem Punkt haben Sie die Installation der Mastodon-Paketabhängigkeiten auf Ihrem System abgeschlossen. Sie haben Ruby 3.0.4 über den rbenv Ruby-Version-Manager installiert und den Bundler, das Ruby-Paketmanagement-Tool, installiert.
In den nächsten Schritten richten Sie den PostgreSQL-Benutzer ein, der für die Mastodon-Installation verwendet wird.
Einrichten des PostgreSQL-Datenbankservers
In diesem Schritt überprüfen Sie den PostgreSQL-Dienst, um sicherzustellen, dass der Dienst aktiviert und ausgeführt wird. Dann erstellen Sie einen neuen PostgreSQL-Benutzer/Rolle ‘mastodon’ über die PostgreSQL-Shell.
Stellen Sie sicher, dass Sie diese Befehle mit Root-Benutzerrechten ausführen.
Bevor Sie beginnen, führen Sie den folgenden systemctl-Befehl aus, um sicherzustellen, dass der PostgreSQL-Dienst läuft und aktiviert ist.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlSie sollten eine Ausgabe erhalten, die dieser ähnelt.

Da PostgreSQL läuft, führen Sie den folgenden Befehl aus, um sich bei der PostgreSQL-Shell anzumelden.
cd /etc/postgresql
sudo -u postgres psqlNachdem Sie sich bei der PostgreSQL-Shell angemeldet haben, führen Sie die folgende PostgreSQL-Abfrage aus, um eine neue Rolle/einen neuen Benutzer ‘mastodon‘ zu erstellen. Stellen Sie außerdem sicher, dass Sie das Standardpasswort durch ein neues, starkes Passwort ändern.
CREATE USER mastodon CREATEDB;
ALTER USER mastodon PASSWORD 'p4ssw0rd';Führen Sie als Nächstes die folgende Abfrage aus, um sicherzustellen, dass der neue PostgreSQL-Benutzer/die neue Rolle erstellt wurde. Geben Sie dann ‘ q‘ ein, um die PostgreSQL-Shell zu verlassen.
du
duDie folgende Ausgabe zeigt Ihnen, dass der neue PostgreSQL-Benutzer/die neue Rolle ‘mastodon’ erstellt wurde.

Nachdem der PostgreSQL-Benutzer/die Rolle erstellt wurde, sind Sie bereit, Mastodon auf Ihrem Debian-System zu installieren.
Installation von Mastodon
In diesem Schritt installieren und konfigurieren Sie Mastodon auf Ihrem Debian-Server. Sie installieren auch Ruby-Abhängigkeiten und JavaScript-Abhängigkeiten für Mastodon. Und schließlich beginnen Sie mit der Konfiguration von Mastodon für Ihre Bereitstellung, einschließlich der Domainkonfiguration, der Datenbank- und Redis-Konfiguration, der SMTP-Konfiguration und auch der Konfiguration des Mastodon-Adminbenutzers.
Bevor Sie beginnen, melden Sie sich über den folgenden Befehl beim Benutzer ‘mastodon’ an.
su - mastodonLaden Sie jetzt den Mastodon-Quellcode über den git-Befehl herunter und wechseln Sie zum neuesten stabilen Branch von Mastodon. Zum Zeitpunkt des Schreibens ist die stabile Version von Mastodon v4.0.2.
git clone https://github.com/mastodon/mastodon.git live && cd live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
Führen Sie als Nächstes den folgenden Befehl aus, um die Bereitstellung von Mastodon einzurichten und Ruby-Abhängigkeiten zu installieren.
bundle config deployment 'true'
bundle config without 'development test'
bundle install -j$(getconf _NPROCESSORS_ONLN)Die Installation der Ruby-Abhängigkeiten von Mastodon dauert eine Weile. Unten sehen Sie eine ähnliche Ausgabe, die Sie in Ihrem Terminal erhalten.

Nachdem Sie die Ruby-Abhängigkeiten von Mastodon installiert haben, führen Sie den folgenden yarn-Befehl aus, um die JavaScript-Abhängigkeiten für Mastodon zu installieren.
yarn install --pure-lockfileSie erhalten dann eine Ausgabe, die dieser ähnelt.

Nachdem die Ruby-Abhängigkeiten und JavaScript-Abhängigkeiten installiert sind, richten Sie Ihre Mastodon-Installation ein.
Führen Sie den folgenden Befehl aus, um Mastodon für die Produktionsumgebung einzurichten.
RAILS_ENV=production bundle exec rake mastodon:setupSie werden nach einigen Konfigurationen von Mastodon gefragt.
- Der Mastodon-Domainname? Dieses Beispiel verwendet die Domain ‘mastodon.howtoforge.local’.
- Einzelbenutzermodus aktivieren? Geben Sie y ein.
- Verwenden Sie Docker, um Mastodon auszuführen? Geben Sie n für nein ein.
- Geben Sie den PostgreSQL-Benutzer und das Passwort ein und stellen Sie sicher, dass Sie die Nachricht ‘Datenbankkonfiguration funktioniert!’ erhalten.
- Redis-Konfiguration? Lassen Sie es als Standard, indem Sie ENTER drücken.
- Dateien in die Cloud hochladen aktivieren? Geben Sie n für nein ein.
- Erlauben Sie das Senden von E-Mails von localhost? Geben Sie y für ja ein, um zu bestätigen, oder n für nein. Dies hängt von Ihrer Umgebung ab, Sie können auch einen Drittanbieter-SMTP-Server verwenden.
- Konfiguration speichern? Geben Sie y für ja ein.
- Für die Datenbankerstellung. Geben Sie y ein, um die Mastodon-Datenbank zu erstellen.
- Geben Sie y ein, um Assets und statische Dateien für Mastodon zu kompilieren.
- Admin-Benutzer einrichten? Geben Sie den neuen Admin-Benutzer und die E-Mail für Ihre Mastodon-Installation ein. Und Sie erhalten dann das automatisch generierte Passwort auf Ihrem Bildschirm.
Mastodon-Konfiguration für Domainname, PostgreSQL, Redis-Server und SMTP-Mail-Server.

Mastodon generiert Assets und statische Dateien.

Der Mastodon-Admin-Benutzer wurde erstellt und das Passwort wurde ebenfalls auf dem Terminalbildschirm generiert.
An diesem Punkt haben Sie die Installation und Konfiguration von Mastodon auf Debian 11 abgeschlossen. In den nächsten Schritten richten Sie Mastodon als Systemd-Dienst ein.
Ausführen von Mastodon als Systemd-Dienst
Standardmäßig stellt Mastodon eine Beispiel-Systemd-Dienstdatei zur Verfügung, die im Verzeichnis ‘/home/mastodon/live/dist/‘ verfügbar ist.
Führen Sie den folgenden Befehl aus, um die Mastodon-Dienstdateien in das Verzeichnis ‘/etc/systemd/system‘ zu kopieren.
sudo cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/Laden Sie jetzt den Systemd-Manager neu, um die Änderungen am Systemd anzuwenden.
sudo systemctl daemon-reloadStarten Sie anschließend die Mastodon-Dienste und aktivieren Sie sie über das systemctl-Befehlswerkzeug unten.
sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming
sudo systemctl enable mastodon-web mastodon-sidekiq mastodon-streaming
Die Mastodon-Dienste sollten jetzt aktiv und auch aktiviert sein. Überprüfen Sie dies mit dem folgenden systemctl-Befehl.
sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streamingSie erhalten eine Ausgabe, die der folgenden Screenshot ähnelt.
Der mastodon-web-Dienst läuft und ist aktiviert.

Der mastodon-sidekiq läuft ebenfalls und ist aktiviert.

Der mastodon-streaming-Dienst läuft ebenfalls und ist aktiviert.

Mit allen laufenden und aktivierten Mastodon-Diensten richten Sie als Nächstes Nginx als Reverse-Proxy für Mastodon ein und generieren SSL Letsencrypt.
Einrichten von Nginx als Reverse-Proxy
In diesem Schritt richten Sie den Nginx-Webserver als Reverse-Proxy für Mastodon ein. Sie generieren auch SSL Letsencrypt über den certbot-Befehl und sichern Mastodon über eine HTTPS-sichere Verbindung.
Kopieren Sie die Standard-Nginx-Serverblockkonfiguration von Mastodon nach ‘/etc/nginx/sites-available/mastodon’. Aktivieren Sie dann die neue Serverblockkonfiguration ‘/etc/nginx/sites-available/mastodon ‘.
sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodonÖffnen Sie als Nächstes die Mastodon-Serverblockkonfigurationsdatei ‘/etc/nginx/sites-available/mastodon’ mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/nginx/sites-available/mastodonÄndern Sie den Standard-Domainnamen in Ihren Mastodon-Domainnamen. In diesem Beispiel ist die Domain für Mastodon ‘mastodon.howtoforge.local‘.
Ändern Sie die Domain
Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie als Nächstes den folgenden Befehl aus, um SSL-Zertifikate von Letsencrypt zu generieren. Stellen Sie sicher, dass Sie den Domainnamen durch Ihre Domain ersetzen.
sudo certbot --nginx -d mastodon.howtoforge.localNachdem die SSL-Zertifikate generiert wurden, führen Sie den folgenden Befehl aus, um die Nginx-Konfiguration zu überprüfen. Wenn Sie die Ausgabemeldung wie ‘Test erfolgreich - Syntax ok‘ erhalten, bedeutet dies, dass Sie die richtige Konfiguration haben. Starten Sie dann den Nginx-Dienst neu, um die neuen Änderungen anzuwenden.
sudo nginx -t
sudo systemctl restart nginx
Führen Sie schließlich den folgenden systemctl-Befehl aus, um den Nginx-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft und aktiviert ist.
sudo systemctl is-enabled nginx
sudo systemctl status nginxSie erhalten eine Ausgabe, die dieser ähnelt - Der Nginx-Dienst läuft derzeit und ist aktiviert. Der Nginx-Dienst wird beim Booten automatisch ausgeführt.

Nachdem alle Konfigurationen abgeschlossen sind, ist Ihr Mastodon jetzt über den Webbrowser zugänglich.
Zugriff auf die Mastodon-Installation
Öffnen Sie Ihren Webbrowser und besuchen Sie den Domainnamen Ihrer Mastodon-Installation (d.h.: https://mastodon.howtoforge.local/). Sie sehen jetzt die Standard-Homepage von Mastodon.

Klicken Sie auf die Schaltfläche ‘Anmelden‘, um Ihren Benutzer zu überprüfen.
Geben Sie jetzt Ihren Admin-Benutzer und das generierte Passwort für Mastodon ein. Klicken Sie dann auf Anmelden.

Sie sehen dann die Benutzer-Homepage von Mastodon.

Klicken Sie als Nächstes auf das Menü Einstellungen, um zur Benutzer-Einstellungsseite zu gelangen. Klicken Sie dann auf das Menü Verwaltung auf der linken Seite. Und Sie sollten die Mastodon-Verwaltungsseite unten erhalten.
Sie können die Details des Software-Stacks sehen, den Sie derzeit auf Ihrer Mastodon-Installation verwenden.

Fazit
Herzlichen Glückwunsch! Sie haben nun die Installation der Mastodon-Mikroblogging-Plattform auf einem Debian 11-Server abgeschlossen. Sie haben Mastodon mit PostgreSQL als Datenbankserver und Nginx als Reverse-Proxy installiert. Sie haben auch die Mastodon-Bereitstellung über sichere HTTPS-Verbindungen gesichert.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.