Mastodon bei Hostsharing: Unterschied zwischen den Versionen
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:
- Ein User als Service-User mit /bin/bash als Shell, zum Beispiel Beispiel: xyz00-mastodon
- Eine Domain mit xyz00-mastodon als Domain-Administrator, zum Beispiel beispiel.social
- Einen Postgresql-User xyz00_mastuser mit Passwort meinPasswort
- 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.