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.