Mastodon bei Hostsharing: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
Zeile 87: Zeile 87:


     yarn install --pure-lockfile
     yarn install --pure-lockfile
Initialisieren der Datenbank:
    export SAFETY_ASSURED=1
    RAILS_ENV=production bundle exec rails db:schema:load
    RAILS_ENV=production bundle exec rails db:seed


== Einrichten des Apache VHost ==
== Einrichten des Apache VHost ==

Version vom 7. August 2018, 16:24 Uhr


Diese Seite muss überarbeitet werden

Diese Seite wurde als Baustelle gekennzeichnet, weil sie überarbeitet werden muss. Eine Begründung dafür findest du auf der Diskussionsseite. Bitte hilf mit, diese Seite zu verbessern!

Für Managed Server

Ein funktionierender Mastodon-Server erfordert mehrere laufende Server-Dienste. Für den Betrieb ist ein Managed Server sinnvoll.


Vorbereitungen

Mit Hilfe von HSAdmin wird angelegt:

  1. Ein User als Service-User mit /bin/bash als Shell, zum Beispiel Beispiel: xyz00-mastodon
  2. Eine Domain mit xyz00-mastodon als Domain-Administrator, zum Beispiel beispiel.social
  3. Einen Postgresql-User xyz00_mastuser mit Passwort meinPasswort
  4. Eine Postgresql-Datenbank xyz00_mastdb mit Datenbank-Owner xyz00_mastuser

Konfiguration des Redis Server

Anlegen einer Datei /home/pacs/xyz00/users/mastodon/redis/etc/redis.conf mit folgendem Inhalt:

   daemonize yes
   pidfile /home/pacs/xyz00/users/mastodon/redis/var/redis-server.pid
   port 32201
   tcp-backlog 128
   bind 127.0.0.1
   timeout 300
   loglevel notice
   logfile /home/pacs/xyz00/users/mastodon/redis/var/redis.log
   databases 16
   save 900 1
   save 300 10
   save 60 10000
   slave-serve-stale-data yes
   appendonly no
   dbfilename dump.rdb
   dir /home/pacs/xyz00/users/mastodon/redis/var

Installation von NodeJS

Als User 'xyz00-mastodon: Installation von nvm und nodejs (Version 6) nach der Anleitung NodeJS

Installation von yarn mit:

   npm install -g yarn

Installation von Ruby

Als User xyz00-mastodon: Installation von Ruby mit rbenv mit folgenden Befehlen:

Zunächst rbenv and ruby-build:

   git clone https://github.com/rbenv/rbenv.git ~/.rbenv
   cd ~/.rbenv && src/configure && make -C src
   echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
   echo 'eval "$(rbenv init -)"' >> ~/.profile

starte neue Shell:

   exec bash

Überprüfe rbenv-Installation

   type rbenv

Installiere ruby-build als rbenv-Plugin

   git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Nun kann die benötigte Ruby-Bersion installiert werden:

   rbenv install 2.5.1

Installation der Mastodon Software

Weiterhin Als User xyz00-mastodon:

   cd ~
   git clone https://github.com/tootsuite/mastodon.git live
   cd ~/live

Die stabile Version auschecken:

   git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)

Ruby Pakete installieren:

   gem install bundler
   bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without development test

Node.js Pakete installieren:

   yarn install --pure-lockfile

Initialisieren der Datenbank:

   export SAFETY_ASSURED=1
   RAILS_ENV=production bundle exec rails db:schema:load
   RAILS_ENV=production bundle exec rails db:seed

Einrichten des Apache VHost

   cd ~/doms/beispiel.social
   rm -rf htdocs-ssl subs/www subs-ssl/www
   ln -s ~/live/public htdocs-ssl
   touch htdocs-ssl/.htaccess

Dann die htdocs-ssl/.htaccess mit dem Editor der Wahl öffnen und folgende Konfiguration einfügen:

   DirectoryIndex disabled
   RewriteEngine On
   RewriteBase /
   RewriteCond %{REQUEST_URI}  ^/api/v1/streaming    [NC]
   RewriteRule .* ws://localhost:4000%{REQUEST_URI}  [proxy]
   RequestHeader set X-Forwarded-Proto "https"
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule .* http://localhost:3000%{REQUEST_URI} [proxy]
   RequestHeader set X-Forwarded-Proto "https"

Die Ports 3000 und 4000 sind die Voreinstellung von Mastodon und sollten angepasst werden.

Links