-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
0. Überblick
- Verwendetes System: Debian 11 64 bit - VPS XXL 2.0
- Genutzter User: Ich nehme alles als „root“ vor
- Zeitdauer: ca. 10 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren. Diese Anleitung muss zuerst ausgeführt werden.
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
1. Diaspora installieren
1.1 Einleitung
Diaspora ist ein freies, offenes soziales Netzwerk. Im Gegensatz zu anderen bekannten großen sozialen Netzwerken, ist Diaspora als dezentrales, verteiltes System aufgebaut.
1.2 Infos zu yml Dateien
Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Du kannst den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator
1.3 Vorbereitung
Diese Anleitung basiert auf dem aktuellen Debian 11 Betriebssystem. Diaspora werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.
Um Diaspora neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu findest du hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
Diese Anleitung passt auf die obige Traefik Anleitung. Daher lässt sich diese Anleitung nur 1:1 nutzen, wenn du Traefik nach der obigen Anleitung installiert hat.
1.3.1 Verzeichnis anlegen
Zuerst legen wir uns ein Verzeichnis an, in welchem wir später alle Daten von Diaspora speichern wollen.
mkdir -p /opt/containers/diaspora
Den Pfad kannst du gerne anpassen. Dann kannst du diese Anleitung aber nicht mehr 1:1 nutzen.
1.3.2 Docker Compose Datei erstellen
Nun legen wir uns noch eine Docker Compose Datei an. Diese ist der „Bauplan“ für Diaspora. Dazu gibst du folgendes in der Konsole ein:
nano /opt/containers/diaspora/docker-compose.yml
Nun kopierst du folgenden Inhalt:
version: '3'
services:
diaspora:
image: koehn/diaspora:0.7.17.0
container_name: diaspora
restart: unless-stopped
volumes:
- ./images:/home/diaspora/diaspora/public/uploads/images
- ./diaspora.yml:/home/diaspora/diaspora/config/diaspora.yml:ro
- ./database.yml:/home/diaspora/diaspora/config/database.yml:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.diaspora.entrypoints=http"
- "traefik.http.routers.diaspora.rule=Host(`diaspora.euredomain.de`)" # Hier eure URL eingeben #
- "traefik.http.middlewares.diaspora-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.diaspora.middlewares=diaspora-https-redirect"
- "traefik.http.routers.diaspora-secure.entrypoints=https"
- "traefik.http.routers.diaspora-secure.rule=Host(`diaspora.euredomain.de`)" # Hier eure URL eingeben #
- "traefik.http.routers.diaspora-secure.tls=true"
- "traefik.http.routers.diaspora-secure.tls.certresolver=http"
- "traefik.http.routers.diaspora-secure.service=diaspora"
- "traefik.http.services.diaspora.loadbalancer.server.port=3000"
- "traefik.docker.network=proxy"
- "traefik.http.routers.diaspora-secure.middlewares=secHeaders@file"
networks:
- proxy
- default
postgres:
image: postgres:10-alpine
container_name: diaspora-db
restart: unless-stopped
environment:
- POSTGRES_USER=diaspora
- POSTGRES_PASSWORD=diaspora
- POSTGRES_DB=diaspora_production
volumes:
- ./postgres:/var/lib/postgresql/data
- ./postgres-run:/var/run/postgresql
networks:
- default
redis:
image: redis:latest
container_name: diaspora-redis
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- ./redis:/data
networks:
- default
networks:
proxy:
external: true
Nun müssen wir noch einiges anpassen.
1.3.3 Hostname anpassen
Zuerst musst du noch den Hostnamen anpassen, über welchen später Diaspora erreichbar sein soll.
Diese beiden Zeilen musst du anpassen.
- "traefik.http.routers.diaspora.rule=Host(`diaspora.euredomain.de`)"
- "traefik.http.routers.diaspora-secure.rule=Host(`diaspora.euredomain.de`)"
In meinem Fall also:
- "traefik.http.routers.diaspora.rule=Host(`diaspora.testbereich.net`)"
- "traefik.http.routers.diaspora-secure.rule=Host(`diaspora.testbereich.net`)"
1.3.4 Postgres Passwort anpassen
Hier musst du lediglich folgende Zeile anpassen. Setze ein sicheres Passwort deiner Wahl.
vorher:
- POSTGRES_PASSWORD=diaspora
nachher:
- POSTGRES_PASSWORD=Ad123Dd21uf3
1.3.5 Verbindung zur Datenbank herstellen
Um die Verbindung zur Datenbank herzustellen, benötigen wir noch eine Konfigurationsdatei. Diese erstellen wir nun. Dazu gibst du folgendes ein:
nano /opt/containers/diaspora/database.yml
Hier kopierst du nun folgendes hinein:
postgresql: &postgresql
adapter: postgresql
host: diaspora-db
port: 5432
username: diaspora
password: diaspora
encoding: unicode
mysql: &mysql
adapter: mysql2
host: "localhost"
port: 3306
username: "root"
password: ""
# socket: /tmp/mysql.sock
encoding: utf8mb4
collation: utf8mb4_bin
# Comment the postgresql line and uncomment the mysql line
# if you want to use mysql
common: &common
# Choose one of the following
<<: *postgresql
#<<: *mysql
# Should match environment.sidekiq.concurrency
#pool: 25
##################################################
#### CONFIGURE ABOVE #############################
##################################################
# Normally you don't need to touch anything here
combined: &combined
<<: *common
development:
<<: *combined
database: diaspora_development
production:
<<: *combined
database: diaspora_production
test:
<<: *combined
database: "diaspora_test"
integration1:
<<: *combined
database: diaspora_integration1
integration2:
<<: *combined
database: diaspora_integration2
Nun müssen wir noch das Kennwort ändern. Hier musst du das selbe Passwort verwenden, welches du in Schritt 1.3.4 vergeben hast.
vorher:
password: diaspora
nachher:
password: Ad123Dd21uf3
1.3.6 Diaspora Konfiguration erstellen
Diaspora wird zum großen Teil per Konfigurationsdatei konfiguriert. Da die Konfigurationsdatei sehr groß ist, laden wir uns hier eine Beispiel-Konfiguration herunter, welche wir später anpassen werden.
Zum Download gibst du folgendes ein:
wget https://raw.githubusercontent.com/psaxton/docker-koehn-diaspora/master/compose/diaspora.yml.example
Nun benennen wir die Datei noch um. Dazu gibst du folgendes ein:
mv diaspora.yml.example diaspora.yml
Diese Datei passen wir nun an. Dazu gibst du folgendes ein:
nano /opt/containers/diaspora/diaspora.yml
Hier musst du direkt oben in der Datei folgendes ändern:
vorher:
# url: "https://example.org/"
redis: 'redis://redis'
nachher:
url: "https://diaspora.testbereich.net"
redis: 'redis://diaspora-redis'
So sieht es bei mir aus:
Nun scrollst du bis zum Bereich „assets“. Hier änderst du folgendes ab:
vorher:
# serve: false
nachher:
serve: true
Dies sollte so aussehen:
Das sind die wichtigsten Einstellungen, damit du Diaspora später nutzen kannst. In der Konfiguration gibt es aber noch sehr viele andere Einstellungen, welche du nach Bedarf anpassen kannst.
2. Diaspora starten
Nun kannst du Diaspora starten. Dazu gibst du folgendes ein:
docker compose -f /opt/containers/diaspora/docker-compose.yml up -d
Nach einigen Minuten sollte Diaspora im Browser zur Verfügung stehen. Dazu gehst du auf die Domain, welche du in der Docker Compose Konfiguration eingegeben hast. Bei mir ist dies: https://diaspora.testbereich.net
Jetzt solltest du folgendes sehen:
2.1 Administrator anlegen
Dazu müssen wir uns zuerst einen „normalen“ Benutzer anlegen. Diesen können wir dann zum Administrator machen.
Den neuen Benutzer legst du an, indem du oben rechts auf „Konto erstellen“ klickst.
Nun siehst du folgende Webseite. Hier erstellst du nun deinen neuen Benutzer.
Wenn der Benutzer erstellt wurde, solltest du folgendes sehen:
Nun können wir Benutzer zum Administrator machen. Wichtig dabei ist, dass der Diaspora Container gestartet ist.
Du gibst folgendes in deiner Konsole ein:
docker exec -it diaspora /bin/bash
cd diaspora/
RAILS_ENV=production bundle exec rails console
Hier musst du nun deinen Nutzernamen anpassen:
Role.add_admin User.where(username: "<Nutzername>").first.person
Mein Benutzer heißt „dogado“. Also sieht die Zeile bei mir so aus:
Role.add_admin User.where(username: "dogado").first.person
Wenn alles funktioniert hat, solltest du folgendes sehen:
Nun kannst du deinen Container mit folgendem Befehl wieder verlassen
exit
exit
Hier alle Befehle auf einen Blick
Nachdem du dich bei Diaspora neu angemeldet hast, solltest du oben rechts unter deinem Namen den Reiter „Admin“ sehen.
Mit einem Klick darauf kommst du ins Admin Interface.