From ad950999482209861e3fe6b5f351d7575d419b17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20M=C3=BCller?= <25648755+M-arcus@users.noreply.github.com> Date: Sun, 22 Apr 2018 17:55:43 +0200 Subject: [PATCH 1/5] [DOCS] Automatic install: Add documentation --- doc/Install.md | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/doc/Install.md b/doc/Install.md index b9b2debb4..0de42429c 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -2,6 +2,7 @@ Friendica Installation =============== We've tried very hard to ensure that Friendica will run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. +We offer a manual and an automatic installation. But be aware that Friendica is more than a simple web application. It is a complex communications system which more closely resembles an email server than a web server. For reliability and performance, messages are delivered in the background and are queued for later delivery when sites are down. @@ -79,24 +80,47 @@ In this case find the [mysqld] section in your my.cnf file and add the line : Restart mysql and you should be fine. - -### Run the installer +### Option A: Run the manual installer Point your web browser to the new site and follow the instructions. Please note any error messages and correct these before continuing. If you need to specify a port for the connection to the database, you can do so in the host name setting for the database. -*If* the automated installation fails for any reason, check the following: +*If* the manual installation fails for any reason, check the following: * Does ".htconfig.php" exist? If not, edit htconfig.php and change the system settings. Rename to .htconfig.php -* Is the database is populated? If not, import the contents of "database.sql" with phpmyadmin or mysql command line. +* Is the database is populated? If not, import the contents of "database.sql" with phpmyadmin or the mysql command line. At this point visit your website again, and register your personal account. Registration errors should all be recoverable automatically. If you get any *critical* failure at this point, it generally indicates the database was not installed correctly. You might wish to move/rename .htconfig.php to another name and empty (called 'dropping') the database tables, so that you can start fresh. +### Option B: Run the automatic install script + +Open the file htconfig.php in the main Friendica directory with a text editor. Remove the `die('...');` line and edit the lines to suit your installation (MySQL, language, theme etc.), then save the file (do not rename it). + +Navigate to the main Friendica directory and execute the following command: + + bin/console autoinstall + +Or if you wish to include all optional checks, execute this statement instead: + + bin/console autoinstall -a + +At this point visit your website again, and register your personal account. + +*If* the automatic installation fails for any reason, check the following: + +* Does ".htconfig.php" already exist? If yes, the automatic installation won't start +* Are the settings inside "htconfig.php" correct? If not, edit the file again. +* Is the empty MySQL-database created? If not, import the contents of "database.sql" with phpmyadmin or the mysql command line. + +For more information during the installation, you can use this command line option; + + bin/console autoinstall -v + ### Set up the worker Set up a cron job or scheduled task to run the worker once every 5-10 minutes in order to perform background processing. From f6a76f4f8fde70782b2b9ce0d266b072a7b34a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20M=C3=BCller?= <25648755+M-arcus@users.noreply.github.com> Date: Sun, 22 Apr 2018 19:10:27 +0200 Subject: [PATCH 2/5] [DOCS] Installation: Update german instructions --- doc/de/Install.md | 139 ++++++++++++++++++++++++++++++---------------- 1 file changed, 91 insertions(+), 48 deletions(-) diff --git a/doc/de/Install.md b/doc/de/Install.md index 1842306c5..57e0c1f97 100644 --- a/doc/de/Install.md +++ b/doc/de/Install.md @@ -4,6 +4,7 @@ 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. @@ -11,83 +12,124 @@ 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 [github](https://github.com/friendica/issues) Bescheid. +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. +Falls du noch keinen Friendica-Account hast, kannst du dir einen temporären Account hier erstellen: [tryfriendica.de](https://tryfriendica.de). +Darüber kannst du den genannten Forum beitreten. +Der Account wird nach 7 Tagen ablaufen, aber du kannst einen Server-Admin fragen, diesen Account länger zu erhalten, sollte das Problem nicht innerhalb dieser Zeit gelöst sein. 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. -1. Voraussetzungen - - Apache mit einer aktiverten mod-rewrite-Funktion und dem Eintrag "Options All", so dass du die lokale .htaccess-Datei nutzen kannst - - PHP 5.6+. Je neuer, desto besser. - - PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei - - Curl, GD, PDO, MySQLi, xml, zip und OpenSSL-Erweiterung - - etwas in der Art eines Email-Servers oder eines Gateways wie PHP mail() - - 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) - - Mysql 5.5.3+ - - 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. +Requirements +--- +* Apache mit einer aktiverten mod-rewrite-Funktion und dem Eintrag "Options All", so dass du die lokale .htaccess-Datei nutzen kannst +* PHP 5.6+ (PHP 7 ist aufgrund der Performance empfohlen) +* PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei +* Curl, GD, 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) +* etwas in der Art eines Email-Servers oder eines Gateways wie PHP mail() +* Mysql 5.5.3+ (oder eine äquivalente Alternative: MariaDB, Percona Server etc.) +* 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. - [Dreamhost.com bietet ein ausreichendes Hosting-Paket mit den nötigen Features zu einem annehmbaren Preis. Wenn dein Hosting-Anbieter keinen Unix-Zugriff erlaubt, kannst du Schwierigkeiten mit der Einrichtung der Webseite haben. +Installation procedure +--- - 1.1. APT-Pakete - - Apache: sudo apt-get install apache2 - - PHP5: sudo apt-get install php5 - - PHP5-Zusätzliche Pakete: sudo apt-get install php5-curl php5-gd php5-mysql - - MySQL: sudo apt-get install mysql-server +### Friendica -2. Entpacke die Friendica-Daten in das Quellverzeichnis (root) des Dokumentenbereichs deines Webservers. +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 - - 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 mywebsite + cd mywebsite + bin/composer.phar install - `git clone https://github.com/friendica/friendica.git meinewebseite` +Stelle sicher, dass der Ordner *view/smarty3* existiert and von dem Webserver-Benutzer beschreibbar ist - - und dann kannst du die letzten Änderungen immer mit dem folgenden Code holen + mkdir view/smarty3 + chmod 777 view/smarty3 - `cd meinewebseite` - `git pull` - `bin/composer.phar install` +Falls Addons installiert werden sollen: Gehe in den Friendica-Ordner - - Addons installieren - - zunächst solltest du **in** deinem Webseitenordner sein + cd mywebsite - `cd meinewebseite` +Und die Addon Repository klonst: - - dann kannst du das Addon-Verzeichnis seperat kopieren + git clone https://github.com/friendica/friendica-addons.git addon - `git clone https://github.com/friendica/friendica-addons.git addon` +Um das Addon-Verzeichnis aktuell zu halten, solltest du in diesem Pfad ein "git pull"-Befehl eintragen - - Um das Addon-Verzeichnis aktuell zu halten, solltest du in diesem Pfad ein "git pull"-Befehl eintragen + cd meinewebseite/addon + git pull - `cd meinewebseite/addon` +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. - `git pull` +### Erselle eine Datenbank - - 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. - - -3. Erstelle eine leere Datenbank und notiere alle Zugangsdaten (Adresse der Datenbank, Nutzername, Passwort, Datenbankname). +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). -4. Besuche deine Webseite mit deinem Browser und befolge die Anleitung. Bitte beachte jeden Fehler und korrigiere diese, bevor du fortfährst. +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: -5. *Wenn* die automatisierte Installation aus irgendeinem Grund fehlschlägt, dann prüfe das Folgende: + sql_mode = '' - - ".htconfig.php" existiert ... wenn nicht, bearbeite die „htconfig.php“ und ändere die Systemeinstellungen. Benenne sie um in „.htconfig.php" -“ - - die Datenbank beinhaltet Daten. ... wenn nicht, importiere den Inhalt der Datei "database.sql" mit phpmyadmin oder per mysql-Kommandozeile. +Starte MySQL dann neu und es sollte klappen. -6. 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 .htconfig.php verschieben/umbenennen und die Datenbank leeren (als „Dropping“ bezeichnet), so dass du mit einem sauberen System neu starten kannst. +### Option A: Der manuelle Installer -7. Erstelle einen Cron job oder einen regelmäßigen Task, um den Poller alle 5-10 Minuten im Hintergrund ablaufen zu lassen. Beispiel: +Besuche deine Webseite mit deinem Browser und befolge die Anleitung. +Bitte beachte jeden Fehler und korrigiere diese, bevor du fortfährst. - `cd /base/directory; /path/to/php bin/worker.php` +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: +* ".htconfig.php" existiert ... wenn nicht, bearbeite die „htconfig.php“ und ändere die Systemeinstellungen. Benenne sie um in „.htconfig.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 .htconfig.php verschieben/umbenennen und die Datenbank leeren (als „Dropping“ bezeichnet), so dass du mit einem sauberen System neu starten kannst. + +### Option B: Starte das manuelle Installationsscript + +Öffne die Datei htconfig.php im Friendica-Hauptordner mit einem Text-Editor. +Entferne die `die('...');` Zeile und bearbeite die Einstellungen so, das sie zu deinem System passen (MySQL, Sprache, Theme etc.). +Dann speichere die Datei (jedoch nicht umbenennen). + +Gehe in den Friendica-Hauptordner und führe den Kommandozeilen Befehl aus: + + bin/console autoinstall + +Oder 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 `.htconfig.php`? Falls ja, wird die automatisierte Installation nicht gestartet. +* Sind Einstellungen in der `.htconfig.php` korrekt? Falls nicht, bitte bearbeite diese Datei erneut. +* Ist die leere MySQL-Datenbank erstellt? Falls nicht, erstelle diese. + +Für mehr Informationen kannst du diese Option verwenden: + + bin/console autoinstall -v + +### 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. @@ -101,10 +143,11 @@ Friendica wird nicht korrekt laufen, wenn dieser Schritt nicht erfolgreich abges Falls das Einrichten des cron nicht möglich ist, kannst Du alternativ den "frontend worker" vom Administrationsinterface aus aktivieren. -###Erstelle einen Backup Plan +### Erstelle einen Backup Plan + Es werden schlimme Dinge geschehen. -Sei es nun ein Hardwareversage oder eine korrumpierte Datenbank. -Deshalb solltest du dir nachdem die Installation deines Friendica Knotens abgeschlossen ist einen Backup Plan erstellen. +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 `.htconfig.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. From b7410f6866c6a6d9c832698c98dae1492a411a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20M=C3=BCller?= <25648755+M-arcus@users.noreply.github.com> Date: Sun, 22 Apr 2018 19:11:37 +0200 Subject: [PATCH 3/5] [DOCS] Installation: Fix minor text error --- doc/Install.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/Install.md b/doc/Install.md index 0de42429c..64db4a508 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -115,9 +115,9 @@ At this point visit your website again, and register your personal account. * Does ".htconfig.php" already exist? If yes, the automatic installation won't start * Are the settings inside "htconfig.php" correct? If not, edit the file again. -* Is the empty MySQL-database created? If not, import the contents of "database.sql" with phpmyadmin or the mysql command line. +* Is the empty MySQL-database created? If not, create it. -For more information during the installation, you can use this command line option; +For more information during the installation, you can use this command line option bin/console autoinstall -v From f62531fef83af7634eca8725a5c62172403b0d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20M=C3=BCller?= <25648755+M-arcus@users.noreply.github.com> Date: Sun, 22 Apr 2018 19:27:56 +0200 Subject: [PATCH 4/5] [DOCS] Install: Add intendation for list (de) --- doc/de/Install.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/de/Install.md b/doc/de/Install.md index 57e0c1f97..839c4d523 100644 --- a/doc/de/Install.md +++ b/doc/de/Install.md @@ -29,10 +29,10 @@ Requirements * Apache mit einer aktiverten mod-rewrite-Funktion und dem Eintrag "Options All", so dass du die lokale .htaccess-Datei nutzen kannst * PHP 5.6+ (PHP 7 ist aufgrund der Performance empfohlen) -* PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei -* Curl, GD, 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) -* etwas in der Art eines Email-Servers oder eines Gateways wie PHP mail() + * PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei + * Curl, GD, 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) + * etwas in der Art eines Email-Servers oder eines Gateways wie PHP mail() * Mysql 5.5.3+ (oder eine äquivalente Alternative: MariaDB, Percona Server etc.) * 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. From 74db460274c4ebb7c902fe2969ad5593c2c0d192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcus=20M=C3=BCller?= <25648755+M-arcus@users.noreply.github.com> Date: Sun, 22 Apr 2018 19:28:27 +0200 Subject: [PATCH 5/5] [DOCS] Install: Add intendation for list (en) --- doc/Install.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/Install.md b/doc/Install.md index 64db4a508..b8929d371 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -28,10 +28,10 @@ Requirements * Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file * PHP 5.6+ (PHP 7 is recommended for performance) -* PHP *command line* access with register_argc_argv set to true in the php.ini file -* Curl, GD, PDO, MySQLi, hash, xml, zip and OpenSSL extensions -* The POSIX module of PHP needs to be activated (e.g. [RHEL, CentOS](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) have disabled it) -* some form of email server or email gateway such that PHP mail() works + * PHP *command line* access with register_argc_argv set to true in the php.ini file + * Curl, GD, PDO, MySQLi, hash, xml, zip and OpenSSL extensions + * The POSIX module of PHP needs to be activated (e.g. [RHEL, CentOS](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) have disabled it) + * some form of email server or email gateway such that PHP mail() works * Mysql 5.5.3+ or an equivalant alternative for MySQL (MariaDB, Percona Server etc.) * the ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows) (Note: other options are presented in Section 7 of this document.) * Installation into a top-level domain or sub-domain (without a directory/path component in the URL) is preferred. Directory paths will not be as convenient to use and have not been thoroughly tested.