-
Was ist ein VPS?
-
VPS und Sicherheit
-
VPS - Anwendungsfälle
-
VPS bei METANET
-
VPS und Plesk
-
VPS - Einrichtung & Konfiguration
0. Überblick
- Verwendetes System: Debian 11 64 bit - Cloud Server M
- Genutzter User: Ich nehme alles als «root» vor
- Zeitdauer: ca. 10 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung. Diese Anleitung muss zuerst ausgeführt werden.
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
1. Friendica installieren
1.1 Einleitung
Friendica ist ein verteiltes soziales Netzwerk. Die Vorteile von Friendica gegenüber anderen sozialen Netzwerken sind, dass es auf dem eigenen Server installiert und nach den eignen Wünschen angepasst werden kann.
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. Sie können 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. Friendica werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.
Um Friendica neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik.
Diese Anleitung passt auf die obige Traefik Anleitung. Daher lässt sich diese Anleitung nur 1:1 nutzen, wenn Sie Traefik nach der obigen Anleitung installiert haben.
1.3.1 Verzeichnis anlegen
Zuerst legen wir uns ein Verzeichnis an, in welchem wir später alle Daten von Friendica speichern wollen.
mkdir -p /opt/containers/friendica/build
Den Pfad können Sie gerne anpassen. Dann können Sie 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 Friendica. Dazu geben Sie folgendes in der Konsole ein:
nano /opt/containers/friendica/docker-compose.yml
Nun kopieren Sie folgenden Inhalt:
version: '3'
services:
friendica-db:
image: mariadb
container_name: friendica-db
restart: unless-stopped
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_USER=friendica
- MYSQL_PASSWORD=friendica
- MYSQL_DATABASE=friendica
- MYSQL_RANDOM_ROOT_PASSWORD=yes
networks:
- default
friendica:
image: friendica
container_name: friendica
restart: unless-stopped
volumes:
- ./daten:/var/www/html
environment:
- MYSQL_HOST=db
- MYSQL_USER=friendica
- MYSQL_PASSWORD=friendica
- MYSQL_DATABASE=friendica
- SMTP=SMTP Server
- SMTP_PORT=587
- SMTP_DOMAIN=euredomain.de
- SMTP_FROM=absender
- SMTP_TLS=true
- SMTP_AUTH=on
- SMTP_AUTH_USER=Nutzername
- SMTP_AUTH_PASS=Passwort
labels:
- "traefik.enable=true"
- "traefik.http.routers.friendica.entrypoints=http"
- "traefik.http.routers.friendica.rule=Host(`friendica.euredomain.de`)" # Hier Ihre URL eingeben #
- "traefik.http.middlewares.friendica-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.friendica.middlewares=friendica-https-redirect"
- "traefik.http.routers.friendica-secure.entrypoints=https"
- "traefik.http.routers.friendica-secure.rule=Host(`friendica.euredomain.de`)" # Hier Ihre URL eingeben #
- "traefik.http.routers.friendica-secure.tls=true"
- "traefik.http.routers.friendica-secure.tls.certresolver=http"
- "traefik.http.routers.friendica-secure.service=friendica"
- "traefik.http.services.friendica.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
- "traefik.http.routers.friendica-secure.middlewares=secHeaders@file"
networks:
- proxy
- default
friendica-cron:
build: ./build
container_name: friendica-cron
restart: unless-stopped
volumes:
- ./daten:/var/www/html
entrypoint: /cron.sh
environment:
- MYSQL_USER=friendica
- MYSQL_PASSWORD=friendica
- MYSQL_DATABASE=friendica
- MYSQL_HOST=friendica-db
- MYSQL_PORT=3306
networks:
- default
networks:
proxy:
external: true
Nun müssen wir noch einiges anpassen.
1.3.3 Hostname anpassen
Zuerst müssen Sie noch den Hostnamen anpassen, über welchen später Friendica erreichbar sein soll.
Diese beiden Zeilen müssen Sie anpassen.
- "traefik.http.routers.friendica.rule=Host(`friendica.euredomain.de`)"
- "traefik.http.routers.friendica-secure.rule=Host(`friendica.euredomain.de`)"
In meinem Fall also:
- "traefik.http.routers.friendica.rule=Host(`friendica.testbereich.net`)"
- "traefik.http.routers.friendica-secure.rule=Host(`friendica.testbereich.net`)"
1.3.4 Datenbank Passwort anpassen
Hier müssen Sie lediglich folgende Zeile anpassen. Wählen Sie hier ein sicheres Kennwort.
vorher:
friendica-db:
- MYSQL_PASSWORD=friendica
friendica-cron:
- MYSQL_PASSWORD=friendica
nachher:
friendica-db:
- MYSQL_PASSWORD=Fahs213Avnbgr
friendica-cron:
- MYSQL_PASSWORD=Fahs213Avnbgr
1.3.5 SMTP Server anpassen
Nun müssen wir noch den SMTP Server anpassen. Dies ist notwendig, da neue Benutzer eine E-Mail für die Registrierung erhalten. In dieser E-Mail wird auch das Passwort angezeigt. Die Daten zu Ihrem SMTP Server bekommen Sie von Ihrem E-Mail Provider (z.B. google.de, gmx.de).
Ich verwende hier folgende Einstellungen:
SMTP-Server: mail.testbereich.net
Nutzer: server@testbereich.net
Passwort: Test1234
Port 587
Ich gebe also folgendes ein. Diese Daten müssen Sie für sich anpassen.
- SMTP=mail.testbereich.net
- SMTP_PORT=587
- SMTP_DOMAIN=testbereich.net
- SMTP_FROM=server
- SMTP_AUTH_USER=server@testbereich.net
- SMTP_AUTH_PASS=Test1234
Wichtig ist, dass Sie bei «SMTP_FROM» nur den Namen VOR dem «@» hinschreiben, also NICHT Ihre ganze E-Mail-Adresse.
1.3.6 Dockerfile des Cron Servers anlegen
Nun legen wir noch ein Dockerfile für den Cron Server an. Dieser wird in regelmässigen Abständen Hintergrundaufgaben erledigen.
Dazu geben Sie folgendes ein:
nano /opt/containers/friendica/build/Dockerfile
Nun kopieren Sie folgenden Inhalt:
FROM friendica:apache
RUN mkdir -p /usr/src/config
COPY addon.config.php /usr/src/config/
Anschliessend geben Sie noch folgenden Befehl ein:
nano /opt/containers/friendica/build/addon.config.php
In die Datei kopieren Sie folgendes:
<?php
return [
'system' => [
'cache_driver' => 'redis',
'lock_driver' => 'redis',
'redis_host' => 'redis',
'pidfile' => '/var/run/friendica.pid',
]
];
2. Friendica starten
Nun können Sie Friendica starten. Dazu geben Sie folgendes ein:
docker compose -f /opt/containers/friendica/docker-compose.yml up -d
Nach ca. 1 Minute sollte Friendica im Browser zur Verfügung stehen. Dazu gehen Sie auf die Domain, welche Sie in der Docker Compose Konfiguration eingegeben haben. Bei mir ist dies: https://friendica.testbereich.net
Jetzt sollten Sie folgendes sehen:
TLS haben wir hier bewusst nicht aktiviert, da dies Traefik für uns übernimmt.
Nach einem Klick auf «Nächste» kommen Sie zur eigentlichen Konfiguration. Hier können Sie Ihren Host Namen vergeben. Hier müssen Sie nichts verändern.
Nun müssen Sie eine Verbindung zur Datenbank herstellen. Dazu brauchen Sie das Passwort, welches Sie in der Docker Compose Datei festgelegt haben.
Folgende Werte können Sie übernehmen:
Datenbank Server: friendica-db
Datenbank-Nutzer: friedica
Datenbank-name: friendica
Mein Passwort: Fahs213Avnbgr
Das Passwort müssen Sie entsprechend anpassen. Bei mir sieht es so aus:
Nun geben Sie die E-Mail-Adresse des Administrators an. Hier wird noch kein Account erstellt. Es wird lediglich festgelegt, welcher Account später Administrator Rechte bekommen soll. Bei mir ist dies «metanet@testbereich.net». Als Systemsprache wähle ich noch «de» und die richtige Zeitzone.
Nun müssen Sie nur noch auf «Nutzerregistrierung» klicken. Den Cronjob erledigt für uns ein eigener Container, weshalb wir diese Meldung hier ignorieren können.
2.1 Benutzer anlegen
Nun sollten Sie folgendes sehen:
Hier geben Sie nun die selbe E-Mail Adresse von eben ein. Dadurch wird Ihr Account zum Administrator. Bei mir ist dies «metanet@testbereich.net». Den «Spitznamen» können Sie frei wählen.
So sieht es dann bei mir aus:
2.1.1 Versenden der E-Mail fehlgeschlagen
Nun kann es passieren, dass Ihre SMTP Einstellungen falsch sind bzw. nicht vorhanden. In diesem Fall sehen Sie diese Meldung. Hier wird Ihnen Ihre Login-E-Mail-Adresse sowie Ihr Kennwort angezeigt. Mit diesen Daten können Sie sich dann normal anmelden.
2.1.2 Versenden der E-Mail funktioniert
In diesem Fall kommen Sie auf diese Webseite.
Zudem bekommen Sie noch folgende E-Mail:
2.2 Admin Interface öffnen
Nachdem Sie einen Admin Account erstellt haben, können Sie sich das Admin Interface anschauen. Dazu melden Sie sich an und klicken dann oben rechts auf die «Person».
Nun öffnet sich folgendes Menü. Hier wählen Sie «Administration» aus.
Nach einem Klick sehen Sie das Admin Interface.
2.3 Passwort ändern
Um Ihr Kennwort zu ändern, klicken Sie oben rechts auf die «Person».
Nun wählen Sie «Einstellungen» aus.
Hier klicken Sie direkt auf den obersten Punkt «Passwort-Einstellungen».
Hier können Sie dann Ihr neues Kennwort wählen.