230 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			230 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| Friendica Installation
 | |
| ==========
 | |
| 
 | |
| * [Zur Startseite der Hilfe](help)
 | |
| 
 | |
| Wir haben hart daran gearbeitet, um Friendica auf vorgefertigten Hosting-Plattformen zum Laufen zu bringen - solche, auf denen auch Wordpress Blogs und Drupal-Installationen laufen.
 | |
| Wir bieten eine manuelle und eine automatische Installation an.
 | |
| Aber bedenke, dass Friendica mehr als eine einfache Webanwendung ist.
 | |
| Es handelt sich um ein komplexes Kommunikationssystem, das eher an einen Email-Server erinnert als an einen Webserver.
 | |
| Um die Verfügbarkeit und Performance zu gewährleisten, werden Nachrichten im Hintergrund verschickt und gespeichert, um sie später zu verschicken, wenn eine Webseite gerade nicht erreichbar ist.
 | |
| Diese Funktionalität benötigt ein wenig mehr als die normalen Blogs.
 | |
| Nicht jeder PHP/MySQL-Hosting-Anbieter kann Friendica unterstützen.
 | |
| Viele hingegen können es. Aber **bitte** prüfe die Voraussetzungen deines Servers vor der Installation.
 | |
| 
 | |
| Wenn dir Fehler während der Installation auffallen, sag uns bitte über [Helper](http://forum.friendi.ca/profile/helpers) oder das [Entwickler Forum](https://forum.friendi.ca/profile/developers) Bescheid oder [erstelle ein Issue](https://github.com/friendica/friendica/issues).
 | |
| Gib uns bitte so viele Infos zu deinem System, wie du kannst, und beschreibe den Fehler mit allen Details und Fehlermeldungen, so dass wir den Fehler zukünftig verhindern können.
 | |
| Aufgrund der großen Anzahl an verschiedenen Betriebssystemen und PHP-Plattformen haben wir nur geringe Kapazitäten, um deine PHP-Installation zu debuggen oder fehlende Module zu ersetzen, aber wir tun unser Bestes, um allgemeine Code-Fehler zu beheben.
 | |
| 
 | |
| Bevor du anfängst: suche dir einen Domain- oder Subdomainnamen für deinen Server.
 | |
| Dinge verändern sich und einige deiner Freunde haben möglicherweise Probleme, mit dir zu kommunizieren.
 | |
| Wir planen, diese Einschränkung in einer zukünftigen Version zu beheben.
 | |
| 
 | |
| 
 | |
| Requirements
 | |
| ---
 | |
| 
 | |
| * Apache mit einer aktiverten mod-rewrite-Funktion und dem Eintrag "Options All", so dass du die lokale .htaccess-Datei nutzen kannst
 | |
| * PHP  7.3+ (PHP 8 wird noch nicht komplett unterstützt)
 | |
|   * PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei
 | |
|   * Curl, GD, GMP, PDO, MySQLi, xml, zip und OpenSSL-Erweiterung
 | |
|   * Das POSIX Modul muss aktiviert sein ([CentOS, RHEL](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) haben dies z.B. deaktiviert)
 | |
|   * Einen E-Mail Server, so dass PHP `mail()` funktioniert.
 | |
|     Wenn kein eigener E-Mail Server zur Verfügung steht, kann alternativ das [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) Addon mit einem externen SMTP Account verwendet werden.
 | |
| * Mysql Server mit Unterstützung vom InnoDB und Barracuda (wir empfehlen MariaDB da die Entwicklung mit solchen Server erfolgt, aber Alternativen wie MySQL, Percona Server etc. sollten auch funktionieren)
 | |
| * die Möglichkeit, wiederkehrende Aufgaben mit cron (Linux/Mac) oder "Scheduled Tasks" einzustellen (Windows) [Beachte: andere Optionen sind in Abschnitt 7 dieser Dokumentation zu finden]
 | |
| * Installation in einer Top-Level-Domain oder Subdomain (ohne eine Verzeichnis/Pfad-Komponente in der URL) wird bevorzugt. Verzeichnispfade sind für diesen Zweck nicht so günstig und wurden auch nicht ausführlich getestet.
 | |
| 
 | |
| Installation
 | |
| ---
 | |
| 
 | |
| ### Alternative Wege um Friendica zu Installieren
 | |
| 
 | |
| Diese Anleitung wird dir Schritt-für-Schritt zeigen wie du Friendica auf deinem Server installieren kannst.
 | |
| Falls du an automatischen Möglichkeiten interesse hast, wirf doch einen Blick auf
 | |
| 
 | |
| * das [Docker image für Friendica](https://github.com/friendica/docker) oder
 | |
| * die [Installation von Friendica auf YunoHost](https://github.com/YunoHost-Apps/friendica_ynh).
 | |
| 
 | |
| ### Friendica
 | |
| 
 | |
| Entpacke die Friendica-Daten in das Quellverzeichnis (root) des Dokumentenbereichs deines Webservers.
 | |
| Wenn du die Möglichkeit hierzu hast, empfehlen wir dir "git" zu nutzen, um die Daten direkt von der Quelle zu klonen, statt die gepackte .tar- oder .zip-Datei zu nutzen.
 | |
| Das macht die Aktualisierung wesentlich einfacher.
 | |
| Der Linux-Code, mit dem man die Dateien direkt in ein Verzeichnis wie "meinewebseite" kopiert, ist
 | |
| 
 | |
|     git clone https://github.com/friendica/friendica.git -b stable mywebsite
 | |
|     cd mywebsite
 | |
|     bin/composer.phar install
 | |
| 
 | |
| Stelle sicher, dass der Ordner *view/smarty3* existiert and von dem Webserver-Benutzer beschreibbar ist
 | |
| 
 | |
|     mkdir view/smarty3
 | |
|     chmod 775 view/smarty3
 | |
| 
 | |
| Falls Addons installiert werden sollen: Gehe in den Friendica-Ordner
 | |
| 
 | |
|     cd mywebsite
 | |
| 
 | |
| Und die Addon Repository klonst:
 | |
| 
 | |
|     git clone https://github.com/friendica/friendica-addons.git -b stable addon
 | |
| 
 | |
| Um das Addon-Verzeichnis aktuell zu halten, solltest du in diesem Pfad ein "git pull"-Befehl eintragen
 | |
| 
 | |
|     cd meinewebseite/addon
 | |
|     git pull
 | |
| 
 | |
| Wenn du den Verzeichnispfad auf deinen Webserver kopierst, dann stelle sicher, dass du auch die .htaccess kopierst, da "Punkt"-Dateien oft versteckt sind und normalerweise nicht direkt kopiert werden.
 | |
| 
 | |
| Wenn du die Entwickler Version von Friendica verwenden möchtest kannst du auf den develop Branch im git Repository wechseln.
 | |
| Dies tust du mit den folgenden Befehlen
 | |
| 
 | |
|     git checkout develop
 | |
|     bin/composer.phar install
 | |
|     cd addon
 | |
|     git checkout develop
 | |
| 
 | |
| Die Entwickler Version kann nach einem fehlerhaften Commit vorübergehend Probleme haben oder gar nicht mehr funktionieren.
 | |
| Sollte dir so etwas passieren, lass es uns bitte wissen, damit der Fehler behoben werden kann.
 | |
| 
 | |
| ### Erstelle eine Datenbank
 | |
| 
 | |
| Erstelle eine leere Datenbank und notiere alle Zugangsdaten (Adresse der Datenbank, Nutzername, Passwort, Datenbankname).
 | |
| 
 | |
| Friendica benötigt die Berechtigungen um neue Felder in dieser Datenbank zu ertellen (create) und zu löschen (delete).
 | |
| 
 | |
| Mit neueren Versionen von MySQL (5.7.17+) musst du den `sql_mode` zu `''` (blank) setzen.
 | |
| Benutze diese Einstellung, wenn der Installer nicht in der Lage ist, die Tabellen aufgrund eines Timestamp-Format Problems zu erstellen.
 | |
| Falls dem so ist, finde den `[mysqld]` Bereich in deiner `my.conf` Datei und füge diese Zeile hinzu:
 | |
| 
 | |
|     sql_mode = ''
 | |
| 
 | |
| Starte MySQL dann neu und es sollte klappen.
 | |
| 
 | |
| ### Option A: Der manuelle Installer
 | |
| 
 | |
| Besuche deine Webseite mit deinem Browser und befolge die Anleitung.
 | |
| Bevor du dies tust, kopiere die Datei `.htaccess-dist` nach `.htaccess`, wenn du den Apache Webserver verwendest.
 | |
| Bitte beachte jeden Fehler und korrigiere diese, bevor du fortfährst.
 | |
| 
 | |
| Falls du einen Port für die Datenbankverbindung angeben musst, kannst du diesen in der Host-Eingabe Zeile angeben.
 | |
| 
 | |
| *Wenn* die manuelle Installation aus irgendeinem Grund fehlschlägt, dann prüfe das Folgende:
 | |
| * "config/local.config.php" existiert ... wenn nicht, bearbeite die „config/local-sample.config.php“ und ändere die Systemeinstellungen. Benenne sie um in „config/local.config.php".
 | |
| * die Datenbank beinhaltet Daten. ... wenn nicht, importiere den Inhalt der Datei "database.sql" mit phpmyadmin oder per mysql-Kommandozeile.
 | |
| 
 | |
| Besuche deine Seite an diesem Punkt wieder und registriere deinen persönlichen Account.
 | |
| Alle Registrierungsprobleme sollten automatisch behebbar sein.
 | |
| Wenn du irgendwelche **kritischen** Fehler zu diesen Zeitpunkt erhalten solltest, deutet das darauf hin, dass die Datenbank nicht korrekt installiert wurde.
 | |
| Du kannst bei Bedarf die Datei config/local.config.php verschieben/umbenennen und die Datenbank leeren (als „Dropping“ bezeichnet), so dass du mit einem sauberen System neu starten kannst.
 | |
| 
 | |
| ### Option B: Starte das automatische Installationsscript
 | |
| 
 | |
| Es existieren folgende Varianten zur automatischen Installation von Friendica:
 | |
| -	Eine vorgefertigte Konfigurationsdatei erstellen (z.B. `prepared.config.php`)
 | |
| -	Verwendung von Umgebungsvariablen (z.B. `MYSQL_HOST`)
 | |
| -	Verwendung von Optionen (z.B. `--dbhost <host>`)
 | |
| 
 | |
| Umgebungsvariablen und Optionen können auch kombiniert werden.
 | |
| Dabei ist jedoch darauf zu achten, dass etwaige Optionen immer die zugehörigen Umgebungsvariablen überschreiben.
 | |
| 
 | |
| Für mehr Informationen kannst du diese Option verwenden:
 | |
| 
 | |
|     bin/console autoinstall -v
 | |
| 
 | |
| Falls du alle optionalen Checks ausfürehn lassen möchtest, benutze diese Option:
 | |
| 
 | |
|     bin/console autoinstall -a
 | |
| 
 | |
| *Wenn* die automatisierte Installation aus irgendeinem Grund fehlschlägt, dann prüfe das Folgende:
 | |
| *	Existiert die `config/local.config.php`? Falls ja, wird die automatisierte Installation nicht gestartet.
 | |
| *	Sind Einstellungen in der `config/local.config.php` korrekt? Falls nicht, bitte bearbeite diese Datei erneut.
 | |
| *	Ist die leere MySQL-Datenbank erstellt? Falls nicht, erstelle diese.
 | |
| 
 | |
| #### B.1: Konfigurationsdatei
 | |
| 
 | |
| Für diese Variante muss ein Konfigurationsdatei bereits vor der Installation fertig definiert sein (z.B. [local-sample.config.php](config/local-sample.config.php).
 | |
| 
 | |
| Gehe im Anschluss in den Friendica-Hauptordner und führe den Kommandozeilen Befehl aus:
 | |
| 
 | |
|     bin/console autoinstall -f <prepared.config.php>
 | |
| 
 | |
| #### B.2: Umgebungsvariablen
 | |
| 
 | |
| Es existieren Zwei Arten von Umgebungsvariablen in Friendica:
 | |
| -	Jene, die auch im normalen Betrieb verwendet werden können (derzeit ausschließlich **Datenbank Einstellungen**)
 | |
| -	Jene, die nur während der Installation verwedent werden können (im normalen Betrieb werden sie ignoriert)
 | |
| 
 | |
| Umgebungsvariablen können auch durch adäquate Optionen (z.B. `--dbhost <hostname>`)übersteuert werden.
 | |
| 
 | |
| **Datenbank Einstellungen**
 | |
| 
 | |
| Nur wenn die Option `--savedb` gesetzt ist, werden diese Umgebungsvariablen auch in `config/local.config.php` gespeichert!
 | |
| 
 | |
| -	`MYSQL_HOST` Der Host der MySQL/MariaDB Datenbank
 | |
| -	`MYSQL_PORT` Der Port der MySQL/MariaDB Datenbank
 | |
| -	`MYSQL_USERNAME` Der Benutzername des MySQL Datenbanklogins (MySql - Variante)
 | |
| -	`MYSQL_USER` Der Benutzername des MariaDB Datenbanklogins (MariaDB-Variante)
 | |
| -	`MYSQL_PASSWORD` Das Passwort der MySQL/MariaDB Datenbanklogins
 | |
| -	`MYSQL_DATABASE` Der Name der MySQL/MariaDB Datenbank
 | |
| 
 | |
| **Friendica Einstellungen**
 | |
| 
 | |
| Diese Umgebungsvariablen können nicht während des normalen Friendica Betriebs verwendet werden.
 | |
| Sie werden stattdessen direkt in `config/local.config.php` gespeichert.
 | |
| 
 | |
| -	`FRIENDICA_PHP_PATH` Der Pfad zur PHP-Datei
 | |
| -	`FRIENDICA_ADMIN_MAIL` Die Admin E-Mail Adresse dieses Friendica Knotens (wird auch für den Admin-Zugang benötigt)
 | |
| -	`FRIENDICA_TZ` Die Zeitzone von Friendica
 | |
| -	`FRIENDICA_LANG` Die Sprache von Friendica
 | |
| 
 | |
| Gehe im Anschluss in den Friendica-Hauptordner und führe den Kommandozeilen Befehl aus:
 | |
| 
 | |
|     bin/console autoinstall [--savedb]
 | |
|     
 | |
| #### B.3: Optionen
 | |
| 
 | |
| Alle Optionen werden in `config/local.config.php` gespeichert und überschreiben etwaige, zugehörige Umgebungsvariablen.
 | |
| 
 | |
| -	`-H|--dbhost <host>` Der Host der MySQL/MariaDB Datenbank (env `MYSQL_HOST`)
 | |
| -	`-p|--dbport <port>` Der Port der MySQL/MariaDB Datenbank (env `MYSQL_PORT`)
 | |
| -	`-U|--dbuser <username>` Der Benutzername des MySQL/MariaDB Datenbanklogins (env `MYSQL_USER` or `MYSQL_USERNAME`)
 | |
| -	`-P|--dbpass <password>` Das Passwort der MySQL/MariaDB Datenbanklogins (env `MYSQL_PASSWORD`)
 | |
| -	`-d|--dbdata <database>` Der Name der MySQL/MariaDB Datenbank (env `MYSQL_DATABASE`)
 | |
| -	`-b|--phppath <path>` Der Pfad zur PHP-Datei (env `FRIENDICA_PHP_PATH`)
 | |
| -	`-A|--admin <mail>` Die Admin E-Mail Adresse dieses Friendica Knotens (env `FRIENDICA_ADMIN_MAIL`)
 | |
| -	`-T|--tz <timezone>` Die Zeitzone von Friendica (env `FRIENDICA_TZ`)
 | |
| -	`-L|--lang <language>` Die Sprache von Friendica (env `FRIENDICA_LANG`)
 | |
| 
 | |
| Gehe in den Friendica-Hauptordner und führe den Kommandozeilen Befehl aus:
 | |
| 
 | |
|     bin/console autoinstall [options]
 | |
| 
 | |
| ### Einen Worker einrichten
 | |
| 
 | |
| Erstelle einen Cron job oder einen regelmäßigen Task, um den Poller alle 5-10 Minuten im Hintergrund ablaufen zu lassen.
 | |
| Beispiel:
 | |
| 
 | |
|     cd /base/directory; /path/to/php bin/worker.php
 | |
| 
 | |
| Ändere "/base/directory" und "/path/to/php" auf deine Systemvorgaben.
 | |
| 
 | |
| Wenn du einen Linux-Server nutzt, benutze den Befehl "crontab -e" und ergänze eine Zeile wie die Folgende; angepasst an dein System
 | |
| 
 | |
| `*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php bin/worker.php`
 | |
| 
 | |
| Du kannst den PHP-Pfad finden, indem du den Befehl „which php“ ausführst.
 | |
| Wenn du Schwierigkeiten mit diesem Schritt hast, kannst du deinen Hosting-Anbieter kontaktieren.
 | |
| Friendica wird nicht korrekt laufen, wenn dieser Schritt nicht erfolgreich abgeschlossen werden kann.
 | |
| 
 | |
| Falls das Einrichten des cron nicht möglich ist, kannst Du alternativ den "frontend worker" vom Administrationsinterface aus aktivieren.
 | |
| 
 | |
| ### Erstelle einen Backup Plan
 | |
| 
 | |
| Es werden schlimme Dinge geschehen.
 | |
| Sei es nun ein Hardwareversagen oder eine kaputte Datenbank.
 | |
| Deshalb solltest du dir, nachdem die Installation deines Friendica Knotens abgeschlossen ist, einen Backup Plan erstellen.
 | |
| 
 | |
| Die wichtigste Datei ist die `config/local.config.php` im Stammverzeichnis deiner Friendica Installation.
 | |
| Und da alle Daten in der Datenbank gespeichert werden, solltest du einen nicht all zu alten Dump der Friendica Datenbank zur Hand haben, solltest du deinen Knoten wieder herstellen müssen.
 |