Ich habe mir Friendica auf meinem Debian 10 Server installiert. Friendica ist Mein soziales Netzwerk. Als Power-User hoste ich mir wichtige Dinge selbst und so auch mein soziales Netzwerk.

Den Apachen installieren

Ich werwende den Apache als Webserver im Internet.

 sudo apt install apache2 
 

Ein Let’s Encrypt-Zertifikat einrichten

Das Let’s Encrypt-Paket für den Apache installieren

sudo apt install python-certbot-apache

Danach wird der Client gestartet.

sudo certbot --apache

Hierbei arbeitet man die Installationsroutine durch. Die möglichen Eingaben sind 1,2,Y oder N. Die entsprechende Domain ist anzugeben und man tippt eine valide Mail-Adresse ein und bestätigt die zukünftige Weiterleitung der Anfragen auf SSL. Das so erstellte Zertifikat liegt im Verzeichnis /etc/letsencrypt/live/domain.tld/.

Virtual Hosts konfigurieren

Ich erstelle mir in /etc/apache2/sites-available die Datei friendica-ssl.conf mit folgendem Inhalt.

 # PORT 443 SSL CONFIG
# *******************



DocumentRoot /var/www/html/friendica/
ServerName example.com
ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined

<Directory "/var/www/html/friendica/">
Options +Includes
Options +FollowSymLinks -Indexes
AllowOverride All


Include      /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem



# PORT 80 REDIRECT CONFIG
# ***********************


        ServerName example.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/friendica/
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
RewriteEngine on
#RewriteCond %{SERVER_NAME} =example.com
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge
    RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R=301;L,NE]

 

Die Zeile AllowOverride All sorgt dafür das der Apache die .htaccess Datei auswertet.

Nun wird der neuer Virtual Host aktiviert.

 sudo a2ensite friendica-ssl.conf
 

Datenbank anlegen

Ich verwende MariaDB

sudo apt install mariadb-server

Während der Installation wird das Passwort für den User root angezeigt. Dieses sollte man sich notieren und speichern.

root@server# mysql -u root
mysql> CREATE DATABASE friendica;
mysql> CREATE USER 'friend' IDENTIFIED BY 'tollespasswort';
mysql> FLUSH PRIVILEGES;
mysql> quit

Hat man Probleme die Datenbank zu nutzen, sollte man den Artikel root-Login-Problem mit MariaDB im Kofler Blog durchlesen.


Mailserver Exim

Mailserver exim4 installieren.

sudo apt install exim4-daemon-light

exim4 konfigurieren

sudo dpkg-reconfigure exim4-config

siehe für Details auf gambaru.de Nur versenden: Mailserver mit Debian und Exim.


Installation der nötigen Pakete für Friendica

Es werden PHP-Pakete und ein git Paket installiert. Mit git wird später Friendica von der Projektseite in das Verzeichniss des Webservers geklont.

sudo apt install php7.3 php7.3-curl php7.3-gd php7.3-mysql php7.3-xml php-mbstring php7.3-imagick git-core

Installieren von Friendica und den Addons

root@server# cd /var/www/html
git clone -b stable https://github.com/friendica/friendica.git
cd friendica
cp .htacces-dist .htaccess
root@server /var/www/html/friendica 
git clone https://github.com/friendica/friendica-addons.git addon

Setzen der Rechte

root@server# chown user:www-data /var/www/html/friendica/view/smarty3
root@server# chmod g+w /var/www/html/friendica/view/smarty3

Cronjob einrichten

Damit nun Friendica immer bei den Nachrichten auf dem neuesten Stand ist, sollte noch ein Cronjob, alle 5 Minuten, eingerichtet werden.

root@server:~# sudo -u www-data crontab -e 
*/5 * * * * cd /var/www/html/friendica/; /usr/bin/php bin/worker.php

Fazit

So in etwa verlief meine Installation von Friendica. Der Artikel soll einen ungefähren Eindruck vermitteln, welche Schritte zur Installation von Friendica notwendig sind. Es ist jedoch keine copy and paste Anleitung.

Bei der Installation sollte auch der eigene Kopf benutzt werden.

Viel Spaß mit Friendica.