Facebook geht mir auf die Nerven und daraus mache ich auch keinen hehl. Social Networks an sich finde ich aber keine schlechte Idee, also es an der Zeit sich ein eigenes Social Netzwerk aufzusetzen. Ohne Werbung, dämliche Nachfragen wo ich arbeite, wohne etc.
Nach ein bisschen Recherche bin ich auf die Software Friendica gestoßen. Die Installationsanleitung ist auch ziemlich „straight forwarded“ so das es kein Problem sein sollte Friendica auf meinem VServer zum laufen zu bekommen. Es gibt auch eine Anleitung dazu. Aber manchmal steckt der Teufel halt im Detail.
Eigentlich ist es nicht allzu kompliziert, da Friendica auf einem Standard LAMP Stack problemlos läuft. Da ich meine VServer jedoch immer mit einem minimal Debian versehe muss ich ein wenig Nachinstallieren. Ich habe mich für den Webserver Nginx entschieden, da Friendica für diesen auch eine passende Sample Config bietet.
aptitude install nginx php5-dev php-pear php-apc php5-fpm php5-curl php5-mysql php5-gd mysql git
Git installiere ich deshalb mit weil man sich damit sehr einfach die Addons für Friendica in der aktuellen Version aus dessen Git Repo downloaden kann.
Der Rest der installation ist eigentlich sehr einfach. Nachdem man sich Friendica aus dessen Github Repo geladen hat entpackt man es auf dem Server, ich habe dazu den Ordner /var/www/friendica gewählt.
Nun besorgt man sich die Nginx Sample Config von Github und packt die Datei nach /etc/nginx/sites-available. Am besten gibt man der Config auch noch einen besseren Namen. Nun kann man die Datei mit seinem Lieblingseditor anpassen. Man muss nicht viel ändern, vor allem Domain Namen, Server Zertifikate etc.
Ist man damit fertig verlinkt man diese Config per symbolischen Link (ln -s) in den Ordner /etc/nginx/sites-enabled. So funktioniert das ja auch unter Apache.
Im nächsten Schritt legt man die neue Mysql Datenbank und einen passenden Datenbank User an. Das kann man problemlos mit dem mysql Konsolenclient Bewerkstellingen.
root@vserver:~#mysql -uroot -pVollGeheim mysql> create database friendica; mysql> create user friendica@localhost; mysql> set password for friendica@localhost = password('NochGeheimer'); mysql> grant all on friendica.* to friendica@localhost; mysql> quit
Nun kann man zum ersten mal die neue Friendica installation ansurfen. Diese überprüft ob alle Komponenten auf dem Server vorhanden sind und führt einen durch die Datenbankeinstellungen etc. Am Ende kommt noch ein Hinweis was man noch einen Cronjob einrichten muss um die poller.php regelmäßig aufzurufen. Dies funktioniert indem man via crontab -e die config Datei für cron aufruft und um folgenden Text ergänzt:
*/10 * * * * cd /var/www/friendica; /usr/bin/php include/poller.php
Und nun kommt der Part der mir gut eine Stunde Kopfzerbrechen bereitet hat. Vor allem da er in der Installationsanleitung auch nicht klar beschrieben ist. Was wohl auch daran liegt das der Guide eher für Leute gedacht ist die Friendica auf einem Shared Hosting angebot etc. laufen lassen.
Nun muss man nämlich seinen eigenen Friendica Account anlegen. Gesagt getan. Nickname und E-Mail Adresse angegeben und nun sollte man auf das Passwort warten. Das sollte per E-Mail bei mir eintrudeln. Aber halt, stop. Wie soll mich diese Mail erreichen? Denn auf meinem Server läuft gar kein MTA. Wickelt das Friendica intern über einen Server ab der zum Friendica Team gehört? Kann ich mir eigentlich nicht vorstellen.
Nach gut einer Stunde Recherche bin ich dahinter gekommen das ich wohl doch einen MTA auf meinem Server laufen lassen muss. Bei Debian Wheezy ist da wohl Exim4 das Mittel der Wahl. Was wesentlich einfacher zu konfigurieren ist als Sendmail oder Postfix. Zum Glück ist die Sache auch recht trivial, wenn man nur Mail von lokalen Diensten versenden will. Nach dem Befehl:
dpkg-reconfigure exim4
wird man durch die Konfiguration geleitet. Wer sich nicht sicher ist kann sich an dieses How-To halten.
Nun wo man auch Mails senden kann bekommt man auch ein Passwort. Und der Spass mit Friendica kann beginnen.
Bye Bye Facebook.