Systeme/ffwi-octans/nodegame.freifunk-wiesbaden.de

Unter nodegame.freifunk-wiesbaden.de ist das ffnodedgame von der MetaMeute zu finden.

ffnodegame

 Freifunk node highscore generator
 Copyright (C) 2012 Anton Pirogov
 Licensed under the GPLv3
 
 requirements: ruby 1.9.3, sinatra gem
 run with: ruby ffnodegame.rb

Installation

Das ffnodegame ist eine ruby Anwendung auf synatra, für den uberspace braucht es ein paar stunts, sind hier dokumentiert:

Im Groben wurde sich an diese Anleitung gehalten:

Pfade

 mkdir ~/software/ffnodegame  && cd ~/software/ffnodegame
 git clone https://github.com/MetaMeute/ffnodegame .

Die Werte in der settings.rb werden entsprechend angepasst:

 JSONSRC='http://map.freifunk-mainz.de/nodes.json'
 PWD='####'
 BLACKLIST=['Gate2']

Dann noch Titel und Link in die ffnodegame.rb:

 #some constants
 TITLE = "Freifunk Mainz/Wiesbaden Node Highscores"
 GRAPHLINK='http://map.freifunk-mainz.de/graph.html'

Umgebung

Jetzt muss man ein bisschen frickeln, testet die Pfade auf Korrektheit: Auch wenn zsh die default shell ist, sind die Scripte die den Ruby-Kram anstoßen in bash. Deshalb muss in der ~/.bash_profile stehen:

 export PATH=/package/host/localhost/ruby-2.1/bin:$PATH
 export PATH=$HOME/.gem/ruby/2.1.0/bin:$PATH
 export PATH

Danach Sinatra installieren (ggf. davor die Umgebungsvariablen setzen: source ~/.bash_profile):

 gem install --user-install fcgi sinatra

FastCGI

nach ~/fcgi-bin/ffnodegame kommt das launch-script:

 #!/bin/sh
 export HOME=/home/ffwi
 . $HOME/.bash_profile
 export PHP_FCGI_CHILDREN=1
 cd $HOME/software/ffnodegame
 exec rackup -E production

Ich kenne meine Rechte:

 chmod 755 ~/fcgi-bin/ffnodegame

Jetzt kann man testen, ob unter ffwi.octans.uberspace.de/fcgi-bin/ffnodegame/ das script korrekt läuft.

Subdomain & Weiterleitung

als letztes wird noch eine Subdomain und .htaccess Weiterleitung angelegt:

 mkdir /var/www/virtual/ffwi/nodegame.freifunk-wiesbaden.de

/var/www/virtual/ffwi/nodegame.freifunk-wiesbaden.de/.htaccess

 RewriteEngine on
 RewriteRule ^(.*)$ /fcgi-bin/ffnodegame/$1 [QSA,L]

Nun müsste™ alles funktionieren: nodegame.freifunk-wiesbaden.de


Cronjob

Damit der Stunt mit der ruby und den Umgebungsvariablen auch in der Crontab funktioniert, basteln wir uns ein Wrapper-Script:

~/software/ffnodegame-cron.sh

 #!/bin/sh
 export HOME=/home/ffwi
 . $HOME/.bash_profile
 cd $HOME/software/ffnodegame
 exec ruby $HOME/software/ffnodegame/cronupdater.rb

Ich kenne meine Rechte, genauso wie meine Linke!

 chmod 755 ~/software/ffnodegame-cron.sh

Für einen Durchlauf jede dritte Minute nach der vollen Stunde kommt in die crontab:

 3 * * * * /home/ffwi/software/ffnodegame-cron.sh