Schritt-für-Schritt-Anleitung zur Installation von Mastodon auf Ubuntu 24.04 Server
10:50, 28.07.2026
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.