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

Aus Freifunk MWU Wiki
Zur Navigation springen Zur Suche springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


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