Wähle einen Artikel
Friendica auf VPS/vServer installieren
Friendica auf VPS/vServer installieren

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.
 

Nächster Artikel
Freescout kostenloses Ticketsystem auf vServer/VPS installieren
Weitere passende Themen