Gerrit unter Ubuntu installieren

Bei Gerrit handelt es sich um ein Reviewsystem auf Git Basis. Die Software wird unter anderem vom Android Projekt benutzt. Gerrit selbst ist dabei in Java geschrieben. Deshalb sollte dieses natürlich installiert werden:

apt-get install openjdk-6-jre-headless

Nach der Installation von Java legen wir für Gerrit einen extra Benutzer an und wechseln in seinen Kontext:

adduser gerrit
su gerrit
cd ~gerrit

Im Homeverzeichnis des Nutzers angekommen laden wir das Kompilat von Gerrit herunter und starten den Initialisierungsvorgang:

wget http://gerrit.googlecode.com/files/gerrit-2.2.1.war
chmod 744 gerrit-2.2.1.war
java -jar gerrit-2.2.1.war init -d review

Das „review“ bezeichnet hierbei das Verzeichnis in welchem Gerrit die entsprechenden Dateien anlegt, welche für den Betrieb der Software benötigt werden.

Im ersten Schritt fragt Gerrit ob der Ordner angelegt und initialisiert werden soll, was wir mit Yes beantworten. Alle anderen Meldungen bestätigen wir mit der Entertaste bis wir zum Punkt „Email Delivery“ kommen. Hier geben wir die Daten für einen SMTP Server ein über welchen Gerrit die Mails verschickt. Bei der Frage nach der „Canonical URL“ sollte die URL eingegeben werden unter der das System später erreichbar sein soll z.B. „http://review.invertika.org“.

Nach der Konfiguration startet Gerrit und ist dann per Browser erreichbar. Nachdem man sich einen Account registriert hat ist man automatisch in der Gruppe „Administrators“. Nun sollte man unter Settings -> SSH Public Keys den entsprechenden Schlüssel hinterlegen. Mittels

ssh -p 29418 nutzername@host

z.B.

ssh -p 29418 

kann man nun überprüfen ob der Server den Schlüssel akzeptiert. Das ganze sollte dann so aussehen:

  ****    Welcome to Gerrit Code Review    ****

Hi seeseekey, you have successfully connected over SSH.

Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:

git clone ssh://:29418/REPOSITORY_NAME.git

Nachdem die grundlegende Konfiguration angelegt ist, kann damit begonnen werden, ein Projekt anzulegen. Dies geschieht allerdings nicht über die Weboberfläche, sondern per SSH:

ssh -p 29418 nutzername@host gerrit create-project -n projektname

z.B.

ssh -p 29418  gerrit create-project -n sandbox

Damit ist das Projekt dann angelegt. Nun muss noch das bestehende Repository in das Gerrit System überführt werden. Dazu wird zuerst das bereits bestehende Repository geclont:

git clone :Invertika/sandbox.git

Dann pushen wir das Repository in das neue Gerrit Projekt:

cd sandbox
git remote rm origin
git remote add origin ssh://:29418/sandbox.git
git push ssh://:29418/sandbox.git HEAD:refs/heads/master

Kommt es beim Push zu der Meldung:

Permission denied (publickey).

muss der entsprechende SSH Schlüssel zu dem Nutzer in Gerrit angetragen werden. Ist die Mailadresse eines Commiters nicht bekannt kann es zu folgendem Fehler kommen:

remote: ERROR:  In commit 9228f67aa9113fa73c80f36e81cb5a62bf930c6c
remote: ERROR:  committer email address manaserv@herse.(none)
remote: ERROR:  does not match your user account.
remote: ERROR:
remote: ERROR:  The following addresses are currently registered:
remote: ERROR:    
remote: ERROR:
remote: ERROR:  To register an email address, please visit:
remote: ERROR:  http://review.invertika.org/#settings,contact

Hier hilft es dem Projekt die entsprechenden Rechte zu geben damit die Identität „gefälscht“ werden darf. Ansonsten kann noch der Fehler:

! [remote rejected] HEAD -> master (prohibited by Gerrit)

auftreten. Auch hier hilft die temporäre Anhebung der Rechte für das jeweilige Projekt, da man normalerweise nicht in den Master Branch schreiben darf (was aber beim ersten Anlegen des Projektes gewollt ist).

Nachdem das Projekt angelegt ist kann man es sich mittels:

git clone ssh://:29418/sandbox.git

auf die Festplatte holen. Möchte man Gerrit neustarten, stoppen oder starten so sieht das wie folgt aus:

review/bin/gerrit.sh restart
review/bin/gerrit.sh stop
review/bin/gerrit.sh start

Weitere Informationen gibt es unter:
http://code.google.com/p/gerrit/
http://www.rockbox.org/wiki/GerritDemoGuide
http://de.wikipedia.org/wiki/Gerrit_%28Software%29
http://gerrit.googlecode.com/svn/documentation/2.1.5/config-replication.html
http://unethicalblogger.com/2009/12/07/code-review-with-gerrit-a-mostly-visual-guide.html
http://gerrit.googlecode.com/svn-history/r6114/documentation/2.1.7/error-you-are-not-committer.html

Mapbender unter Ubuntu installieren und einrichten

Bei Mapbender (zu finden unter http://www.mapbender.org) handelt es sich um ein Web-Framework für GIS Belange. Das ganze Framework kann man auch unter Ubuntu installieren. Im ersten Schritt müssen dazu einige Pakete installiert werden. Dies geschieht mittels:

sudo apt-get install apache2 php5 postgresql php5-pgsql 

Nachdem alle Pakete installiert sind, sollte die aktuelle Version von Mapbender heruntergeladen und entpackt werden. Anschließend sollte für Mapbender ein eigener Nutzer (mittels adduser mapbender) namens mapbender angelegt werden. Bevor wir dann mittels su mapbender uns in den Kontext des Nutzers begeben, kopieren wir die entpackten Dateien in sein Homeverzeichnis.

Dem Nutzer postgre muss nun noch ein Passwort zugewiesen werden. Dies geschieht mittels:

sudo sudo -u postgres psql 

Daraufhin öffnet sich die Postgres Konsole in welcher man mittels \password postgres das Passwort setzen kann. Nun sollte die Daten im Homeordner des Mapbender Ordners die passenen Rechte bekommen:

find /home/mapbender/ -type d -exec chmod 777 {} +
find /home/mapbender/ -type f -exec chmod 777 {} + 

Nun wird die Datenbank installiert. Dazu wird das Skript install2.6.sh welches unter /home/mapbender/resources/db/ zu finden ist ausgeführt. Das Skript stellt dabei einige Fragen wie zum Beispiel nach dem Namen der Datenbank, Webservernenutzer (www-data) etc.

Im nächsten Schritt wird die Datei /etc/apache2/httpd.conf mit einem Editor geöffnet. Dort kommt dann folgendes in die Datei:

Alias /mapbender /home/mapbender/http

 <Directory /home/mapbender/http>
 Options MultiViews
 DirectoryIndex index.php
 Order allow,deny
 Allow from all
 </Directory>

Nachdem das geschafft ist muss die Konfigurationsdatei von Mapbender angepasst werden. Diese befindet sich im Ordner /home/mapbender/conf und trägt den Namen mapbender.conf. Dort trägt man die Datenbankkonfiguration sowie die Login URL ein. Nun startet man noch den Apache mittels /etc/init.d/apache2 restart neu. Danach sollte Mapbender funktionieren. Wenn nicht hilft es das Error Logging in der php.ini zu aktivieren um so den Fehlern auf die Spur zu kommen.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Mapbender
http://www.mapbender.org/Installation

Remote Desktop Server unter Ubuntu installieren

Wenn man auf einen Rechner von außen zugreifen möchte gibt es ja eine Menge Möglichkeiten z.B. VNC, freeNX oder SSH. Manchmal wird aber auf einem Ubuntu Rechner ein RDP Server benötigt. Dazu installiert man das Paket xrdp mittels

sudo apt-get install xrdp

auf dem Rechner. Anschließend kann man sich zu dem entsprechenden Rechner verbinden. Dort wird man dann nach seinem Sitzungstyp gefragt. Hier wählt man sesman-Xvnc und gibt dann seinen Nutzernamen und sein Passwort ein und drückt auf OK.

Xrdp unterstützt nur 8 und 16 Bit Farbtiefe und hat auf manchen Systemen Probleme mit der Oberfläche. Da kann man nur hoffen das solche Stolpersteine in späteren Versionen verschwinden :)

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Xrdp
http://de.wikipedia.org/wiki/Remote_Desktop_Protocol
http://www.heise.de/software/download/xrdp/38492a
http://www.admin-magazin.de/content/windows-client-ueber-rdp-auf-linux-server
http://www.tutorials.de/forum/linux-tutorials/268765-rdp-server-fuer-linux-mit-xrdp.html

Anwendungen installieren

In den verschiedenen Linux Distributionen gibt es ja die unterschiedlichsten Paketsysteme und Installationsansätze. Einen schönen Einstieg in dieses Thema bietet der Artikel Software unter Linux installieren welcher unter http://www.tuxhausen.de/kurs_software_installieren.html zu finden ist. Der Artikel ist dabei Bestandteil eines Kurses. Das Inhaltsverzeichnis dieses Kurses kann unter http://www.tuxhausen.de/index.html eingesehen werden.

Eee PC Installation

Nachdem ich meinen Eee PC gestern erst einmal gründlich getestet habe, war die Neuinstallation des Betriebssystems an der Reihe. Neben einem Windows XP, soll auch gleich noch eine Partition für Ubuntu eingerichtet werden. Nachdem das XP installiert wurde ging es an die Installation der passenden Treiber. Die empfohlene Reihenfolge für die Treiberinstallation ist folgende:

– ACPI
– Chipsatz
– Audio
– LAN
– WLAN
– VGA

Nach einer Neuinstallation von XP kann es sein das die Bildschirmauflösung nicht mehr auf 1024 x 764 umgeschaltet werden. Um dies zu beheben gehen wir auf den Desktop -> Rechte Maustaste -> Eigenschaften -> Einstellungen -> Erweitert -> Monitor. Dort deaktivieren wir den Haken bei „Modi ausblenden, die vom diesem Monitor nicht angezeigt werden“ und schon geht das ganze wieder.

Danach habe ich dann das Ubuntu installiert und mir auch gleich GRUB als Bootloader installiert. Das führt nun dazu das das Ubuntu standardmäßig gestartet wird, was nicht ganz in meinem Sinne ist. Um das System zu ändern welches standardmäßig gestartet muss man eine bestimmte Datei in der GRUB Konfiguration bearbeiten.

Dazu öffnet man einen Editor mit Root Rechten und öffnet die Datei /boot/grub/menu.lst. Dort findet man einen Eintrag default hinter dem eine Zahl steht. Diese Zahl gibt an welches System in der Liste in Normalfall gestartet werden soll. Diese Zahl ändert man entsprechend und schon wird ein anderes System als Standard gebootet. Aber vorher muss noch update-grub ausgeführt werden, damit das ganze aktualisiert wird.

Das einzige was noch nicht funktioniert ist das Netzwerk unter Ubuntu. Aber dafür wird sich sicherlich auch noch eine Lösung finden :)