Wie man

Installieren Sie Mastodon auf Ubuntu 20.18.04.04 Mit Let's Encrypt SSL-Zertifikat

Installieren Sie Mastodon auf Ubuntu 20.18.04.04 Mit Let's Encrypt SSL-Zertifikat

Mastodon ist ein kostenloser und Open-Source-Server für selbst gehostete soziale Netzwerke, lizenziert unter AGPLv3. Mastodon ähnelt in seinen Funktionen Twitter und ermöglicht es Ihnen, Links, Texte, Videos und Bilder zu veröffentlichen und in der weltweit vernetzten Microblogging-Community zu teilen. In diesem Beitrag werden wir besprechen, wie man Mastodon unter Ubuntu 20 installiert.18.04.04 Linux mit Let's Encrypt SSL-Zertifikat gesichert.

Mastodon hat eine Reihe von Abhängigkeiten, die installiert werden müssen. Dazu gehören Ruby, PostgreSQL, Node.js, Garn, Redis, Nginx e.t.c. In unseren Schritten werden alle Schritte besprochen, die erforderlich sind, um Mastodon unter Ubuntu 20 auszuführen.18.04.04 LTS.

Top-Features von Mastodon

Einrichtungsanforderungen

Die folgenden Softwareteile werden benötigt, um Mastodon auf Ubuntu 20 . einzurichten.18.04.04 Linux.

Wir gehen davon aus, dass Sie auch Folgendes bereithalten.

Schritt 1: System aktualisieren

Stellen Sie sicher, dass Ihr Server aktualisiert ist:

sudo apt -y update && sudo apt -y upgrade sudo reboot

Schritt 2: Knoten installieren.js & Garn

Knoten installieren.js

curl -sL https://deb.Knotenquelle.com/setup_8.x | sudo bash - sudo apt-get install -y nodejs

Bestätigen Sie die erfolgreiche Installation, indem Sie die Version überprüfen:

$ nodejs --version v8.10.0

Garn installieren:

curl -sS https://dl.Garnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.Garnpkg.com/debian/stable main" | sudo tee /etc/apt/sources.aufführen.d/garn.Liste sudo apt aktualisieren sudo apt -y Garn installieren

Schritt 3: Andere Abhängigkeitspakete installieren

Es gibt eine Reihe von Systemabhängigkeitspaketen, die erforderlich sind, um Mastodon auf Ubuntu 20 auszuführen.18.04.04. Stellen wir sicher, dass diese Pakete lokal installiert sind.

sudo apt install -y 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 libncures-dev5 -dev libffi-dev libgdbm5 libgdbm-dev nginx redis-server redis-tools certbot python-certbot-nginx Garn libidn11-dev libicu-dev libjemalloc-dev

Schritt 4: Ruby installieren

Die bevorzugte Art, Ruby auszuführen, ist mit rbenv da Sie mehrere Versionen einfach verwalten können. Wir erstellen einen Mastodon-Benutzer, der für diese Vorgänge verwendet wird.

sudo adduser --disabled-login mastodon sudo su - mastodon

Dann installieren rbenv und rbenv-build:

git-Klon https://github.com/rbenv/rbenv.git ~/.rbenv-CD ~/.rbenv && src/configure && make -C src echo 'export PATH="$HOME/.rbenv/bin:$PFAD"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc exec bash git-Klon https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Sobald dies erledigt ist, können wir die richtige Ruby-Version installieren:

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.5 rbenv global 2.6.5

Die standardmäßige Gem-Version, die mit geliefert wird rubin_2.6.0 ist mit dem neuesten Bundler nicht kompatibel, daher müssen wir Gem aktualisieren und Bundler installieren.

gem update --system gem install Bundler --no-document exit

Schritt 5: PostgreSQL-Datenbankserver installieren

Verwenden Sie unsere PostgreSQL-Installationsanleitung:

Installieren Sie die PostgreSQL-Datenbank Ubuntu

Anlegen eines Benutzers:

sudo -u postgres psql CREATE USER mastodon CREATEDB; \q

Schritt 6: Mastodon einrichten

Es ist Zeit, den Mastodon-Code herunterzuladen. Wechseln Sie zuerst von root oder Ihrem Benutzerkonto zum Mastodon-Benutzer:

sudo apt -y install git sudo su - mastodon

Klonen Sie den Mastodon-Code:

git-Klon https://github.com/tootsuite/mastodon.git live && cd live git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)

Installation der letzten Abhängigkeiten:

Edelsteininstallationsbundler: 1.17.3 Bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --ohne Entwicklung Testgarn installieren

Führen Sie den interaktiven Assistenten aus, um eine Konfiguration zu generieren:

RAILS_ENV=Produktionspaket Exec Rake Mastodon:Setup

Geben Sie die erforderlichen Informationen ein:

/home/mastodon/.rbenv/versionen/2.6.5/lib/ruby/gems/2.6.0/Edelsteine/Bündel-1.17.3/lib/bundler/rubygems_integration.rb:200: Warnung: Konstante Gem::ConfigMap ist veraltet Ihre Instanz wird durch ihren Domänennamen identifiziert. Wenn Sie es später ändern, wird die Sache kaputt gehen. Domainname: Beispiel.com Einzelbenutzermodus deaktiviert Registrierungen und leitet die Zielseite zu Ihrem öffentlichen Profil um. Möchten Sie den Einzelbenutzermodus aktivieren?? Ja Verwenden Sie Docker, um Mastodon auszuführen?? nein PostgreSQL-Host: /var/run/postgresql PostgreSQL-Port: 5432 Name der PostgreSQL-Datenbank: mastodon_production Name des PostgreSQL-Benutzers: mastodon Passwort des PostgreSQL-Benutzers: Datenbankkonfiguration funktioniert! 🎆 Redis-Host: localhost Redis-Port: 6379 Redis-Passwort: Redis-Konfiguration funktioniert! 🎆 Möchten Sie hochgeladene Dateien in der Cloud speichern?? Nein Möchten Sie E-Mails von localhost versenden? ja E-Mail-Adresse zum Versenden von E-Mails "von": Mastodon  Senden Sie jetzt eine Test-E-Mail mit dieser Konfiguration? nein Diese Konfiguration wird geschrieben .env.Produktion Konfiguration speichern? Ja

Stimmen Sie zu, Assets zu kompilieren, wenn Sie dazu aufgefordert werden:

Getan! Der letzte Schritt ist das Kompilieren von CSS/JS-Assets. Dies kann eine Weile dauern und viel RAM verbrauchen. Stellen Sie jetzt die Assets zusammen? Ja Ausführen von 'RAILS_ENV=production rails assets:precompile'… /home/mastodon/.rbenv/versionen/2.6.5/lib/ruby/gems/2.6.0/Edelsteine/Bündel-1.17.3/lib/bundler/rubygems_integration.rb:200: Warnung: konstant Gem::ConfigMap ist veraltet /home/mastodon/.rbenv/versionen/2.6.5/lib/ruby/gems/2.6.0/Edelsteine/Bündel-1.17.3/lib/bundler/rubygems_integration.rb:200: Warnung: konstant Gem::ConfigMap ist veraltet /home/mastodon/.rbenv/versionen/2.6.5/lib/ruby/gems/2.6.0/Edelsteine/Bündel-1.17.3/lib/bundler/rubygems_integration.rb:200: Warnung: konstant Gem::ConfigMap ist veraltete Garninstallation v1.21.1 [1/6] Validierungspaket.json… [2/6] Pakete werden aufgelöst… [3/6] Pakete werden abgerufen… info [email protected]: Die Plattform "Linux" ist mit diesem Modul nicht kompatibel. info "[email protected]" ist eine optionale Abhängigkeits- und fehlgeschlagene Kompatibilitätsprüfung. Von der Installation ausschließen. info [email protected]: Die Plattform "linux" ist mit diesem Modul nicht kompatibel. info "[email protected]" ist eine optionale Abhängigkeits- und fehlgeschlagene Kompatibilitätsprüfung. Von der Installation ausschließen. [4/6] Abhängigkeiten werden verknüpft… Warnung " > [email protected]" hat falsche Peer-Abhängigkeit "[email protected]^3.0.0 || ^4.0.0 || ^5.0.0". [5/6] Frische Pakete bauen… [6/6] Module reinigen… Fertig in 12.60er… 

Stimmen Sie zu, ein Administratorkonto zu erstellen

Getan! Alles erledigt! Sie können jetzt den Mastodon-Server einschalten 🐘 Möchten Sie sofort einen Admin-Benutzer erstellen? Ja Benutzername: Administrator Email: [E-Mail geschützt] Sie können sich mit dem Passwort anmelden: 1b417e401f44c3db5d30f2f2f2a2328b Sie können Ihr Passwort ändern, sobald Sie sich angemeldet haben.

Upgrade-Garn:

Garn-Upgrade

Schritt 7: Einrichten von nginx für Mastodon

Wir verwenden Nginx als Reverse-Proxy für unsere Mastodon-Anwendung. Überprüfen Sie, ob der nginx-Dienst ausgeführt wird:

$ systemctl status nginx ● nginx.service - Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server Geladen: geladen (/lib/systemd/system/nginx.Bedienung; aktiviert; Herstellervoreinstellung: aktiviert) Aktiv: aktiv (läuft) seit Di 07.01.2020 08:25:31 UTC; vor 7h Docs: man:nginx(8) Main PID: 14626 (nginx) Aufgaben: 2 (Limit: 2361) CGroup: /system.Scheibe/nginx.Dienst ├─14626 nginx: Masterprozess /usr/sbin/nginx -g Daemon an; master_process an; └─14629 nginx: Arbeitsprozess 

Kopieren Sie nun die Konfigurationsvorlage für nginx aus dem Mastodon-Verzeichnis:

sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon.conf

Bearbeiten Sie die Datei, um den richtigen DNS-Namen für Ihre Anwendung festzulegen:

sudo vim /etc/nginx/sites-available/mastodon.conf

Wenn Sie fertig sind, aktivieren Sie die Konfiguration:

sudo ln -s /etc/nginx/sites-available/mastodon.conf /etc/nginx/sites-enabled/mastodon.conf sudo systemctl Neustart nginx

Wenn die ufw-Firewall ausgeführt wird, erlauben Sie den Service-Port:

sudo ufw erlauben 'Nginx Full'

Verwenden des SSL-Zertifikats von Let's Encrypt

Wenn Sie ein Let's Encrypt-Zertifikat verwenden möchten, führen Sie den folgenden Befehl aus:

sudo certbot --nginx -d Beispiel.com 

Beispielausgabe:

$ sudo certbot --nginx -d social.Computerforgeeks.com Debug-Protokoll in /var/log/letsencrypt/letsencrypt speichern.log Ausgewählte Plugins: Authenticator nginx, Installer nginx E-Mail-Adresse eingeben (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (zum Abbrechen 'c' eingeben): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org/dokumente/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02 . zu registrieren.api.letsencrypt.org/Verzeichnis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)grün/(C )ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit zu teilen Ihre E-Mail-Adresse bei der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot . entwickelt? Wir möchten Ihnen eine E-Mail über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Beziehen eines neuen Zertifikats Durchführen der folgenden Challenges: http-01 Challenge for social.Computerforgeeks.com Warten auf Verifizierung… Herausforderungen bereinigen Zertifikat auf VirtualHost bereitstellen /etc/nginx/sites-enabled/mastodon.conf Bitte wählen Sie, ob HTTP-Datenverkehr auf HTTPS umgeleitet und HTTP-Zugriff entfernt werden soll. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Keine Weiterleitung - Nehmen Sie keine weiteren Änderungen an der Webserver-Konfiguration vor. 2: Umleitung – Alle Anfragen an einen sicheren HTTPS-Zugriff umleiten. Wählen Sie diese Option für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen): 2 Umleiten des gesamten Datenverkehrs auf Port 80 an SSL in /etc/nginx/sites-enabled/mastodon.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Herzlichen Glückwunsch! Sie haben https://social erfolgreich aktiviert.Computerforgeeks.com Sie sollten Ihre Konfiguration testen unter: https://www.ssllabs.com/ssltest/analyze.html?d=sozial.Computerforgeeks.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WICHTIGE HINWEISE: - Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter: /etc/letsencrypt/live/social.Computerforgeeks.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter: /etc/letsencrypt/live/social.Computerforgeeks.com/privkey.pem Ihr Zertifikat läuft am 06.04.2020 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie certbot einfach erneut mit der Option "certonly" aus. Um *alle* Ihrer Zertifikate nicht interaktiv zu erneuern, führen Sie "certbot renew" aus - Ihre Zugangsdaten wurden in Ihrem Certbot-Konfigurationsverzeichnis unter /etc/letsencrypt gespeichert. Sie sollten jetzt ein sicheres Backup dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden, daher ist es ideal, regelmäßige Backups dieses Ordners zu erstellen. - Wenn Ihnen Certbot gefällt, denken Sie bitte daran, unsere Arbeit zu unterstützen, indem Sie an ISRG / Let's Encrypt spenden: https://letsencrypt.org/spenden Spenden an EFF: https://eff.org/donate-le

Ersetzend Beispiel.com mit Ihrem tatsächlichen Domainnamen für die Mastodon-Anwendung.

Schritt 8: Systemd-Dienste einrichten

Kopieren Sie die systemd-Dienstvorlagen aus dem Mastodon-Verzeichnis:

sudo cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/

Bearbeiten Sie dann die Dateien, um sicherzustellen, dass der Benutzername und die Pfade korrekt sind:

Schließlich starten und aktivieren Sie die neuen systemd-Dienste:

sudo systemctl daemon-reload für i im Web-Sidekiq-Streaming; do sudo systemctl mastodon-$i aktivieren && sudo systemctl mastodon-$i neu starten; getan

Status aller Dienste prüfen:

für i im Web-Sidekiq-Streaming; do systemctl status mastodon-$i; getan

Schritt 9: Zugriff auf das Mastodon-Dashboard

Besuchen Sie jetzt Ihre Domain im Browser, um auf das Mastodon-Dashboard zuzugreifen.

Klicken Sie auf den Login-Button, um sich anzumelden. Ich werde die verwenden Administrator Benutzername E-Mail-Adresse und Passwort zuvor generiert.

Gehen Sie das erste Tutorial durch, um die Einrichtung abzuschließen.

Sie sollten jetzt mit einem fantastischen Mastodon-Dashboard begrüßt werden.

Hurra!, Sie haben Mastodon erfolgreich auf Ubuntu 20 . installiert.18.04.04 Linux.

Referenz:

Gelöschte Dateien mit dem EaseUS Data Recovery Wizard wiederherstellen
Verlorene Dateien, versehentliches Löschen von Dateien und schlimmere Partitionen sind ein Albtraum. Stellen Sie sich vor, eine Sammlung Ihres Familie...
Installieren Sie den Google Hangouts-Client auf CentOS 8
Hallo Computingforgeeks-Community. In der heutigen Anleitung führe ich Sie durch die Installation des Google Hangouts-Clients auf CentOS 8. Google Han...
Generieren Sie selbstsignierte OpenSSL-Zertifikate mit Ansible
OpenSSL ist ein robustes, kommerzielles Toolkit mit vollem Funktionsumfang für die Protokolle Transport Layer Security (TLS) und Secure Sockets Layer ...