Forensoftware existiert seit Jahrzehnten. Das „klassische“ Forum, das sich in den Neunziger Jahren entwickelte, besteht aus Kategorien, Einträgen in Kategorien und den entsprechenden Antworten darauf. Innerhalb des Forums gibt es Moderatoren um Ärger zu vermeiden und selbst aufgestellte Regeln durchzusetzen. Über die Jahre sind viele Foren zu einer „Heimat“ für ihre User geworden und so werden alle möglichen und unmöglichen Moderations- und Motivations- und Bewertungssysteme ausprobiert. Foren werden auch heute noch gern auf themenspezifischen Websites genutzt. So gibt es beispielsweise ein Forum bei joomla.de oder bei Nextcloud. Auch für italienische Motorräder gibt es Foren und natürlich für Haustechnik – man denke nur an den Thread über Grosse Haufen. Für wirklich jedes denkbare Thema gibt es Foren.
Je länger ein Forum existiert, desto mehr entwickelt es sich zu einer Community. Mittlerweile ist der Community-Aspekt oft grösser als das „Forum“ selbst, ein gemeinsames Thema ist aber immer die Basis. So eine Forum-Community benötigt mehr als blanke Technik und ein grosser Schritt in der Art und Weise, wie Foren funktionieren war das freie Discourse Projekt, das vor mehr als 5 Jahren erschien. Discourse wird gern benutzt, ist aber etwas mühselig zu installieren und zu betreuen, da es einen eigenen Server benötigt. Ich habe, ebenfalls vor fünf Jahren, schon mal darüber geschrieben (Discourse – das bessere Forum) und seitdem ist eine Menge passiert. Viele etablierte Forensysteme haben an der UI und der UX gearbeitet und sehen heute viel attraktiver aus. Eines dieser Projekt, nämlich Flarum, möchte ich heute beschreiben.
Flarum ist in PHP geschrieben und versteht sich als Diskussions-Plattform. Es ist einfach zu benutzen und hat alles, was eine Community benötigt. Und was auch nicht ganz unerheblich ist: Es sieht einfach schön aus 🙂
Soziale Netzwerke wie Facebook, Google+, Instagram, Twitter u.v.a.m. bieten Plattformen für Online-Kommunikation an. Diese Plattformen sind für dich als Nutzer „kostenlos“, du musst also kein Geld für für deren Nutzung bezahlen. Die Betreiber nutzen allerdings deine Daten und zeigen dir Werbung. Du bezahlst die Dienstleistung „soziales Netzwerk“ mit Daten über deine sozialen Beziehungen und deren Kommunikation. Was im privaten Umfeld durchaus ein win-win Geschäft sein kann, ist im geschäftlichen Umfeld „so eine Sache“. Will ich für mein Produkt werben und mein Unternehmen darstellen, sind soziale Netzwerke eine tolle Sache. Geht es um unternehmensinterne Kommunikation, kann es schwieriger werden.
Will ich wirklich eine Facebook- oder Google-Gruppe in meiner Firma, in der sich meine Mitarbeiter austauschen? Verführerisch ist die perfekte Technik der grossen Anbieter auf jeden Fall, oft wollen Firmen oder andere Gruppen aber ihre Daten innerhalb innerhalb ihres Einflussbereichs, also auf den eigenen Festplatten, halten.
In den vergangenen Blogeinträgen habe ich Open Source Software wie Zulip, eine Slack-Alternative und soziale Netzwerke wie GnuSocial und Friendica beschrieben. Auch das freie Messaging System Jabber kommt als Kommunikationstool in Frage oder ein „klassisches“ Intranet wie die Drupal Distribution Open Atrium.
Für das Content Management System WordPress gibt seit 2009 das Plugin BuddyPress. Es macht aus einer WordPress Installation ein soziales Netzwerk und lässt sich auch als firmeninternes Kommunikationstool nutzen.
In BuddyPress gibt es
erweiterte Benutzerprofile,
Verbindungen zwischen Nutzern (Freunde),
Newsstream von Freunden (und Freunden von Freunden),
Widgets für Member (neu, aktiv, populär, zuletzt aktiv, online), Gruppen (neu, aktiv, populär), Posts und seitenweite Nachrichten.
Am 2. März diesen Jahres wurde die Version 2.5 veröffentlicht. Sie bietet nun auch konfigurierbare HTML E-Mails, Emojis, erweiterte Tracking Funktionen und viele Dinge, die das soziale Netzwerk ein Stück „sozialer“ machen.
In diesem Blogpost werde ich das System installieren und vorstellen.
Installation
Die Installation von WordPress auf einem Server habe ich hier beschrieben. Auf deinem Webspace bei Novatrend kannst du WordPress auch per cPanel Installatron installieren.
ACHTUNG: Seit November 2017 benutzen wir anstelle des Installatrons das Tool Softaculous. Im Beitrag Automatisierte Installation mit Softaculous beschreibe ich die grundlegenden Vorgehensweisen.
Nachdem WordPress installiert ist, muss das BuddyPress Plugin installiert werden (Plugins -> installieren -> nach BuddyPress suchen – installieren).
Die Konfiguration von BuddyPress erfolgt über drei Tabs und ist weitgehend selbsterklärend.
BuddyPress enthält 10 Komponenten, von denen 6 bereits aktiviert sind.
Wenn du alle Komponenten aktivierst, erscheinen im Dashboard drei neue Menüeinträge: Aktivität, Gruppen und E-Mails.
Aktivität
In diesem Bereich werden alle Aktivitäten aller Mitglieder angezeigt. Die Aktionen können gefiltert und bearbeitet werden.
Benutzergruppen
Du kannst Benutzergruppen zu einem Thema anlegen. Die Gruppen können beliebig viele Mitglieder haben, öffentlich oder privat sein. Eine Gruppe hat mindestens eine Startseite und einen Activity Stream.
E-Mails
BuddyPress versendet bei bestimmten Aktionen E-Mails. In diesem Bereich können alle E-Mail Templates bearbeitet werden. Die Bearbeitung erfolgt nach dem gleichen Prinzip wie bei den Themes.
BuddyPress Widgets
Die speziellen BuddyPress Widgets können im Dashboard über Design -> Widgets konfiguriert werden.
Seiten
BuddyPress kommt mit vordefinierten Seiten für Mitglieder /mitglieder, den seitenweiten Aktivitätsverlauf /aktivitaet und einer Übersicht aller Gruppen /gruppen. Hier als Beispiel die Gruppenübersicht:
Berechtigungen und Einstellungen
In Einstellungen -> BuddyPress gibt es im dritten Tab (Einstellungen) zahlreiche Möglichkeiten, die Rechte der Mitglieder anzupassen.
Erweiterungen
BuddyPress ist durch mehr als 600 Plugins erweiterbar und funktioniert mit allen „modernen“ und natürlich auch mit den Standard WordPress Themes!
Fazit
Das BuddyPress Plugin ist eine faszinierende Möglichkeit um auf eine sehr einfache Art ein selbst gehostetes, soziales Netzwerk zu betreiben. Es ist sehr flexibel erweiterbar und kann für vielfältige Einsatzzwecke konfiguriert werden.
Überschriften für eher technische Blogeinträge zu finden ist gar nicht so einfach. In diesem Blogeintrag soll es nochmal um das Discourse Forum gehen, dessen Installation ich hier neulich als Docker Container vorgestellt habe. Ich habe ein paar positive Rückmeldungen erhalten und eine wichtige Frage beantworten, die immer wieder auftauchte:
Wie installiere ich das Discourse Forum als Docker Container neben einem bereits auf Port 80 laufenden Apache Webserver in einer Subdomain, also so etwas wie http://forum.serverblogger.ch?
Ja, und nun machen Sie mal eine Überschrift daraus 🙂
Aber zurück zur Frage. Die einfachste Variante ist das Discourse Forum auf einem anderen Port laufen zu lassen, beispielsweise 85, und dann das Proxy Modul des Apache Webservers innerhalb eines Virtual Hosts zu nutzen um die Anfragen von Port 80 (Apache) nach Port 85 (Discourse) weiterzuleiten.
Konfiguration Discourse Forum
Wenn Sie Ihr Discourse Forum so wie in „Discourse – das bessere Forum“ beschrieben installieren, läuft es auf Port 80. Um es auf Port 85 laufen zu lassen, müssen Sie in der Datei containers/app.yml die entsprechende Zeile ändern.
cd /var/discourse
sudo nano containers/app.yml
## which TCP/IP ports should this container expose?
expose:
- "85:80" # fwd host port 85 to container port 80 (http)
Danach müssen Sie die das Paket neu aufbauen
sudo ./launcher rebuild app
Der Container wird automatisch gestartet. Danach können Sie den Discourse Container mit diesen Befehlen stoppen und starten:
Falls Sie das das Apache Proxy Modul noch nicht aktiviert haben, so wird es jetzt Zeit:
sudo a2enmod proxy_http
sudo a2enmod proxy
Starten Sie danach den Apache2 Server neu
sudo service apache2 restart
Leiten Sie die Anfragen mit den folgenden Befehlen weiter
<VirtualHost forum.serverblogger.ch:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName forum.serverblogger.ch
ProxyPass / http://46.232.178.78:85/
ProxyPassReverse / http://46.232.178.78:85/
</VirtualHost>
Aktivieren Sie die die vhost Konfiguration und starten Sie den Apache neu
sudo a2ensite forum.serverblogger.ch.conf
sudo service apache2 reload
Wenn Sie nun das Discourse Forum unter der neuen URL http://forum.serverblogger.ch aufrufen, ist das Ziel erreicht. Discourse – auf Port 80 in Subdomain
tl;dr: Docker Container verstehen sich auch mit einem bereits konventionell installierten Apache Webserver sehr gut
Das Motto von Discourse ist schon eine echte Herausforderung!
Civilized Discussion. On the Internet.
Die Idee hinter diesem Projekt ist eine Verbesserung der Diskussionskultur in Internetforen. Discourse ist eine Mischung aus einer mailing Liste, einem Diskussionsforum und einem Chatroom.
Aus Benutzersicht gibt es viele Features, die in sozialen Netzwerken heute Standard sind, wie beispielsweise „unendliches Scrollen“, Updates ohne die Seite aktualisieren zu müssen und Drag und Drop Dateianhänge. Discourse basiert auf JavaScript, Ruby on Rails, Redis und PresgreSQL und ist nicht ganz einfach auf gängigen LAMP Hosting Umgebungen zu installieren.
Die Technik allein führt ebenfalls kaum zu einer Verbesserung der Diskussionskultur und so wird grosser Wert auf soziale Prozesse gelegt. Themen können zusammengefasst werden, Nutzer können sich Vertrauen „erarbeiten“ auf der Basis verschiedener Parameter. Ein Moderationsystem versucht SPAM, schräge Inhalte und Auseinandersetzungen zu minimieren. Nutzer können interessante Beiträge „liken“ und hervorheben. Innerhalb der Beiträge können Zitate des vorhergehenden Beitrags auf- und zugeklappt werden. Es ist geeignet für Touch-Geräte und wechselt automatisch Layouts.
Discourse ist in 17 Sprachen verfügbar und hat eine beeindruckende Zahl von Plugins. Sie können Discourse beispielsweise in einer statischen Website einbinden um Kommentare zur ermöglichen. Auch in WordPress ist eine Einbindung möglich. Es gibt Anmeldemöglichkeiten über gängige Social Networks und natürlich Emojis und Avatare.
Alles wirkt sehr flauschig und gut und das meine ich ehrlich und nicht zynisch.
Es ist schade, dass Discourse durch die Software-Anforderungen nicht so verbreitet ist und daher dachte ich nach der Docker Vorstellung (Testumgebungen mit Docker), dass das geändert werden muss.
Ich beschreibe in diesem Post die Installation von Discourse aus einem Docker Image.
Um Discourse starten zu können, müssen Sie noch die Konfigurationsdatei anpassen
sudo nano containers/app.yml
Sie müssen dort den Domainnamen, den Port, den SMTP Server, Benutzer und Passwort eintragen. Der Mail Server ist wichtig. Ohne einen funktionierenden Mailserver können Sie kein Administrator- und keine Benutzerkonten anlegen.
Falls Sie keinen Mail-Server eingerichtet haben, könnten Sie sich auch kostenlos einen bei MailGun erstellen.
Der folgende Befehl richtet die komplette Umgebung für und das Forum selbst ein. Die Einrichtung kann durchaus ein paar Minuten dauern.
sudo ./launcher bootstrap app
Danach können Sie den Discourse Container mit diesen Befehlen starten und stoppen
Falls der E-Mail Versand nicht funktioniert und Sie etwas in der Konfigurationsdatei ändern müssen, müssen Sie anschliessend die App neu aufbauen
sudo ./launcher rebuild app
Forum einrichten
Nachdem Discourse gestartet wurde, können Sie es im Browser aufrufen
Discourse
Die E-Mail, die Sie nach dem Sign Up erhalten, enthält einen Bestätigungslink.
Bestätigungsemail von Discourse
Nach der Bestätigung sollten Sie ihr Forum mit öffentliche Themen und öffentliche Beiträge starten um eine Diskussion in Gang zu bringen.
Discourse – Einrichtung
Discourse gibt sinnvolle Ratschläge bei der Erstellung von Topics und die Einrichtung ist weitgehend selbsterklärend.
Sie sollten sich Gedanken um die Ziele dieses Forums machen und vermutlich merken Sie sehr schnell, dass dieses Projekt sehr durchdacht ist 🙂
Discourse – Neues Topic
Benutzeranmeldungen
Benutzer erhalten nach Ihrer Registrierung eine übersichtliche E-Mail in der die Software erklärt wird und deutlich gemacht wird, dass es um „zivilisierte“ Diskussionkultur geht. Discourse – Willkommen E-Mail
Discourse – Willkommen E-Mail
Fazit
Mit Docker ist es wirklich einfach, Anwendungen wie Discourse auf dem eigenen Server zu erforschen. Ob Sie bei einem produktiven Einsatz die Docker Variante oder einen eigenen Server für Ihr Forum nutzen ist auch einfacher zu entscheiden, wenn man erstmal ausführlich ausprobieren konnte.