In diesem Tutorial führen wir Sie durch den Prozess der Installation von Mastodon auf einem Debian 9 VPS.
Mastodon ist ein kostenloses soziales Open-Source-Netzwerk, das auf dem offenen Webprotokoll basiert. Es verwendet Ruby on Rails für das Backend und React.js und Redux für das Frontend. Diese Social-Media-Plattform ist Twitter sehr ähnlich und konzentriert sich auf das Teilen von Text und Medien. Diese Open-Source-Plattform bedeutet, dass Sie ein privates soziales Netzwerk betreiben können, das Sie und Ihre Freunde privat und ohne Werbung nutzen können.
Diese Anleitung sollte auch auf anderen Linux VPS-Systemen funktionieren, aber sie wurde für einen Debian 9 VPS getestet und geschrieben. Der Installationsvorgang sollte nicht zu lange dauern, der längste Teil ist der Kompilierungsprozess. Beginnen wir mit der Installation.
Voraussetzungen:
- Ein Debian 9 VPS.
- Ein Benutzerkonto mit sudo-Berechtigungen oder Zugriff auf den „Root“-Benutzer selbst.
Schritt 1:Erforderliche Pakete installieren
Melden Sie sich über SSH als root oder als sudo-Benutzer bei Ihrem VPS an:
ssh userame@IP_Address -p Port_Number
Ersetzen Sie „IP_Address“ und „Port_Number“ durch die jeweilige IP-Adresse und die SSH-Portnummern Ihres Servers. Ersetzen Sie außerdem „Benutzername“ durch „root“ für den Root-Benutzer oder durch den Namen des Administratorkontos, das Sie verwenden möchten.
Führen Sie nach der Anmeldung die folgenden Befehle aus, um alle installierten Pakete auf ihre neuesten verfügbaren Versionen zu aktualisieren:
sudo apt-get update sudo apt-get upgrade
Installieren Sie die erforderlichen Pakete mit dem folgenden Befehl:
sudo apt-get install curl gcc g++ make \ imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \ libprotobuf-dev protobuf-compiler pkg-config autoconf \ bison build-essential libssl-dev libyaml-dev libreadline-dev \ zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \ libidn11-dev libicu-dev libjemalloc-dev
Diese Pakete decken alle Anforderungen für Mastodon ab, von der Medienkonvertierung bis hin zu Streaming-Diensten.
Schritt 2:Node.js und Yarn installieren
Wir werden Node.js und Yarn aus ihren offiziellen Repositories installieren.
Aktivieren Sie das NodeSource-Repository mit dem folgenden Curl-Befehl:
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
Um Node.js 8.x LTS Carbon und npm zu installieren, führen Sie diesen nächsten Befehl aus:
sudo apt-get install nodejs
Importieren Sie den GPG-Schlüssel des Yarn-APT-Repositorys und aktivieren Sie ihn, indem Sie Folgendes ausführen:
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Installieren Sie Yarn mit dem folgenden Befehl:
sudo apt-get update && sudo apt-get install yarn
Schritt 3:PostgreSQL installieren
Mastodon kann PostgreSQL als Datenbank-Backend verwenden.
Wenn der PostgreSQL-Server noch nicht auf Ihrem Server installiert ist, können Sie die neueste PostgreSQL-Version installieren, indem Sie den folgenden Befehl ausführen:
sudo apt-get install postgresql postgresql-contrib
Melden Sie sich nach Abschluss der Installation bei der PostgreSQL-Shell an:
sudo -u postgres psql
Erstellen Sie einen neuen Benutzer für die Mastodon-Instanz:
CREATE USER mastodon CREATEDB;
Schritt 4:Redis installieren
Die Installation von Redis ist ziemlich einfach, führen Sie einfach den folgenden Befehl aus:
sudo apt-get install redis-server
Schritt 5:Erstellen Sie einen neuen Systembenutzer
Erstellen Sie einen neuen Systembenutzer, der den Mastodon-Server ausführt:
sudo adduser --home /opt/mastodon --disabled-login --gecos 'Mastodon Application' mastodon
Schritt 6:Ruby installieren
Wir werden Ruby mit dem Rbenv-Skript installieren.
Wechseln Sie vor dem Klonen des rbenv-Repositorys zu dem neuen Mastodon-Benutzer, den wir im vorherigen Schritt erstellt haben:
sudo su - mastodon
Richten Sie „rbenv“ und „ruby-build“ mit den folgenden Befehlen ein:
cd git clone https://github.com/rbenv/rbenv.git ~/.rbenv cd ~/.rbenv && src/configure && make -C src echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc exec bash git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Sobald sowohl „rbenv“ als auch „ruby-build“ eingestellt sind, installieren Sie die neueste Ruby-Version mit:
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.1 rbenv global 2.6.1
Aktualisieren Sie den Gem und installieren Sie den Bundler, damit er mit der Version von rbenv funktioniert, die wir gerade installiert haben.:
gem update --system gem install bundler --no-document
Um zu überprüfen, ob alles richtig gemacht wurde, verwenden Sie den Befehl ruby --version
.
Die Ausgabe sollte ungefähr so aussehen:
ruby --version ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]
Schritt 7:Mastodon einrichten
Die folgenden Befehle werden auch als Mastodon-Benutzer ausgeführt.
Klonen Sie das Mastodon-Git-Repository in ~/live
Verzeichnis und Auschecken zum neuesten stabilen Mastodon-Zweig:
cd git clone https://github.com/tootsuite/mastodon.git ~/live cd ~/live git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
Installieren Sie die Ruby-Abhängigkeiten mit dem folgenden Befehl:
bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without development test
Installieren Sie die node.js-Abhängigkeiten mit:
yarn install --pure-lockfile
Wechseln Sie in das Installationsverzeichnis von Mastodon und führen Sie den folgenden Befehl aus, um das Setup zu starten:
cd ~/live RAILS_ENV=production bundle exec rake mastodon:setup
Das Installationsprogramm stellt Ihnen mehrere Fragen, generiert ein neues App-Secret, richtet das Datenbankschema ein und kompiliert die Assets. Dies kann je nach Hardware Ihres Servers eine Weile dauern:
Your instance is identified by its domain name. Changing it afterward will break things. Domain name: your-domain.com Single user mode disables registrations and redirects the landing page to your public profile. Do you want to enable single user mode? No Are you using Docker to run Mastodon? no PostgreSQL host: /var/run/postgresql PostgreSQL port: 5432 Name of PostgreSQL database: mastodon_production Name of PostgreSQL user: mastodon Password of PostgreSQL user: Database configuration works! 🎆 Redis host: localhost Redis port: 6379 Redis password: Redis configuration works! 🎆 Do you want to store uploaded files on the cloud? No Do you want to send e-mails from localhost? yes E-mail address to send e-mails "from": Mastodon <[email protected]> Send a test e-mail with this configuration right now? no This configuration will be written to .env.production Save configuration? Yes Now that configuration is saved, the database schema must be loaded. If the database already exists, this will erase its contents. Prepare the database now? Yes Running `RAILS_ENV=production rails db:setup` ... Created database 'mastodon_production' ... Done! The final step is compiling CSS/JS assets. This may take a while and consume a lot of RAM. Compile the assets now? Yes Running `RAILS_ENV=production rails assets:precompile` ... yarn install v1.9.4 ... Using /opt/mastodon/live/config/webpacker.yml file for setting up webpack paths Compiling… Compiled all packs in /opt/mastodon/live/public/packs Rendering errors/500.html.haml within layouts/error Rendered errors/500.html.haml within layouts/error (2596.9ms) Done! All done! You can now power on the Mastodon server 🐘 Do you want to create an admin user straight away? Yes Username: admin E-mail: [email protected] You can login with the password: 7594c5bab89c1f0b0e47438f6074fb02 You can change your password once you login.
Wenn Sie fertig sind, wechseln Sie zurück zu Ihrem sudo-Benutzer, indem Sie Folgendes ausführen:
exit
Schritt 8:Nginx einrichten
Installieren Sie Nginx und Certbot mit dem folgenden Befehl:
sudo apt-get install nginx certbot
Kopieren Sie nach der Installation von Nginx die Nginx-Konfigurationsvorlage aus dem Mastodon-Installationsverzeichnis:
sudo cp /opt/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon.conf sudo ln -s /etc/nginx/sites-available/mastodon.conf /etc/nginx/sites-enabled/mastodon.conf
Führen Sie den folgenden Befehl aus, um den Mastodon-Installationsverzeichnispfad und den Domänennamen zu ändern. Vergessen Sie nicht, „your-domain.com“ durch Ihren registrierten Domainnamen zu ersetzen:
sudo sed -i 's/home/opt/g' /etc/nginx/sites-enabled/mastodon.conf sudo sed -i 's/example.com/your-domain.com/g' /etc/nginx/sites-enabled/mastodon.conf
Starten Sie Nginx neu, damit die Änderungen wirksam werden:
sudo systemctl restart nginx
Verwenden Sie als Nächstes certbot, um ein kostenloses SSL-Zertifikat mit Let’s Encrypt zu erhalten:
sudo certbot --nginx -d your-domain.com
Die Maut erhält ein kostenloses SSL-Zertifikat von Let’s encrypt und konfiguriert die Nginx-Konfiguration neu.
Schritt 9:Systemdienste einrichten
Kopieren Sie die systemd-Unit-Dateien aus dem Mastodon-Verzeichnis:
sudo cp /opt/mastodon/live/dist/mastodon-*.service /etc/systemd/system/
Führen Sie den folgenden Befehl aus, um den Installationsverzeichnispfad von Mastodon zu ändern:
sudo sed -i 's/home/opt/g' /etc/systemd/system/mastodon-*.service
Starten und aktivieren Sie schließlich die neuen systemd-Dienste:
for i in mastodon-web mastodon-sidekiq mastodon-streaming; do sudo systemctl start $i sudo systemctl enable $i done
An diesem Punkt können Sie Ihre Domain im Browser öffnen und die Mastodon-Installation abschließen.
Das ist es. Sie haben Mastodon erfolgreich auf Ihrem Debian 9 VPS installiert. Weitere Informationen zur Verwaltung Ihrer Mastodon-Installation finden Sie in der offiziellen Mastodon-Dokumentation.
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie einzurichten. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken, indem Sie die unten stehenden Verknüpfungen zum Teilen verwenden, oder hinterlassen Sie einfach einen Kommentar unten im Kommentarbereich. Danke.