How to install Shout on Uberspace

Hinweis: Dieses Tutorial ist aus dem Jahr 2014. In der Zwischenzeit könnten sich die Installalationsschritte angepasst haben! (Im Grossen und Ganzen sollte der Guide aber noch passen 😉)

Shout ist ein self-hosted IRC Client. Das tolle an Shout ist, dass man "Always connected" ist und somit keine Konversation in seinen Lieblingschannels verpasst.

Ich selbst nutzte IRC selten, da ich keinen passenden Client fand der "Alyways connected" war. Mit Shout habe ich das nun gelöst.

Der Shout Client kommt in einem schlichten Design daher.
Der Shout Client kommt in einem schlichten Design daher.

Die folgende Anleitung gilt nur für den Hoster Uberspace. Ich übernehme keine Haftung, falls ihr euren Server irgendwie zerschiesst.

Shout läuft wie gesagt mit Node. Daher ist es wichtig zuerst node.js auf eurem Uberspace korrekt einzurichten. Das geht ganz einfach, indem ihr eure eigene .npmrc anlegt. Zum Uberspace Wiki Eintrag dazu.

cat > ~/.npmrc <<__EOF__
prefix = $HOME
umask = 077
__EOF__

Weiter gehts mit dem installieren von Shout:

npm install -g shout

Sobald nun alles installiert ist geht es um das Konfigurieren von Shout. In eurer Shell öffnet ihr das Config File mit shout config. Ich empfehle euch folgende Einstellungspunkte anzupassen:

  • public: false wenn nur ihr den Client nutzen wollt
  • port: Ein Wert grösser als 61000
  • defaults: Hier könnt ihr die Standard Channels und Nicknames anpassen

Mithilfe von netstat -tulpen | grep PORTNUMMER könnt ihr prüfen, ob der gewünschte Port noch verfügbar ist.

Falls ihr in den Einstellungen definiert habt, dass nur ihr allein oder eine Hand von Auserwählten den Client nutzen wollt, dann müsst ihr zusätzlich noch shout add <name> ausführen. Dadurch wird der Client mit Username und Passwort geschützt.

Die Ports auf uberspace Server sind standardmässig nicht public und müssen zuerst freigeschaltet werden. Dafür gibt es ebenfalls einen einfachen Command den ihr ausführen könnt:

uberspace-add-port -p tcp --firewall

Du findest mehr Informationen zur Portfreischaltung in der offiziellen Doku von uberspace (Danke Richard für den Hinweis!).

Während ihr auf eure Portfreischaltung wartet, könnt ihr noch eure .htaccess Datei anpassen / erstellen. Ich habe Shout auf einer Subdomain (Bsp.: shout.domain.de) eingerichtet.

Der Inhalt der .htaccess-Datei müsste so aussehen (Port 61000 natürlich anpassen):

RewriteEngine On RewriteRule ^(.*) http://localhost:61000/$1 [P]

Shout würde man nun mit shout in eurerer Konsole starten. Sobald ihr aber die Shell wieder schliesst, ist auch Shout weg. Um das Problem zu lösen, erstellt ihr nun einen neuen Service:

uberspace-setup-service shout-irc shout

shout-irc ist der Servicename; shout der der Befehl.

Falls der Service nicht automatisch startet, führt ihr noch den folgenden Befehlt aus.

svc -u ~/service/shout-irc

Das wars auch schon. Jetzt solltet ihr unter eurer gesetzten Domain (shout.domain.de) euren Web-IRC Client finden.