Tobias Scherbaum » Programmtipps http://blog.scherbaum.info Tagebuch eines Hardwaresammlers ... Thu, 14 Jul 2011 15:09:28 +0000 en hourly 1 http://wordpress.org/?v=3.1.2 Unterwegs mit dem Passenger http://blog.scherbaum.info/2009/01/30/unterwegs-mit-dem-passenger/ http://blog.scherbaum.info/2009/01/30/unterwegs-mit-dem-passenger/#comments Fri, 30 Jan 2009 19:45:55 +0000 Tobias Scherbaum http://blog.scherbaum.info/?p=351 Continue reading ]]> Nachdem ich ja vor einigen Tagen mein (durchaus gewöhnliches) Setup einer Ruby on Rails Anwendung (Redmine) serviert von Mongrel und Apache vorgestellt hatte, habe ich ja auch nach Lösungsansätzen gesucht, es einfacher und umkomplizierter zu machen.

Nicht das es Vorschläge gegeben hätte, aber selbst ist der Mann ;)

Im Prinzip lässt es sich mit wenigen Worten beschreiben, Passenger (aka mod_rails) installieren und aktivieren, einen stinknormalen VirtualHost auf das public/ Verzeichnis der RoR-Anwendung konfigurieren – fertig. “Gefühlt” ist das neue Setup mit Passenger ein wenig (gut, unwesentlich) langsamer als die vorherige Kombination aus Mongrel und Apache – dafür verbrauchen nicht gleichzeitig 3 Mongrel-Prozesse jeweils 40MB RAM.

]]>
http://blog.scherbaum.info/2009/01/30/unterwegs-mit-dem-passenger/feed/ 0
Redmine Installation unter Gentoo http://blog.scherbaum.info/2009/01/28/redmine-installation-unter-gentoo/ http://blog.scherbaum.info/2009/01/28/redmine-installation-unter-gentoo/#comments Wed, 28 Jan 2009 19:11:43 +0000 Tobias Scherbaum http://blog.scherbaum.info/?p=339 Continue reading ]]> Viele kleine, aber feine Projektmanagement-Tools gibt es – einige davon bilden genau ab, was man in OpenSource-Projekten braucht und will. Bisher war Trac der erste Name der bei dem Stichwort gefallen ist, aber einige Projekte (darunter der Lighty oder auch die Summer of Code Projekte auf GentooExperimental.org) setzen auf Redmine – durchaus zu Recht, wie ich finde.

Die folgenden Schritte beschreiben die Installation von Redmine unter Gentoo Linux, “serviert” wird das Redmine von Apache via Mongrel, die Daten landen in einer MySQL-Datenbank.

1. Herunterladen eines aktuellen Tarballs oder Checkout aus dem SVN Repository.

# svn co http://redmine.rubyforge.org/svn/branches/0.8-stable redmine-0.8

2. Erstellen einer MySQL-Datenbank und Berechtigen eines Benutzers auf die Datenbank
3. Erstellen und Anpassen der Datenbankkonfiguration in der Datei config/database.yml:

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: <strong>user</strong>
  password: <strong>password</strong>
  encoding: utf8

4. Initialisieren der Datenbank

# rake db:migrate RAILS_ENV="production"

5. Importieren der Default-Konfiguration

# rake redmine:load_default_data RAILS_ENV="production"

6. Benutzer und Gruppe “redmine” (oder anderweitig benamst, je nach Belieben) anlegen und wie folgt berechtigen:

# mkdir tmp
# chown -R redmine:redmine files log tmp
# chmod -R 755 files log tmp

7. Bearbeiten der Email-Konfiugration in der Datei config/email.yml.
8. Mongrel konfigurieren:

# mongrel config: mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /var/www/redmine-0.8 --user redmine --group redmine

9. Berechtigungen im Verzeichnis tmp/pids prüfen, sollten die nicht passen zeigt sich Mongrel bockig.
10. Mongrel starten, wenn sich Mongrel wider Erwarten doch bockig zeigt in log/production.log nachschauen wo es hapert.

# mongrel_rails cluster::start

11. Dem Apache beibringen, dass er gefälligst auf Mongrel zugreifen soll, wenn jemand was vom redmine-VirtualHost möchte. Das kann z.B. so ausschauen:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName redmine.localdomain
 
        RewriteEngine On
        # Redirect all non-static requests to cluster
        RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
        RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L]
</VirtualHost>
 
<Proxy balancer://redminecluster>
        BalancerMember http://127.0.0.1:8000
        BalancerMember http://127.0.0.1:8001
        BalancerMember http://127.0.0.1:8002
</Proxy>

(Das ganze gehört in einen VirtualHost, die BalancerMember noch in eine “Proxy balancer://redminecluster” Direktive – WordPress schluckt die Tags – kann wer ein schickes Plugin empfehlen, dass sich für die Anzeige von Konfigurations- und Code-Schnipseln gut eignet?)
12. Um den Apache zum mitspielen zu bewegen, prüfen ob die Proxy-Module mit kompiliert wurden (USE=”proxy proxy_balancer proxy_connect proxy_http”) sowie das Laden der Proxy-Module konfigurieren. In /etc/conf.d/apache2 dazu APACHE2_OPTS=”-D SSL -D NAGIOS -D PHP5 -D PROXY” aktivieren. Apache starten, aufs Redmine zugreifen – fertig.

Wenn man mag, dann gilt es noch die Schritte 13 und 14 zu beachten:
13. Sicherstellen, dass die Datenbank sowie die Konfigurationsdateien wie auch der Attachments-Ordner (files/) gesichert werden.
14. Über ein Init-Skript sicherstellen, dass Mongrel auch nach einem Reboot gestartet wird und das Redmine zur Verfügung steht. Sieht zugegeben “komisch” aus, aber funktioniert :P Wer als Ruby on Rails-Experte Verbesserungsvorschläge hat – Ihr seid eingeladen ;)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- /etc/init.d/redmine --
#!/sbin/runscript
 
start()
{
        ebegin "Starting mongrel_cluster [redmine]"
 
        cd /var/www/redmine &amp;&amp; mongrel_rails cluster::start
 
        eend $? $"Failed to start redmine"
}
 
stop()
{
        ebegin "Stopping mongrel_cluster [redmine]"
 
        cd /var/www/redmine &amp;&amp; mongrel_rails cluster::stop
 
        eend $? $"Failed to stop redmine"
}

… und schon fertig ;)

PS: Wer Redmine über eine HTTPS-Verbindung anbieten will, der sucht noch Folgende Ergänzung zur Apache-Konfiguration:

RewriteEngine On
# Redirect all non-static requests to cluster
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RequestHeader set X_FORWARDED_PROTO 'https'
RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L]

Fertig ;)

]]>
http://blog.scherbaum.info/2009/01/28/redmine-installation-unter-gentoo/feed/ 2
Ruby on Rails http://blog.scherbaum.info/2009/01/28/ruby-on-rails/ http://blog.scherbaum.info/2009/01/28/ruby-on-rails/#comments Wed, 28 Jan 2009 18:42:55 +0000 Tobias Scherbaum http://blog.scherbaum.info/?p=336 Continue reading ]]> Viel hört man ja in letzter Zeit von Ruby on Rails – alles  soll so einfach sein, schnell gehen und einfach nur funktionieren. Kurzum: Zeit sich das mal anzuschauen.

Nachdem ich in den letzten Wochen erstmals mit einer Ruby on Rails Anwendung konfrontiert wurde (zur Installation und Einrichtung von Redmine unter Gentoo kommt nachher noch ein kurzes HowTo), habe ich heute einen kurzen Blick auf Ruby on Rails geworfen. Ein kurzer Blick ist wirklich nur ein kurzer Blick, dennoch ist es beeindruckend, in welchem Zeitaufwand (effektiv keine 10 Minuten) sich eine Mini-Anwendung realisieren lässt. Um einen Hauch eines Eindrucks von Ruby on Rails zu bekommen, habe ich mir das Kapitel 3 aus dem Galileo OpenBook “Ruby on Rails 2 – Erste Schritte” angeschaut. Hier wird mit wirklich wenigen Schritten eine minimale Anwendung erstellt, die einen ersten Eindruck vermittelt, wie simpel sich Dinge in Ruby on Rails womöglich realisieren lassen.

Bei nächstbester Gelegenheit werde ich definitiv einen tieferen, genaueren Blick auf Ruby on Rails werfen und für mich eine kleine Anwendung damit realisieren.

Nachtrag: Auch O’Reilly hat ein OpenBook zu RoR – wie konnte mir das nur entgehen? ;)

]]>
http://blog.scherbaum.info/2009/01/28/ruby-on-rails/feed/ 0
nagstamon a Nagios Status Monitor http://blog.scherbaum.info/2008/11/24/nagstamon-a-nagios-status-monitor/ http://blog.scherbaum.info/2008/11/24/nagstamon-a-nagios-status-monitor/#comments Mon, 24 Nov 2008 20:01:19 +0000 Tobias Scherbaum http://blog.scherbaum.info/?p=284 Continue reading ]]> nagstamon is a Nagios Status Monitor and it’s development is inspired by the Nagios Checker plugin for Firefox (which I do like a lot – ask my colleagues :P) … anyways, nagstamon has one big advantage: it resides inside your system tray and therefore you don’t necessarily need to browse at websites all day long to have your Nagios Status always in sight ;)

I discovered nagstamon already some months ago while checking the Nagios Exchange feed and quickly wrote an ebuild – but then simply put forgot about nagstamon. Today I’ve seen bug #248121, being a request for nagstamon to be added to our Portage tree. There you are! ;)

]]>
http://blog.scherbaum.info/2008/11/24/nagstamon-a-nagios-status-monitor/feed/ 0
Neue Webseite zum Buch http://blog.scherbaum.info/2008/08/10/neue-webseite-zum-buch/ http://blog.scherbaum.info/2008/08/10/neue-webseite-zum-buch/#comments Sun, 10 Aug 2008 16:24:59 +0000 Tobias Scherbaum http://blog.scherbaum.info/?p=216 Continue reading ]]> Pünktlich zur 2. Auflage hat die Webseite zum Buch “Gentoo Linux: Die Metadistribution” ein kleines “Facelift” erhalten. Aus einer vor einem Jahr handgestrickten Ansammlung unschöner, statischer HTML-Seiten wurde eine kleine Anwendung, umgesetzt mit dem ZendFramework und der Template-Engine Smarty. Errata und Downloads kommen in den nächsten Tagen …

]]>
http://blog.scherbaum.info/2008/08/10/neue-webseite-zum-buch/feed/ 2
Airline Tycoon – DeLuxe http://blog.scherbaum.info/2007/08/02/airline-tycoon-deluxe/ http://blog.scherbaum.info/2007/08/02/airline-tycoon-deluxe/#comments Thu, 02 Aug 2007 16:53:39 +0000 Tobias Scherbaum http://blog.scherbaum.info/2007/08/02/airline-tycoon-deluxe/ Continue reading ]]> in der Linux-Version liegt nun vor mir. Nachdem mir Airline Tycoon – First Class vor einigen Wochen in die Hände fiel (für das “andere” Betriebssystem …), kommt “DeLuxe” mit neuen Missionen genau zum richtigen Zeitpunkt daher, die letzte Mission aus “First Class” hab ich Anfang der Woche zu Ende gebracht. Ich brauch’ Urlaub! :P

]]>
http://blog.scherbaum.info/2007/08/02/airline-tycoon-deluxe/feed/ 0
Banshee http://blog.scherbaum.info/2007/06/17/banshee/ http://blog.scherbaum.info/2007/06/17/banshee/#comments Sun, 17 Jun 2007 11:59:36 +0000 Tobias Scherbaum http://blog.scherbaum.info/2007/06/17/banshee/ Continue reading ]]> Nachdem ich ja vor einigen Wochen noch schrieb, dass so “dicke” Anwendungen zum “Musik hören” wie zum Beispiel Amarok absolut nichts für mich sind und audacious doch völlig reicht, muss ich die Aussage nun revidieren. Gestern hatte ich mal wieder einen kurzen Blick auf Banshee geworfen und bin erstaunt was sich dort getan hat. Ich bin jedenfalls angenehm überrascht – mal schauen ob Banshee den Langzeittest gegen audacious gewinnen kann ;)

np: Chuck Berry – Johnny B. Good

]]>
http://blog.scherbaum.info/2007/06/17/banshee/feed/ 0