flarum-forum-forum-topic

Flarum-Forum-Installation beim deutschen Webhoster Serverprofis.de

Hallo liebe Leser und Freunde des Feedbacks! Nach 2 guten Jahren meiner CMS-Tests habe ich auch erfasst, dass man nicht jedes CMS und ein Forum auf die Schnelle installieren kann. Manchmal muss man auch die Arbeit liegen lassen und sich anderen Dingen im Blogger-Alltag widmen. Seit einigen Monaten versuche ich schon, das Flarum Forum Tool zu installieren und erfolgreich zum Laufen zu bringen und erst heute ist es mir gelungen.

Flarum ist auf Flarum.org zuhause und das ist eine Mischung aus Esotalk und FluxBB. Esotalk werdet ihr wahrscheinlich nicht kennen, denn man auch schon die Entwicklung eingestellt hat. FluxBB hingegen wird noch entwickelt und das setze ich auf einem der Projekte auch ganz gerne ein.

flarum-installation

Ich habe die Installation von Flarum Forum sowohl auf einer Subdomain als in einem Unterverzeichnis bei dem Webhoster All-inkl getestet und beides geht zwar, aber im Forum-Frontend wird man nichts ausführen können, nicht posten können und auch kein Avatar ändern können. Damit verbrachte ich heute den grössten Teil des Tages, um Erkenntnisse zu sammeln. Ich klammerte schon an jedem Hinweis in Google, bloss wie kann man die Installation erfolgreich abschliessen. Nichts half.

Also beschloss ich auf Gut Glück eine neue Domain unter http://flarumboard.de bei Serverprofis.de, meinem Zweit-Webhoster, zu registrieren. Das ging dann binnen Stunden durch und ich konnte Flarum installieren. Fakt ist und meine Erkenntnis von heute, dass Flarum als Beta 4 im Unterverzeichnis nicht läuft, auch wenn die Entwickler mir sagten, das Problem wäre gefixt. Vielleicht hat es auch mit der Serverkonfiguration zu tun oder oder oder, ich konnte es bei All-inkl nicht zum Laufen bringen.

Gut, dass ich es bei Serverprofis nochmals versuchen konnte und sieh da, es klappte.

Wie kann man Flarum Forum installieren?

Flarum erfordert PHP 5.5.9 und idealerweise wäre PHP 5.6 noch besser und die letzte mySQL-Version. Man installiert Flarum inklusive des Composers via Konsole/SSH und als erstes muss man den Composer mit einem bestimmten Befehl installieren. Nutzt dafür das kostenlose Tools Putty, um euch in der Konsole einzuloggen. Ich dachte, SSH-Zugang wäre bei Serverprofis höchst kompliziert, doch dem war es nicht so. Man tippt nach dem Putty-Start die Domain ein und dann nimmt man den Benutzernamen, der euch bei Serverprofis bekannt sein dürfte. Dann auf Enter drücken und das Passwort, welches bei eurem Webhosting-Paket da ist, eintippen.

Zur Not fragt den Support bei Serverprofis, wie die Zugangsdaten genau lauten. Den Ticket könnt ihr einfach im Account eures Serverprofis-Kontos erstellen und heute bekam ich schon nach einer Stunde eine Antwort.

Also nun den Composer installieren mit diesem Befehl:

curl -sS https://getcomposer.org/installer | php

Flarum wird von Haus aus als Beta 4 und im Verzeichnis /flarum installiert. Dabei installiert sich der Composer als composer.phar und erst dann installiert man Flarum mit einem weiteren Befehl. Beachtet noch, dass ihr euch im FTP-Account einloggen müsst und das gesamte Paket aus dem Verzeichnis /flarum ins Rootverzeichnis verschiebt. Im Unterverzeichnis lief ja heute nichts und auch nach etlichen Stunden der Tests nichts.

Also alles verschieben!

Flarum installiert ihr so:

php5 composer.phar create-project flarum/flarum --stability=beta

Dabei gibt es dann das Verzeichnis /vendor mit allen Bestandteilen und denen von Flarum. Also dann das alles aus dem Verzeichnis /flarum ins Rootverzeichnis verschieben und zum Browser eurer Wahl navigieren sowie zu der Wunschdomain. Ihr seht dann die Installationsroutine, dir aus nur einem Schritt besteht. Vergebt noch die CHMOD-Rechte dem Verzeichnis /storage und allen Unterverzeichnissen in diesem Verzeichnis. Ebenso bekommt das Verzeichnis /assets und das Unterverzeichnis /avatars Schreibrechte. Achtet darauf, dass keine Datei CHMOD 777 hat, denn sonst kann man da Code einschleusen und das wollen wir ja nicht.

Die Datei error.log oder errorlog.txt hat bei mir CHMOD 777, weil ich es so haben wollte und erstmals nicht wusste, ob das System mit CHMOD  666 in der error.log schreiben wird. Mit CHMOD 777 tut sie das. und das Verzeichnis /logs im Verzeichnis /storage bekommt eben auch Schreibrechte. Vermutlich muss man dann die errog.log so ohne die Schreibrechte lassen. Einfach für euch ausprobieren.

flarum-forum-frontend

Also nach alldem im Browser zu Ende installieren und ihr müsst die Daten der Datenbank, das dazugehörige Passwort, den Admin-Login, das Login-Passwort eingeben und drückt dann auf „Install“. In einem Schritt wird installiert. Dann testet ihr die Installation gleich, indem ihr versucht, im Profil das Avatar zu ändern. Wenn das klappt, erstellt Tags und installiert eine Extension in der Administration. Wenn das erfolgreich ist, kann man behaupten, dass das Board am Laufen ist und ihr könnt euch noch den gesamten Überblick im Forum verschaffen und damit beginnen, Inhalte zu erzeugen.

Flarum bietet eine einfache Forumlösung, nichts derart Kompliziertes, wo man nicht klar kommt. Tags sind Forumkategorien, es gibt nur das Standard-Design und im Backend gibt es noch Berechtigungen für die Forum-Member. Noch kann man die Neuanmeldungen deaktivieren, was ich machte, da mein Board auf Flarumboard.de nur einem internen und informativen Zwecke dienen wird.

Ihr könnt euch noch auf Flarum.org auf Englisch austauschen, was soweit klappen sollte. Aber hey, wie viele Fehler dort gepostet wurden und immer wieder hatten die Nutzer mit denselben Problemen zu tun. Das Avatar kann man nicht ändern, Tags kann man nicht erstellen, ich habe keine Rechte im Forum. Auf Englisch „No permissions“, was man zu sichten bekommt und womit ich heute den ganzen lieben Tag zu tun hatte. Aber letztendlich hat der Wille gesiegt.

Ich vermute mal, dass es auch bei All-inkl klappen könnte, wenn man eine ganze Domain für die Installation nimmt. Im Unterverzeichnis und auf einer Subdomain ging es eben nicht, auch wenn es gefixt worden ist. So wurde mir das erzählt.

Flarum wird stets weiter entwickelt und wenn eine neue Version draussen ist, muss man nur den Composer updaten, mit diesem Befehl via Konsole/SSH.

php56 composer.phar update

Ich habe schon PHP 5.6, wie ich es bei All-inkl habe. Ihr könnt aber noch php5 nehmen. Das dürfte so auch klappen.

Die Sache ist auch die, dass die Installationshinweise, die man auf Flarum.org vorfindet, klappen bei einem Apache-Server nicht und man kann nicht so eingeben:

composer update

Der Befehle wird nicht gefunden und ich musste immer “ php5 composer.phar update“ eingeben. Darauf musste ich als Neuling bei den Servern und dem Drumherum erstmals kommen.

Ich finde, dass Flarum eine coole Software ist und mir gefällt es. Ich wollte es unbedingt in meinem Portfolio haben, allein schon diese Herausforderung, es endlich installiert zu haben. PHP und Composer werden immer öfters bei den modernen CMS und der Forumsoftware eingesetzt, sodass man immer die Konsole via Putty starten muss. Gewöhnt euch dran, falls ihr mal grossartig testen möchtet.

Das war heute dennoch ein Erfolgserlebnis und ich weiss es nun, dass Flarum zu installieren geht, nur gewusst wie. Man lernt ja auch hierbei nicht aus und kann nur noch Erfahrungen sammeln.

Ach ja, noch etwas! Richtet im Verzeichnis /storage/logs die error.log ein, damit die Fehler aus dem Frontend in die log-Datei geschrieben werden. Es kann manchmal unheimlich helfen.

Wenn ich nun weitere Flarum-Erfahrungen gesammelt habe, berichte ich dann hier gerne darüber. Übrigens nach Esotalk kommt Fireside, als ein weiteres englisches Forumtool und das setze ich schon hier ein.

Wichtiges Update

Ich möchte diesen Beitrag noch unbedingt ergänzen, denn ich auf ein weiteres Problem mit dem Flarum Forum gestossen war. Es wurden auf einmal im Frontend keine richtigen Icons und Symbole dargestellt und ich habe eine Standard Fehlermeldung erhalten, dass etwas nicht getan werden kann.

So stolperte ich heute über für mich ein sehr neues Thema namens Cross Origin Resource Sharing, wie man der deutschen Wikipedia entnehmen kann. Warum es beim Flarum-Forum auftritt, ist mir ein Rätsel. Vermutlich hat es noch mit meinem Webspace zu tun, was ich aber nicht glauben will.

Also damit diese Zugriffe des Browsers auf die Installation stattfinden können und man keine Fehlermeldung mehr angezeigt bekommt sowie alles sauber dargestellt wird, fügte ich meiner sich im Rootverzeichnis befindlichen .htaccess-Datei dieses hinzu.

# Always set these headers.
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"

Anders schien es heute nicht zu gehen. Und dann war es noch die Sache, warum ich mich die ganze Zeit nicht im Forum-Backend einloggen konnte. Es war in der config.php, die sich ebenfalls im Rootverzeichnis befindet vermerkt, dass die Forum-URL http://www.flarumboard ist, sprich mit //www und ich rief es immer mit http:// ohne //www auf. So konnte wohl kein Zugriff auf /login stattfinden.

Damit eure Webseite bzw. das Forum immer mit www aufgerufen wird, fügt ihr der .htaccess diese Regeln hinzu.

RewriteCond %{HTTP_HOST} !^www\.flarumboard\.de$
RewriteRule ^(.*)$ http://www.flarumboard.de/$1 [L,R=301]

Tauscht nur meine Domain gegen eure Domain aus und so sollte es gehen, habe ich verstanden. Dann sieht die gesamte .htaccess-Datei folgendermassen aus:

# Always set these headers.
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"

<IfModule mod_authz_core.c>
  Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
  Order Allow,Deny
  Allow from all
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{HTTP_HOST} !^www\.flarumboard\.de$
  RewriteRule ^(.*)$ http://www.flarumboard.de/$1 [L,R=301]

  RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

  RewriteRule ^vendor/(.*)?$ / [F,L]
  RewriteRule ^storage/(.*)?$ / [F,L]
  RewriteRule ^config.php$ / [F,L]

  RewriteRule ^api(.*)$ api.php [QSA,L]
  RewriteRule ^admin(.*)$ admin.php [QSA,L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule !^assets index.php [QSA,L]

  # MultiViews can mess up our rewriting scheme
  Options -MultiViews

  # Autoindex will list all assets files which is not so good
  Options -Indexes
</IfModule>

<IfModule mod_deflate.c>
  # Compress all output labeled with one of the following MIME-types
  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE application/atom+xml \
                                  application/javascript \
                                  application/json \
                                  application/vnd.ms-fontobject \
                                  application/x-font-ttf \
                                  application/x-web-app-manifest+json \
                                  application/xhtml+xml \
                                  application/xml \
                                  font/opentype \
                                  image/svg+xml \
                                  image/x-icon \
                                  text/css \
                                  text/html \
                                  text/plain \
                                  text/xml
  </IfModule>
</IfModule>

# Configure cache expiry for different file types
<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresDefault                                      "access plus 1 second"

  ExpiresByType text/css                              "access plus 1 year"
  ExpiresByType application/json                      "access plus 0 seconds"
  ExpiresByType application/xml                       "access plus 0 seconds"
  ExpiresByType text/xml                              "access plus 0 seconds"
  ExpiresByType image/x-icon                          "access plus 1 week"
  ExpiresByType text/html                             "access plus 0 seconds"
  ExpiresByType application/javascript                "access plus 1 year"
  ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
  ExpiresByType text/cache-manifest                   "access plus 0 seconds"
  ExpiresByType image/gif                             "access plus 1 month"
  ExpiresByType image/jpeg                            "access plus 1 month"
  ExpiresByType image/png                             "access plus 1 month"
  ExpiresByType application/atom+xml                  "access plus 1 hour"
  ExpiresByType application/rss+xml                   "access plus 1 hour"
  ExpiresByType application/font-woff2                "access plus 1 month"
  ExpiresByType application/font-woff                 "access plus 1 month"
  ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
  ExpiresByType application/x-font-ttf                "access plus 1 month"
  ExpiresByType font/opentype                         "access plus 1 month"
  ExpiresByType image/svg+xml                         "access plus 1 month"
</IfModule>

So sollte man es gerne haben, damit die Flarum-Installation bei einem einfachen Webspace bei Serverprofis.de funktioniert. Also ich suchte stundenlang die Informationen in Google zusammen und es waren fast alles englische Post und Forumpostings. Aber ich habe den Sinn erfasst und  wie man es umsetzen kann. So probierte ich die Möglichkeiten aus, die dann die .htaccess so aussehen lassen.

Jetzt habe ich das Flarum-Forum nochmals getestet und kann mich sowohl in Firefox als auch in Google Chrome schon mal einloggen. Ich kann im Forum mit Markdown arbeiten, posten und alles andere wird hoffentlich auch funktionieren.

Nun jetzt ist dieses Tutorial komplett und ich kann euch nur viel Erfolg bei eurer Flarum-Installation wünschen. Probleme werdet ihr damit ganz wahrscheinlich auch haben(hoffentlich aber nicht), aber diese gilt es dann zu lösen.
by Alexander Liebrecht

5 Kommentare

  1. Ich werde solange dran fummeln, bis das Flarum Board läuft 🙂 Schliesslich muss es doch was sein, was nicht geht. Jetzt sehe ich zumindest im Firefox Inspector einen Fehler, den ich zu klären versuche.

  2. Will ich doch stark hoffen, dass das Board ab nun laufen wird, denn sonst suche ich wieder nach einer Lösung in Google. Schon nicht so einfach, wenn man so eine Foruminstallation hat und sie unbedingt haben will.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert