GNU social – ein dezentrales soziales Netzwerk

Life On The Wire https://www.flickr.com/photos/krayker/4962969492 (CC BY 2.0)

Life On The Wire https://www.flickr.com/photos/krayker/4962969492 (CC BY 2.0)

Ihr werdet niemals Facebook schlagen, warum also?
Vielleicht wird es nicht jeder in der Welt nutzen, aber Facebook nutzt auch nicht jeder. Datenschutz ist wichtig, und viele Leute schätzen ihre Privatsphäre und die Freiheit so sehr, dass Sie Software verwenden, die keine Dinge tut, die sie nicht wollen.
Aus FAQ GNU social.

In der kleinen Reihe über alternative Social Networks stelle ich nach Friendica heute GNU social vor. GNU social hat eine recht bewegte Geschichte und ist aus der StatusNet Software hervorgegangen, die wiederum aus Laconica hervorgegangen ist. Technisch gesehen ist es ein Mikroblogging Dienst, geschrieben in PHP. Es nutzt den OStatus Standard für das Zusammenspiel zwischen den einzelnen GNU social Installationen und anderen Anwendungen. Friendica nutzt ebenfalls OStatus und so lassen sich die beiden auch verbinden. Während Friendica eher in die Richtung von Facebook geht, ähnelt GNU social eher Twitter. Es ist einfach zu installieren und bietet ohne zusätzliche Plugins bereits Followerfunktionen, Statusmeldungen, Events, Umfragen, Lesezeichen und eine Fragefunktion. Es kann so konfiguriert werden, dass Konten nur auf Einladung erstellt werden können und die Postings nur von den Followern oder optional auch öffentlich eingesehen werden können. Für mich sieht es ziemlich brauchbar aus für die interne Unternehmenskommunikation.

Man kann es auch eine Art Homepage-Ersatz oder -Erweiterung nutzen (Beispiel). Ich mag die Idee, weil man dann tatsächlich die volle Kontrolle über seine Daten behält, trotzdem aber Follower aus anderen Plattformen wie z.B. Friendica und anderen GNU social Installationen hat und auch selber anderen Usern auf anderen Plattformen folgen kann. Man kann auch Erweiterungen und Themes installieren, aber in diesem ersten Artikel wollen wir es zunächst mal installieren 🙂

Installation

Ich benutze Ubuntu 14.04, MySQL und PHP bei meinen Beispielen hier im Blog. Wenn Sie GNU social frisch via Git installieren, so benötigen Sie die folgenden Pakete. Es kann sein, das viele Installationpakete schon auf Ihrem Root-Server installiert sind, wenn Sie die vergangenen Beispiele hier im Blog ausprobiert haben. Das ist aber kein Problem, denn falls ein bereits installiertes Paket gefunden wird, wird es eben nicht installiert.

sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales
sudo apt-get update -q
sudo apt-get dist-upgrade -y
sudo apt-get install -y pound varnish php5 rsync htop emacs23-nox apache2 php5-mysql dtrx mysql-server exim4
sudo apt-get install php5-curl git

Sie müssen nun einen Platz festlegen, in dem Sie GNU social installieren wollen. Ich bleibe hier bei meinem Verzeichnissystem (/var/www/[domainname]/public_html). Erstellen Sie ein Verzeichnis und geben Sie dem Webserver Zugriffsrechte.

mkdir /var/www/gnusocial.serverblogger.ch/public_html -p
chown www-data:www-data /var/www/gnusocial.serverblogger.ch/public_html
cd /var/www/gnusocial.serverblogger.ch/public_html

Im nächsten Schritt laden Sie die Dateien.

git clone git://gitorious.org/social/mainline.git

oder

wget https://gitorious.org/social/mainline/archive/master.zip

und anschliessend entpacken

Datenbank

Ich beschreibe hier die Variante für MySQL. Loggen Sie sich ein

mysql -u root -p

und erstellen Sie eine neue Datenbank (gnusocial) und ein neues Benutzerkonto (gnusocial). Anstelle der Sternchen legen Sie ein Passwort fest.

create database gnusocial;
grant all privileges on gnusocial.* TO "gnusocial"@"localhost" identified by "********";
flush privileges;
exit;

Virtueller Host

Je nachdem, wie und wo Sie GNU social installieren, legen Sie vermutlich einen neuen virtuellen Host an. Erstellen Sie eine Konfigurationsdatei

nano /etc/apache2/sites-available/gnusocial.serverblogger.ch.conf

und kopieren die folgenden Befehle hinein.

Hinweis: Hier im Beispiel erstelle ich keinen SSL/TLS gesicherten virtuellen Host, da mein serverblogger.ch Zertifikat nur für diese Domain gilt und nicht für Subdomains. Im Artikel Virtuelle Apache Hosts mit TLS/SSL Zertifikaten von StartSSL absichern können lesen, welche Schritte sie unternehmen müssen um die Kommunikation über das HTTPS Protokoll abzusichern.

<VirtualHost gnusocial.serverblogger.ch:80>
  ServerName gnusocial.serverblogger.ch
  DocumentRoot /var/www/gnusocial.serverblogger.ch/public_html
  DirectoryIndex index.php
  <Directory /var/www/gnusocial.serverblogger.ch/public_html>
    AllowOverride All
    Order Deny,Allow
    Allow from all
  </Directory>
</VirtualHost>

Aktivieren Sie die die vhost Konfiguration und starten Sie den Apache neu

sudo a2ensite gnusocial.serverblogger.ch.conf
sudo service apache2 reload

Damit die Installation reibungslos läuft müssen, Sie für die folgenden drei Verzeichnisse noch Zugriffsberechtigungen setzen:

chmod a+w /var/www/gnusocial.serverblogger.ch/public_html/avatar/
chmod a+w /var/www/gnusocial.serverblogger.ch/public_html/background/
chmod a+w /var/www/gnusocial.serverblogger.ch/public_html/file/

Falls es nicht bereits auf Ihrem Server eingeschaltet ist, müssen Sie noch das Apache rewrite Modul aktivieren und die htaccess.sample Datei umbenennen. Sie erhalten dadurch die Möglichkeit .htaccess Dateien zu nutzen und können lesbare URLs (Clean URLs) anbieten.

mv htaccess.sample .htaccess
sudo a2enmod rewrite
sudo service apache2 restart

Webinstaller

Sie können nun Ihre Domain im Browser aufrufen und die Konfigurationseinstellungen festlegen

http://gnusocial.serverblogger.ch/install.php

Nach dem Aufruf startet der Webinstaller mit den wichtigsten Einstellungen.

GNU social Installation
GNU social Installation
Nach einem Klick installiert sich GNU social und ist zur Nutzung bereit!
GNU social Installation erfolgreich
GNU social Installation erfolgreich
Die Installation erinnert ein wenig an WordPress. Es ist wirklich einfach.

Erste Schritte

Melden Sie sich an und füllen Sie ihr Profil aus. Sie können gern auf dem Beispielserver testen (http://gnusocial.serverblogger.ch). Die Einstellungen sind momentan so, daß Sie sich registrieren müssen, um auf die folgenden Beispiele antworten zu können.

So sieht sah die Timeline dann kurz nach dem Installieren aus.

Timeline GNU social
Timeline GNU social

Kontakt mit Anderen

Wenn ich aus unserer Friendica Installation auf dem Beispielserver, die übrigens bereits mit einem TLS Zertifikat versehen ist, einen GNU social Benutzerkonto hinzufügen will, so muss ich mich dort anmelden und in meinen Kontakten einfach [name]@[server] also hagengraf@gnusocial.serverblogger.ch hinzufügen.

Einen Benutzer aus GNU social hinzufügen
Einen Benutzer aus GNU social hinzufügen

Links


tl;dr: GNU social ist eine dezentrale Alternative zu Netzwerken wie Twitter und Facebook.

Autor: Hagen Graf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

Kommentar verfassen