Howto Virtual eStudy Development

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Dieser Artikel beschreibt, wie man eine vollständige, vorkonfigurierte eStudy Test- & Entwicklungsumgebung in einer virtuellen Maschine benutzen kann. Als Grundlage dient Virtualbox da es für Windows, MacOS sowie Linux als OpenSource verfügbar ist. Die eigentliche Umgebung ist als .vdi Datei (Virtual Disk Image) in zwei Versionen verfügbar. Beide beinhalten ein für eStudy konfiguriertes LAMP System mit Xubuntu (inkl. Updates bis zum 13.09.09 in V2.0) als Betriebssytem und sind wie folgt konfiguriert:

  • Apache Server inkl. SSL mit zwei Vhosts, einen auf Port 80 für phpmyadmin/ldapadmin sowie etwas offline Dokumentation und einen auf Port 10001 mit eStudy.
  • MySql Server
  • Openldap
  • Memcached
  • Eclipse SDK mit Subversive-, EclipseME und PDTplugin
  • Firefox3 mit diversen Plugins wie die SeleniumIDE
  • Exim4 (ab VM 1.3) für den lokalen Mailversand
  • Dovecot IMAP Server (ab VM 2.0)

Eine vollständige Liste der (nach- und de-) installierten Anwendungen und Plugins finden sich als Textdateien auf dem Desktop des estudydev Benutzers innerhalb der virtuellen Maschine.

Auf Basis dieser eStudy-dev Version existiert noch eine erweiterte, leider nur auf Anfrage verfügbare eStudy-sec Version die zusätzlich einige Tools zur Sicherheitsanalyse von Webanwendungen beeinhaltet. Diese fallen nach unserer Einschätzung unter den "Hackerparagraphen" §202c StGB. Da wir Informatiker und keine Spezialisten für juristische Grauzonen sind, können wir diese Software hier leider weder benennen noch zum direkten Zugriff freigegeben.


Info.png

Wer eine ähnliche Installation durchführen will sei auf Howto eStudy verwiesen, nach der Installation gehts mit Entwicklungshilfe weiter.



Installation von VirtualBox

Tux.png

Linux

Allgemeines

Linux (Kernel 2.6.x) als Hostsystem benötigt ein Kernelmodul vboxdrv.ko das in der Regel als seperates Packet installiert wird und muss zur benutzten Kernelversion passen. Ausserdem müssen alle VirtualBox Benutzer Mitglieder der Benutzergruppe vboxusers sein.

Distributions UNABHÄNGIG

Eine i386 / AMD64 Version kann von www.virtualbox.org herunterladen werden, wo man auch weitere Installationsanleitungen dazu findet.

  • Linux allgemein
chmod a+x ./VirtualBox-2.0.4-38406-Linux_amd64.run
./VirtualBox-2.0.4-38406-Linux_amd64.run
gpasswd -a BENUTZERNAME vboxusers

Distributions ABHÄNGIG

  • Debian
su 
aptitude install virtualbox
groupmod -a -G vboxusers BENUTZERNAME 
  • Ubuntu/Kubuntu/Xubuntu mit dem aktuellen Standardkernelimage
sudo aptitude install virtualbox-ose 
sudo aptitude install virtualbox-ose-modules-generic
groupmod -a -G vboxusers BENUTZERNAME
  • Gentoo
emerge -av virtualbox virtualbox-modules
groupmod -a -G vboxusers BENUTZERNAME 

Laden eines Kernelmoduls

Unter Ubuntu sollte das Modul automatisch geladen werden.

Linux allgemein:
modprobe vboxdrv
Gentoo

Das Modul beim Systemstart automatisch laden

echo "vboxdrv" >> /etc/modules.autoload.d/kernel-2.6
Debian

In der Datei /etc/default/virtualbox-ose

LOAD_VBOXDRV_MODULE=1 

setzen.

Windows

Virtuelle Maschine einrichten

Image der virtuellen Festplatte besorgen

Das ca. 3,9GB große Image kann nur aus dem Intranet der FH Giessen-Friedberg heruntergeladen werden.

Versionen


Info.png

Der Benutzer der VirtualBox startet muss zwingend Schreibrechte für die Image Datei haben, ein starten der VM von einem optischen Datenträger funktioniert daher nicht.


Tux.png

Schreibrechte für den Besitzer der Datei einstellen (-rw-r--r--)

 $ chmod 644 estudy-dev.vdi


Um das Image zum Laufen zu bringen, müssen wir zuerst VirtualBox starten und eine neue virtuelle Maschine erzeugen.

Neue virtuelle Maschine erzeugen

  • Auf den Button „Neu“ klicken oder alternativ mit der Tastenkombination „Strg+N“. Es öffnet sich ein neues Dialogfenster (Siehe Abbildung) zum Erstellen einer neuen virtuellen Maschine.
  • Auf den Button „Weiter“ klicken.


VM 1 neu.png


VM-Name und BS-Typ

  • Die virtuellen Maschine benötigt einen aussagekräftigen Namen wie eStudy-dev und die Angabe des Gast-Betriebssytems
  • Auf den Button „Weiter“ klicken.


VM 2 name.png


Hauptspeicher

  • Die virtuelle Maschine benötigt noch ein wenig Arbeitsspeicher. Dieser wird dem physikalischen Speicher entliehen und sollte demnach an die eigenen

Möglichkeiten angepasst werden. Hier gilt umso mehr ist umso besser, 512MB für das Gastsystem sollte der Wirt mind. zur Verfügung stellen können.

  • Auf den Button „Weiter“ klicken.


VM 3 speicher.png


Virtuelle Festplatte

Als nächstes hat man die Möglichkeit eine Neue oder eine Existierende virtuelle Bootplatte der virtuellen Maschine hinzu zu fügen. Hier kommt die eStudy-dev-vdi zum Einsatz da dies ein Festplattenimage für VirtualBox darstellt und die eigentliche Installation enthält.

  • Auf den Button „Existierend...“ klicken. Es öffnet sich der „Manager für virtuelle Medien“


VM 4 festplatte.png


  • Auf den Button „Hinzufügen“ klicken.


VM 4 1fpManager.png


  • Das gewünschte Image auswählen (eStudy-dev.vdi) und der Liste hinzufügen. Die Auswahl bestätigen.


VM 4 2fpManagerAuswahl.png VM 5 fpAuswahl.png


  • Abschließend auf den Button „Weiter“ klicken.


VM 6 fpEnde.png


Abschluss der Installation

Nun bekommt man noch eine Übersicht der vorgenommen Einstellungen angezeigt. Diese können alle später noch verändert werden. mit dem Button „Abschließen“ wird die virtuelle Maschine erzeugt. Diese taucht nun im Menü von VirtualBox unter dem Namen der angegeben wurde auf (eStudy-dev). Nun kann man das virtuelle System starten und wie mit einem nativ installiertem Xubuntu damit arbeiten. Zum starten der VM muss diese in der Liste angewählt werden und mit dem Button „Starten“ gestartet werden.


VM 7 Abschluss.png VM 8 fertig.png

Überblick über das Entwicklungs - System

Login Daten der eStudy-dev VM

Folgende Login Daten werden benötigt:

Benutzername: estudydev
Passwort    : fhgiessen

Passwörter für Zertifikate

Mit einer eigenen lokalen Zertifizierungsstelle (CA), wurden zwei Zertifikate erstellt. Eines für den Benutzer estudydev und für siggi.

Das Passwort für beide Zertifikate ist identisch.

 12345

Alles andere als ein sicheres Passwort, aber einfach zu merken und für Testzwecke ausreichend ;)

Passwörter für Datenupdates

Das Passwort für die Testdatenbank erhalten sie im eLearning Helpdesk oder ihrem Dozenten!

Info.png

Alle weiteren Zugangsdaten sind in der VM über die Startseite von Firefox zu finden. Menüpunkt: Passwörter

Modifikation /etc/hosts

Um den LDAP der FH nachzustellen und Probleme zu vermeiden haben wir ldap.fh-giessen.de auf 127.0.0.1 gemappt.

LDAP

Der LDAP der VM läuft mit SSL auf Port 636 und ohne SSL auf Port 389. Um den LDAP in der eStudy Konfiguration zu aktivieren haben wir im Home-Verzeichnis des estudydev Benutzers den Ordner LDAP-Selenese drei Selenium-Tests mit selbsterklärenden Namen abgelegt. Alle drei Tests beinhalten ein Root Login/Logout. Nach dem BootStrap aus dem Trunk ist der LDAP in der lokalen Installation deaktiviert. Diese Tests wurden bewusst nicht in den eStudy-Trunk eingefügt, da ohne die unten beschriebene Änderung auf Rechner innerhalb des FH Netzes der LDAP der FH benutzt wird.

Der LDAP ist bereits mit Testusern bestückt, die erforderlichen LDIF (LDAP Data Interchange Format) Dateien sowie ein Skript um diese in den LDAP einzutragen finden sich im Ordner LDAP-LDIF auf dem Desktop des Benutzers estudydev.

Dieser Dienst ist deaktiviert. Lässt sich aber bequem über die Web-Gui starten.

oder

sudo /etc/init.d/slapd start

Apache HTTP Server & SSL

Der Webserver verwaltet zwei lokal laufende vhosts die über Port 80 und 10001 zu erreichen sind. Auf dem HTTP Standardport 80 ist eine Bookmarks Seite mit Links zu den lokalen Installationen von Web-Applikationen wie phpmyadmin oder der lokalen eStudy Installation zu finden. Desweiteren sind dort weitere Informationen zur VM wie die Liste der restlichen Passwörter für z.B. mysql , die Liste der Änderungen an der Standardinstallation des Xubuntu und etwas Dokumentation wie selfhtml als offline Version zu finden.

eStudy & SSL

Nach einem Bootstrap ist die Nutzung von SSL deaktiviert. Wer keine manuelle Installation machen möchte sollte einen Selenese Test erstellen oder muss die confic.inc.php bearbeiten. Eine einfachere Lösung haben wir nicht gefunden, eventuell ist die (nachträgliche) SSL Konfiguration einen Feature-Request wert.


Info.png

Ein SSL Login mit einem vhost der nicht auf Port 80 liegt ist erst ab Trunk Version 1033 ohne Probleme möglich

MySql Datenbank

Der Lokale MySql-Server lauscht lokal auf dem Standard Port 3306. Er verwaltet bereits eine Datenbank für eStudy mit dem namen eStudyESS. Es existiert ein Benutzer für diese Datenbank mit dem treffenden Namen estudy, den eStudy per default benutzt um mit dem Server zu kommunizieren.

Memcached

Der Performance optimierende Caching Server memcached lauscht lokal auf dem Port 11211. Der Dienst ist deaktiviert. Er lässt sich ebenfalls über die Web-Gui starten.

oder

sudo /etc/init.d/memcached start

Firefox

Die normalerweise in X/K/Ubuntu 8.x enthaltene Version 3 von Firefox hat noch Probleme mit Selenium RC, der Buildprozess benutzt daher Firefox2. Seit Version 2 der VM ist dies nicht mehr nötig. Der estudydev Benutzer nutzt Firefox3. Als Firefox Startseite dient unsere Bookmarks Seite. Ausserdem sind die Passwörter der Benutzer aus den Selenese Test bereits in Firefox gespeichert so daß man bei manuellen Tests per Doppelklick in das Login Feld der lokalen eStudy Installation einen Benutzer auswählen kann um sich mit einem weiterem klick anzumelden. Die folgenden Plugins wurden installiert:

  • Web Developer
  • Selenium IDE
  • Noscript
Info.png

Skripte von localhost sind bereits erlaubt und sollten das auch bleiben.

  • Adblock Plus
  • FoxyProxy
  • Firebug
  • YSlow

Die FoxyProxy Erweiterung hat den Vorteil das Proxys dynamisch über reguläre Ausdrücke nach Black- und Whitelist verfahren zugewiesen werden. Kurz - je nach dem welche URL aufgerufen wird kann ein Proxy benutzt werden oder eben auch nicht. In der VM ist FoxyProxy so eingerichtet daß nur Zugriffe auf die lokale eStudy Installation an Paros gerichtet werden, dazu muss FoxyProxy lediglich aktiviert werden.

Die Proxy Einstellungen können in Firefox unter Tools -> FoxyProxy mit "Verwende Proxies entsprechend ihrer konfigurierten Muster.." aktiviert bzw. mit "Deaktiviere FoxyProxy vollständig" deaktiviert werden.

1-Menu.png

ToDo: Bootstrap-Anleitung für FF-3.0 mit selenium-server

Exim4

Exim4 ist ein MTA (Mail Transfer Agent) und in der VM ab Version 1.3 so eingerichtet, daß alle Mails der Testbenutzer lokal angenommen werden und an das lokale Mailkonto des Benutzers "estudydev" gesendet werden. Dort können sie mit jedem (uns bekannten) Mailclient abgerufen werden, vorkonfiguriert haben wir Mozilla-Thunderbird.

Falls weitere Mailadressen angenommen werden müssen geht man wie folgt vor:


Tux.png
dpkg-reconfigure exim4-config 

Die meisten Einstellungen können so bleiben, im Zweifelsfall sind diese gut beschrieben. Ergänzt werden muss die Liste der aktzeptierten Domainnamen. Hier müssen alle Domainnamen der Mailadressen die angenommen werden sollen aufgelistet werden. Bsp: bill.gates@microsoft.com eingetragen wird nur microsoft.com. Damit nimmt Exim alle Mails mit @microsoft.com an. Um diese an unseren fleissigen estudydev weiterzuleiten muss noch ein Eintrag in /etc/alias erfolgen:


Tux.png
echo "bill.gates: estudydev" >> /etc/aliases 

Exim mit estudy-dev 2.0

Die Mails an Selenese Testbenutzer sowie ALLE in der estudy Datenbank vorhandenen Nutzer werden an estudydev weitergeleitet. Ausserdem existiert ein Testuser Siggi Signatur mit dessen Account estudydev verschlüsselte und signierte E-Mails lokal austauschen kann.

Firewall

Die Xubuntu Installation in der VM beinhaltet keine aktivierte Firewall! Wenn die Netzwerkkarte der VM mittels NAT konfiguriert ist die VM geschützt und die Dienste sind nicht erreichbar. Bei allen anderen Konfigurationen wird die Einrichtung einer Firewall empfohlen, wir verweisen hier auf zahlreiche Howtos zu iptables sowie dem Ubuntu spezifischem iptables Frontend ufw.


Tux.png
Nach "sudo ufw enable" nimmt die VM nur noch Antwort-Pakete und keine anfragenden Pakete von aussen an 

Allgemeine Tipps zum Arbeiten mit VirtualBox

Info.png

Ab Version 2.1 heisst das zentrale Verwaltungstool von VirtualBox VBoxManage

Aktualisierung des Gastsystems

Gegen ein Update oder eine Erweiterung des Xubuntu Gastsystems spricht soweit nichts. Die einzige Besonderheit ist die Gasterweiterung, ein Kernelmodul von Virtualbox. Dies ist nicht im Kernel enthalten, muss aber für die entsprechende Kernelversion compiliert werden. Nach einem Kernel update muss die Gasterweiterung also an den Kernel angepasst werden. Für K/X/Ubuntu sind diese zwar als Paket verfügbar, allerdings verzögert sich das notwendige Update der Gasterweiterung nach einem Kernel update und ausserdem leider mit einer Verzögerung von einigen Tagen. Nach einem Kernel update müssen diese neuinstalliert werden, da sonst die Funktion der VM leicht eingeschränkt ist:

  • Performance Verluste, besonders bei der Maussteuerung und Grafikausgabe
  • Keine Shared Folder

Eine Neuinstallation erfolgt mit Hilfe eines Skripts und ist recht einfach. Im Menu des Fensters mit der laufenden VM ist unter Geräte ein Menüpunkt Gasterweiterungen installieren... . Die Erweiterungen werden von einem CD-Image installiert das einfach in der VM gemountet (eingehangen) wird. Dieses ist knapp 6MB groß und wird nach Nachfrage automatisch heruntergeladen und im Hostsystem unter ~/:VirtualBox/VBoxGuestAdditions_1.5.x.iso abgelegt.

Das kleine CD-Image kann mit einem doppelklick automatisch gemountet werden. Danach öffnet man ein Terminal und kann mit

 sudo /media/cdrom0/VBoxLinuxAdditions.run 

die Erweiterungen installieren. Den Neustart des virtuellen Systems kann man sich durch das manuelle Laden der zwei Module sparen:

 sudo modprobe -a vboxadd vboxvfs

Auflösung anpassen

Im Menü:

Applications -> Einstellungen -> Alle Einstellungen... -> Anzeige

Wem die möglichen Auflösungen nicht genügen muss selbst Hand anlegen.

Die Einstellungen des X-Servers können mit

sudo nano  /etc/X11/xorg.conf

bearbeitet werden. Die möglichen Auflösungen werden in der Section "Screen" unter Modes eingetragen. Beim Start wird automatisch der erste Eintrag benutzt. Nach dem Speichern muss der X-Server neu gestartet werden, wer keine Lust auf einen Reboot der VM hat kann mit

sudo /etc/init.d/gdm restart

nur den X-Server neustarten. ACHTUNG! Bei Neustart der GUI werden alle aus der GUI "normal" gestarteten Programme ohne Rückfrage terminiert. Windowsfreunde sollten einfach mal in den Shortcuts ein Stück weiter unten schauen...

Shared Folder

Um einen Ordner für eine VM freizugeben müssen die Gasterweiterungen installiert sein. Im Fenstermenu der Virtuellen Maschine unter Geräte -> Gemeinsame Ordner... können Ordner des Hostsystems freigegeben werden. Dazu fügt man einen neuen Ordner hinzu und gibt diesem einen (frei wählbaren) Namem wie share. Im Gastsystem kann dieser dann wie z.B. in der eStudy VM mit

 mount -t vboxsf -o uid=1000 share /home/estudydev/SharedFolder

Schreibrechten für den Benutzer estudydev gemountet werden. Dabei ist zu beachten das der angegeben Zielordner bereits existiert.

Shortcuts

Bindung von Maus und Tastatur von der VM lösen:

  • HOST-Taste (Default: rechte STRG Taste)

Vollbild umschalten:

  • HOST+f

Auflösung des Gasts anpassen (Windows)

  • HOST+g

Falls das nicht funktioniert, hilft die Unix Methode wie oben beschrieben.

Hardware Virtualisierung

Moderne Prozessoren und Chipsätze, wie z.B. die meisten AMD Sockel AM2(+) Systeme oder alle Core2Duo Systeme bieten Hardwareunterstützungen zur Virtualisierung (HVM). Dadurch ist es möglich eine logische Schicht zw. VM und Hardware einzusparen, was sich sehr positiv auf die Performance des Gastsystems auswirkt. Wenn unter Linux

 egrep '^flags.*(vmx|svm)' /proc/cpuinfo

eine Ausgabe erzeugt ist der Rechner HVM fähig. Mit VirtualBox kann man diese dann einfach aktivieren:

Im Menü von VirtualBox auf Datei -> Globale Einstellungen.... Es öffnet sich ein Dialogfenster. Im Seitenmenü auf Allgemein und unter Erweitert den Haken für Aktiviert VT-x/AMD-V setzen.

VM HWvirt.png

Image Datei verkleinern

Während der Arbeit in der VM "wächst" das Image an (bis zu 8Gb max). Leider schrumpft es nicht automatisch sobald wieder Speicherplatz freigegeben wird. Manuell ist das jedoch in wenigen Schritten möglich. Dazu haben wir zerofree in der VM installiert, hier die Beschreibung aus der ManPage:

zerofree  finds  the  unallocated, non-zeroed blocks in an ext2 or ext3
filesystem (e.g. /dev/hda1) and fills them with zeroes. This is  useful
if  the  device  on  which this file-system resides is a disk image. In
this case, depending on the type of disk image, a secondary utility may
be  able  to  reduce the size of the disk image after zerofree has been
run.

der Aufruf von

sudo init 1

startet ein Recovery Menu, der Menupunkt root wechselt in den Single Runlevel und öffnet eine Shell. Dadurch wird sichergestellt das keine unnötigen Zugriffe auf das Dateisystem von irgendwelchen laufenden Prozessen oder anderen Benutzern gemacht werden. Die grafische Oberfläche wird dadurch ebenfalls beendet. Nun kann das Dateisystem bearbeitet werden:

mount -o remount,ro -t ext3 /dev/sda1 /
zerofree -v /dev/sda1

zerofree gibt den Fortschritt in Prozent aus. Sobald zerofree durchgelaufen ist, muss die VM heruntergefahren werden:

shutdown -h now

Zum eigentlichen verkleinern des VM Images liefert VirtualBox vditool mit. Ob und wie das mit Windows als Hostsystem funktioniert wurde bisher nicht von uns getestet, darf hier aber gern ergänzt werden ;-) In einem Linux Hostsystem kann nun mit

Virtualbox < 2.1
 vditool SHRINK eStudy-dev.vdi
Virtualbox >= 2.1
 VBoxManage modifyhd <full-path>/eStudy-dev.vdi compact
Info.png

Ein Bug in Version 2.1.4 sorgt dafür, dass man das Image über diesen Befehl nicht verkleinern kann. Siehe http://www.virtualbox.org/ticket/2833

Workaround: Image Klonen und das daraus resultierende Image verwenden.


das Image auf den tatsächlich belegten Speicherplatz verkleinert werden.


Alternative

Ab Version 1.1 wurde das Recovery Menu um einen zusätzlichen Menüpunkt zerofree erweitert.

Recovery-menu.png

Durch Auswahl des Menüpunktes werden die oben beschriebenen Schritte, zum vorbereiten des Image, automatisiert ausgeführt.

Zerofree.png

Lediglich das Schrumpfen des Images muss noch auf dem Host-System durchgeführt werden.

Image Klonen

Jedes Image erhält eine UID. Dadurch ist es nicht möglich das selbe Image in unterschiedlichen Virtuellen Maschinen zu benutzen. Versucht man es, erhält man eine Fehlermeldung wie diese:

... 
A hard disk with UUID {59109a6f-b93a-45ea-89a0-b0f87c72e607} or with the same properties 
('/home/frank/daten/studium/seminar/virtualestudy/estudy-dev.1.1.vdi') is already registered.

Fehlercode: 0x80070057
Komponente: VirtualBox

VirtualBox bietet aber auch hierfür eine Lösung an. Mit Hilfe von vboxmanage lässt sich ein Klon, mit eigener UID, des Images erzeugen.

Version < 2.1
vboxmanage clonevdi         <uuid>|<filename> <outputfile>
Version >= 2.1
VBoxManage clonehd <full-path>/eStudy-dev.vdi <full-path>/eStudy-dev.clone.vdi

Schnellinstallation: eStudy-Entwicklung unter Ubuntu 11.10

Wir empfehlen eine Installation von Ubuntu 11.10 in VirtualBox. Im Folgenden nehmen wir an, dass die genannte Ubuntu-Version mit den Standard-Einstellungen installiert wurde.

Grundinstallation

  1. System aktualisieren. In der Konsole: sudo apt-get update und sudo apt-get upgrade eingeben und nach Abschluss des gesamten Vorgangs die Maschine neustarten.
    • Pro-Tipp: Anschließend die VirtualBox Gasterweiterungen installieren und nochmals neustarten.
  2. Git installieren: sudo apt-get install git.
  3. SSH-Key generieren: ssh-keygen -t rsa -C "Ubuntu eStudy Dev". Bei allen Fragen die Standardwerte verwenden. Dann cat ~/.ssh/id_rsa.pub ausführen und die Ausgabe in die Zwischenablage kopieren (dazu muss die Ausgabe kopiert werden und per Rechtslick im Kontextmenü "Kopieren" ausgewählt werden; STRG+C funktioniert nicht).
  4. In der virtuellen Maschine die Webseite https://scm.thm.de/ öffnen, einloggen und anschließend auf "Manage SSH Keys" klicken. Auf der Folgeseite "Add SSH Key" wählen. In dem Textfeld nun den kopierten SSH-Key einfügen und auf "Save" klicken. Der Key mit der Bezeichnung "Ubuntu eStudy Dev" sollte nun in der Liste erscheinen. Steht dahinter ein rotes X, muss nach einer kurzen Wartezeit die Seite nochmals erneut geladen werden, bis aus dem roten X ein grünes Häkchen wird.
  5. Die Funktionsfähigkeit von SSH sicherstellen: In der Konsole ssh -T gitorious@scm.thm.de eingeben und evtl. den "RSA key fingerprint" bestätigen (er muss 1f:a9:41:b0:8a:fc:8e:07:38:bd:c9:3a:3f:cf:95:6a lauten). Als letzte Nachricht sollte erscheinen: Welcome, [FH-Kürzel]. Use git to push/pull your repositories.
  6. Git einrichten: git config --global user.name "Mein Name" und git config --global user.email "meine.th.mail@mni.thm.de" in der Konsole eingeben.
  7. eStudy klonen: git clone [repository-url] eStudy_git.
  8. Werkzeuge installieren: sudo apt-get install apache2 php5 php5-pspell php5-gd php5-mysql php5-xmlrpc php5-ldap php5-curl php5-mcrypt php-pear mysql-server. Im Folgenden öffnet sich (evtl. mehrmals) ein Dialog mit der Frage nach dem root-Passwort für den MySQL-Server. Hier bitte kein Passwort eingeben.
  9. eStudy vorbereiten: cd /var/www. Wir verlinken nun die geklonte eStudy-Version in das Web-Wurzelverzeichnis: sudo ln -s ~/eStudy_git eStudy_git.
  10. Im Webbrowser der virtuellen Maschine ist eStudy nun unter der URL http://localhost/eStudy_git/web erreichbar. Allerdings erscheint lediglich eine schlichte Fehlermeldung: "you need to enable the mod_rewrite Apache module". Um diesen Fehler zu beheben in der Konsole folgendes eingeben: sudo a2enmod rewrite und danach sudo service apache2 restart.
  11. eStudy meldet nach dem erneuten Laden der Seite nun folgende Fehlermeldung: "In Ihrer Konfiguration ist die Dirketive AllowOverride All nicht gesetzt. Bitte überprüfen Sie Ihre Einstellungen." Also wieder zurück in die Konsole, diesmal muss die Apache-Konfiguration angepasst werden: sudo nano /etc/apache2/sites-available/default. Im Editor nun folgendes unter dem zweiten <Directory [..]>[...]</Directory> Eintrag ergänzen: <Directory /var/www/eStudy_git/>AllowOverride All</Directory>
  12. Nachdem der Apache neugestartet wurde (mittels sudo service apache2 restart) startet nun das eStudy-Setup. Bevor wir damit aber fortfahren, müssen wir noch einen Datenbankbenutzer erstellen, den eStudy später verwenden wird.
  13. Dazu wieder zur Konsole wechseln: mysql -u root -p eingeben und die Passwortabfrage ohne Eingabe bestätigen (da wir kein Passwort gesetzt haben). Nun befinden wir uns in der MySQL-Konsole. Dort folgende Befehle eingeben:
    1. create user 'estudy'@'localhost' identified by 'MeinPasswort';
    2. create database estudy;
    3. grant all on estudy.* to 'estudy'@'localhost'; Nun die MySQL-Konsole mit exit verlassen.
  14. Jetzt beginnen wir mit der eStudy-Installation. Im Browser akzeptieren wir die GPL-Lizenz und es wird eine Umgebungsüberprüfung durchgeführt. Es werden allerlei Fehler angemerkt, wichtig sind hier allerdings nur die Dateiberechtigungen, die wir nun in der Konsole richtig setzen:
    1. chmod -R a+w ~/eStudy_git/config
    2. chmod -R a+w ~/eStudy_git/upload
    3. chmod -R a+w ~/eStudy_git/web/common/classes/DataObjects
    4. chmod -R a+w ~/eStudy_git/web/phpids/classes/phpids_lib/IDS/tmp
    5. chmod a+w ~/eStudy_git/web/phpids/classes/phpids_lib/IDS/Converter.php
    6. chmod a+w ~/eStudy_git/web/phpids/classes/phpids_lib/IDS/default_filter.xml Abschließend im Browser nach unten scrollen und den Knopf "Überprüfe erneut" wählen.
  15. Puh! Die meisten Fehler sind nun verschwunden. Jetzt auf "Mit Schritt 3 fortfahren" klicken. Als nächstes wird die Datenbank eingerichtet. Dazu muss lediglich das Passwort für den eStudy-Datenbank-Benutzer eingegeben werden, was in den Schritten zuvor in der MySQL-Konsole auf den Wert "MeinPasswort" gesetzt wurde. Die übrigen Werte bleiben unverändert. Dann auf "Datenbank überprüfen" klicken.
  16. Es sollten zwei grüne Häkchen erscheinen und wir können mit "Schritt 4 fortfahren". Hier wird der Administrator von eStudy eingerichtet. Im Dialog das Passwort nach belieben setzen, z.B. auf "EstuDy_2007". Dann mit "Schritt 5 fortfahren". Hier kann der Dialog ohne Veränderung übernommen werden. Gleiches gilt für "Schritt 6". Jetzt kann das Setup abgeschlossen werden, eStudy wird installiert und abschließend kann der Login als Administrator durchgeführt werden.

Installation der Entwicklertools

Wir starten mit einer offenen Konsole im eigenen Home-Verzeichnis.

  1. Zunächst richten wir PEAR ein, indem wir sudo pear update-channels und sudo pear upgrade eingeben.
  2. Jetzt installieren wir PHPUnit:
    1. sudo pear config-set auto_discover 1
    2. sudo pear install pear.phpunit.de/PHPUnit
    3. sudo pear install phpunit/DbUnit
    4. sudo pear install phpunit/PHPUnit_Selenium
    5. Die erfolgreiche Installation mittels der Ausführung von phpunit verifizieren.
  3. Als nächstes richten wir das Build-Werkzeug Ant ein: sudo apt-get install ant. Es wird die benötigte Java-Laufzeitumgebung gleich mitinstalliert.
  4. Dann wechseln wir in das Verzeichnis von eStudy, also: cd eStudy_git. Dort rufen wir Ant auf um die Unit- und die Datenbanktests auszuführen: ant. Es erscheinen diverse Nachrichten auf dem Bildschirm und am Ende sollte schließlich stehen: BUILD SUCCESSFUL. Damit sind die wichtigsten Entwicklertools installiert.

Links