Welcome to Arkanis Development

Collaboa auf Ubuntu 6.10… compiliert und läuft

Published

This post is written in German

Die letzten zwei Tage waren zwar etwas Kommandozeilenlastig, aber dafür hat es sich gelohnt. Seit langem wollte ich mal etwas tiefer in Linux einsteigen und da manche Pakete etwas komisch aufgebaut sind vor allem auch Software selbst kompilieren.

Ok, aber nun zur eigentlichen Hauptsache. Vor einigen Einträgen hab ich schon einmal erwähnt, dass ich momentan Collaboa zum laufen bringen will. Allerdings ist die Dokumentation dieses Projektes nicht sehr gut (ok, nur ein aktiver Entwickler…) und unter Windows habe ich es ganz aufgegeben (wegen der Ruby SVN Bindings).

Gestern, oder besser gesagt heute früh, ist es mir endlich gelungen, Collaboa in Aktion zu bewundern. Leider ist das ganze etwas ausgearted… VMWare Tools, Ruby, SubVersion, SWIG und noch andere Kleinigkeiten.

Fangen wir mal an. Laufen tut das ganze unter Ubuntu 6.10 in einer Virtual Machine (VMware Server 1.0.2). Ich bewundere jedes mal die Installation von Ubuntu und man könnte sogar sagen, dass es mir Spaß macht, Ubuntu zu installieren. Auf jeden Fall ist das nach ein paar Minuten erledigt.

Da es für die Installation von Collaboa sogut wie keine Dokumentation gibt (erst recht keine deutsche) bin ich mal so irre und schreib hier alles genau nieder. Alles, also auch Ruby, SubVersion, usw.

1. Compiler einrichten

Um Software zu compilieren braucht man jemand, der die Arbeit tut. Hab keine große Lust, die Bits selbst an ihren Platz zu schieben.

sudo apt-get install build-essential

Gelobt sei apt-get und nach etwas Wartezeit ist der Compiler einsatzbereit. Jetzt können wir loslegen und Software compilieren.

2. VMware Tools installieren (optional)

Für alle armen Leute, deren Hardware zu ausgefallen oder neu für Linux ist. Hab das ganze auch ohne VMware Tools ausprobiert, also kann man diesen Schritt getrost weglassen. Die VMware Tools machen alles allerdings etwas schneller und man kann die Bildschirmauflösung nach oben drehen (bei mir 1280 x 1024).

Die genauen Schritte werden in dem Artikel Install VMware Tools on Ubuntu Edgy Eft erklärt, also fasse ich mich hier kurz.

Um die VMware Tools zu compilieren brauchen wir die Kernelheader:

sudo apt-get install linux-headers-`uname -r`

Im VMware Menü auf "VM" → "Install VMware Tools…" klicken. Nach ein paar Sekunden sollte dann eine CD gemounted werden, die die VMware Tools enthält. Anschließend noch ein paar Kommandos eingeben:

cp /cdrom/*.gz /tmp/
cd /tmp
tar xvzf VM*.gz
cd vmware*
sudo ./vmware-install.pl

Das VMware Tools setup fragt dann nach einigen Einstellungen. Hier einfach die Standardwerte bestätigen. Bei der Frage, ob das Modul compiliert werden soll, ebenfalls bestätigen.

VM neu starten, fertig.

3. Ruby

Zlib

Ruby bzw. Ruby Gems braucht die ZLib Bibliothek. SubVersion benutzt sie ebenfalls. Auf www.zlib.net kann man den Quelltext der neuste Version runter laden (die Dateien, die meist auf tar.gz enden). Für alle, die zu faul sind, die Seite zu überfliegen gibts auch einen [direkten Link][http://www.zlib.net/zlib-1.2.3.tar.gz].

Dieses Archiv irgend wo hin extrahieren (hab es in mein persönliches Verzeichnis extrahiert) und in der Kommandozeile öffnen. Dort dann die drei Befehle eintippen:

./configure
make
sudo make install

Dadurch sollte Zlib compiliert und installiert werden.

ReadLine

Mehr eine Kleinigkeit, aber wenn man die Konsole von Ruby on Rails nutzen will, braucht man Readline bzw. den Quelltext. Sonst spuckt ein IRB leider eine Fehlermeldung aus.

sudo apt-get install libreadline5-dev

Ruby, endlich

Jetzt gehts ans eingemacht. Allerdings war ich erstaunt, wie einfach es eigentlich ist. Den Quelltext von ruby-lang.org runterladen. Für faule hier wieder der [genaue Link zum tar.gz Archiv][ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.6.tar.gz].

Dieses Archiv wieder entpacken, in der Kommandozeile in den entpackten Ordner wechseln und die Prozedur von Zlib wiederholen:

./configure
make
sudo make install

Diese Befehle können eine Weile dauern aber damit sollte Ruby compiliert und installiert sein. Weiter, zu etwas, dass bei Ruby nicht fehlen darf…

Ruby Gems

Die Paketverwaltung von Ruby, mit der man schnell und bequem Ruby-Software installieren kann. Die aktuellste Version von Ruby Gems kann man bei entsprechenden RubyForge-Seite runter laden.

Dieses Archiv ebenfalls entpacken und in der Komandozeile zu dem Ordner navigieren. Die Installation ist hier allerdings etwas einfacher:

sudo ruby setup.rb

Fertig. Mit Ruby Gems installieren wir später Ruby on Rails und alles, was man für Collaboa so braucht.

4. SubVersion

SWIG

Wir wollen mit Collaboa (Ruby on Rails bzw. Ruby) ja auf SubVersion zugreifen. Für diese Ruby-SubVersion-Schnittstelle brauchen wir allerdings SWIG (Simplified Wrapper and Interface Generator). Es ist wichtig zu beachten, dass SubVersion momentan (v1.4.3) nur SWIG v1.3.25 unterstützt. Eine ältere oder neuere Version funktioniert leider nicht. Wenn man sich bei SourceForge etwas durchklickt findet man die richtige Version.

Dieses Archiv wie gehabt extrahieren, in der Kommandozeile hinein navigieren und die üblichen Befehle ausführen:

./configure
make
sudo make install

SubVersion

Den Quelltext findet man auf der [SubVersion Homepage][svnhome]. Entweder in den News oder im Source Code Download Ordner. Das subversion-x.y.z.tar.gz Archiv (x, y und z stehen hier natürlich für Versionsnummern) enthält den Quelltext von SubVersion selbst. Seit SubVersion 1.4 gibt es zusätzlich auch noch ein subversion-deps-x.y.z.tar.gz Archiv, dass alle Abhängikeiten enthält. Genauere Details dazu gibt es in der Installations-Datei von SubVersion.

Entpackt zuerst den SubVersion-Quelltext irgend wo hin, z.B. in euer privates Verzeichnis (home-Verzeichnis). Dort sollte nun ein subversion-x.y.z Ordner zu finden sein, der den Quelltext von SubVersion enthält. Anschließend entpackt auch das deps-Archiv an den gleichen Zielort. Dadurch werden alle nötigen Abhängikeiten (Apache Portable Runtime, Zlib und Neon) in den SubVersion-Ordner entpackt.

Nun bemühen wir die Konsole und navigieren per Komandozeile in den subversion-x.y.z-Ordner. So in etwa:

cd subversion-1.4.3

Das Archiv entpacken und per Kommandozeile den Ordner öffnen. Wir haben ja für SubVersion bereits SWIG installiert, allerdings müssen wir SubVersion das vor dem Compilieren noch mitteilen. Sonst läst sich später die Ruby-SubVersion- Schnittstelle nicht compilieren. Deswegen fällt hier der ./configure-Befehl etwas länger aus:

./configure --with-swig=/usr/local/bin/swig
make
sudo make install

Durch die Abhängikeiten von SubVersion kann der ./configure-Befehl etwas länger rattern. Am Ende erscheint auch eine Meldung, dass Berkeley DB nicht installiert ist und deswegen nicht eingebunden wird. Diese Meldung kann man allerdings getrost ignorieren. SubVersion sollte nun installiert und einsatzbereit sein.

Ruby-SubVersion-Schnittstelle

Die Ruby-SubVersion-Schnittstelle ("SubVersion Ruby Bindings") ist im SubVersion Quelltext enthalten. Also schauen wir noch mal in das SubVersion Quelltext Verzeichnis (dass vom vorherigen Schritt) rein. Dort die folgenden Befehle eintippen:

make swig-rb
make check-swig-rb
sudo make install-swig-rb

Der 2. Befehl make check-swig-rb kann eine Weile dauern. 2 Tests meldeten auch Fehler weil die Berkeley DB nicht installiert ist. Das kann man allerdings, wie die Meldung vorher, getrost ignorieren.

Um sicher zu sein, dass die Schnittstelle funktioniert, sollte man die folgenden Befehle ausführen:

irb
irb(main):001:0> require 'svn/core'
=> true
irb(main):002:0> exit

Falls statt => true eine Fehlermeldung erscheint, funktioniert es leider nicht. In dem Fall könnt ihr hier einfach einen Kommentar schreiben. :)

5. MySQL

Ruby on Rails braucht natürlich noch eine Datenbank im Hintergrund, MySQL erfüllt diesen Zweck recht gut. Hier bin ich mal nicht so gründlich und installiere es so wie es im Ubuntu Serverguide steht:

sudo apt-get install mysql-server mysql-client

Die MySQL-Ruby bindings zu laufen zu kriegen ist allerdings etwas schwieriger bzw. dazu braucht man noch ein Paket mehr:

sudo apt-get install libmysqlclient15-dev
sudo gem install mysql

Nun sollte MySQL laufen und für Ruby on Rails bereit sein.

6. Ruby on Rails

Langsam kommen wir nähre an Collaboa ran. Rails kann man dank Ruby Gems bequem installieren:

sudo gem install rails -y

Bei mir musste ich den Befehl zwei mal eingeben. Also wenn am Anfang zuerst eine Fehlermeldung kommt, einfach noch mal eingeben.

Mongrel (optional)

Der Standardserver von Ruby on Rails (Webrick) ist nicht perfekt und hängt ab und zu. Es gibt bessere und vor allem schnellere Alternativen, wie z.B. Mongrel.

sudo gem install mongrel -y

Wenn man mit Webrick zufrieden ist, kann man sich diesen Schritt sparen.

Collaboa

Die Ziellinie ist in sicht. Collaboa kann man auf der Website runterladen. Allerdings braucht man für Collaboa noch einige Gems:

sudo gem install redcloth
sudo gem install syntax
sudo gem install xhtmldiff -y

Das Collaboa-Archiv entpacken. Die aktuelle Collaboa-Version (0.6.1) wurde mit Rails 1.2.1 entwickelt und ist darauf fixiert. Dementsprechend wird sich Collaboa beschweren, wenn wir nur die neuste Rails-Version 1.2.3 installiert haben. Um diese "Fixierung" an Rails 1.2.3 anzupassen hab ich kurzerhand die entsprechende Quelltext-Zeile in der config/environment.rb Datei bearbeitet. Von

RAILS_GEM_VERSION = '1.2.1'

zu

RAILS_GEM_VERSION = '1.2.3'

Dazu fehlt in dem Collaboa-Archiv das log-Verzeichnis. Damit Collaboa beim Start deswegen nicht rausfliegt legen wir manuell ein log-Verzeichnis an:

mkdir log

Damit sollten alle unmittelbaren Bedürfnisse von Collaboa gestillt ein. Die paar letzten Schritte (Aufbau und einrichten der Datenbank, Einrichten von Collaboa) werden im [Collaboa-Wiki][http://www.collaboa.org/docs/collaboa/install] gut erklärt.

Nach diesen kurzen Schritten kann man den Webserver starten (ruby script/server) und unter localhost:3000 die Collaboa-Installation bewundern.

Fertig!

Für mich war es ein langer weg bis hierher. Die ganze Prozedur hab ich 4 mal hinter mich gebracht. Zu dem war es für mich eine gute bzw. tiefere Einführung in Linux.

Wie man vielleicht schon erahnt, hab ich Collaboa momentan nur zur Entwicklung aufgesetzt. Ich werde noch ein paar Fehler korrigieren und ein paar Funktionen hinzufügen (z.B. Wiki). Bis jetzt hat mich Collaboa sehr beeindruckt… vor allem die für mich unerlässliche Unterstützung für mehrere Projekte.

Ich hoffe, dieses kleine … "HowTo" hilft einigen anderen weiter, die sich für Collaboa interessieren, aber in den "kleinen Details" ertrinken.

Danke für's Lesen.

Leave a new comment

Having thoughts on your mind about this stuff here? Want to tell me and the rest of the world your opinion? Write and post it right here. Be sure to check out the format help (focus the large text field) and give the preview button a try.

Format help

Please us the following stuff to spice up your comment.

An empty line starts a new paragraph. ---- print "---- lines start/end code" ---- * List items start with a * or -

or