Skip to content

Installation von eScience unter Windows

Oliver Skawronek edited this page Aug 25, 2015 · 3 revisions

Auf dieser Seite wird die Installation von eScience und dessen Abhängigkeiten beschrieben. Das verwendete System ist Windows 7 und Ruby 1.9.3, 32-Bit-Version.

Allgemeiner Hinweise

  • Bei der Installation sind stets Leerzeichen in den Pfaden zu vermeiden. Eine Installation nach C:\Program Files (x86)\Ruby oder C:\Program Files (x86)\ImageMagick ist daher unbedingt zu vermeiden. Es wird empfohlen Ruby in das Hauptverzeichnis, bspw. unter C:\Ruby, zu installieren.
  • Bei externen Abhängigkeiten, bspw. ImageMagick und iconv, ist auf die "Bittigkeit" zu achten. Hier wird die Installation eines 32-Bit Rubys beschrieben, entsprechend müssen die 32-Bit-Versionen der Abhängigkeiten heruntergeladen werden.
  • Christian Reichmann empfiehlt Ruby 2.1.1 zu installieren. Die hier verwendete Ruby-Version ist jedoch 1.9.3. Mit der version 1.9.3 lässt sich Problemlos das Gem ruby-debug-ide installieren, welches für u. a. für Apatana Studio benötigt wird, um Ruby-Code zu debuggen (Anweisungen durchsteppen, Variablen inspezieren, Ausdrücke im aktuellen Kontext auswerten lassen, etc.)
  • Unter Windows sind Änderungen von Umgebungsvariablen in der geöffneten Konsolen (und Programmen) nicht sichtbar. Nur Konsolen, die nach der Änderung gestartet werden, sehen die aktuellen Werte der Umgebungsvariablen.
  • Die Konsole sollte als Administrator ausgeführt werden (Ausführen -> cmd -> Rechtsklick -> Als Administrator ausführen), um Probleme mit Zugrifssberechtigung auf Ordner zu vermeiden.

To do

Docsplit wird benutzt, um aus Exel-Sheets Thumbnails (gepatchte Attachment#render_to_image Methode) zu generieren. Dazu ruft es intern GraphicsMagick von der Kommandozeile auf. GraphicsMagick versucht dabei das Execel-Sheet als PDF zu konvertieren, braucht hierzu aber die libpfx. Bislang ist es mir nicht gelungen, die libpfx unter Windows zu installieren.

Installation

  1. Ruby 1.9.3, 32-Bit installieren
  • Download.
  • Zielordner: C:\Ruby19. Sollte ein anderer Ordner verwendet werden, sind Leerzeichen im Pfad zu vermeiden.
  • Install Tcl/Tk support (ist vielleicht auch nicht nötig)
  • Add ruby executables to your PATH (um Ruby in der Konsole in jeden beliebigen Ordner zu starten)
  1. DevKit für 1.9.3 installieren
  • Download
  • Nach C:\Ruby19\DevKit entpacken
  • In der Konsole nach cd C:\Ruby19\DevKit wechseln
  • ruby dk.rb init ausführen (config.yml sollte richtig konfiguriert sein, wenn Ruby zu PATH hinzugefügt worden ist
  • ruby dk.rb install ausführen
  1. Bundler installieren (Bundler verwaltet die abhängigen Gems)
  • gem install bundler
  1. Rails installieren (Rails ist das verwendete Web-Framework)
  • gem install rails
  1. Rake installieren (Rake ist das verwendete Build-Werkzeug)
  • gem install rake
  1. iconv installieren (iconv konvertiert Zeichen zwischen verschiedenen Kodierungen, bspw. ASCII und UTF8)
  • inconv kann nicht direkt über gem install iconv installiert werden
  • Download 32-Bit
  • Archiv in C:\Ruby19\DevKit\mingw\mingw32 integrieren
  • gem install iconv
  1. MySQL installieren (MySQL wird in der Produktivumgebung als Datenbank eingesetzt)
  • mysql2 kann nicht direkt über gem install mysql2 installiert werden
  • Download-Seite mysql-connector-c-6.1.5-win32.zip herunterladen
  • Archiv nach C:\Ruby19\mysql entpacken
  • libmysql.dll nach C:\Ruby19\bin kopieren
  • gem install mysql2 -- --with-mysql-dir=C:\Ruby19\mysql
  1. RMagick installieren (Bibliothek zum Drehen, Zuschneiden, Spiegeln etc. von Bildern)
  • Es wird die ältere Version 6.7.7 von ImageMagick benötigt
  • Download
  • Installieren nach C:\Ruby19\ImageMagick. Es ist darauf zu achten, keine Leerzeichen im Pfad zu verwenden.
  • Add application direcotry to your system path
  • Install development headers and libraries for C and C++
  • Mit convert --version die Version testen. Sollte Invalid drive specification bzw. Ungültige Laufwerksangabe ausgegeben werden, dann wird das Windows-eigene convert genutzt. Lösung: In der Variablen Path den Ordner zu ImageMagick am Anfang setzen, so dass zuerst im ImageMagick-Ordner nach convert gesucht wird.
  • gem install rmagick --platform=ruby -- --with-opt-dir=C:\Ruby19\ImageMagick
  1. Xpdf installieren (enthält für das Gem Docsplit den Befehl pdfinfo)
  • Download
  • Archiv-Ordner bin32 entpacken nach C:\Ruby19\xpdf
  • C:\Ruby19\xpdf zur Path-Variablen hinzufügen
  • Testen mit pdfinfo -v
  1. GraphicsMagick installieren (enthält für das Gem Docsplit den Befehl gm)
  • Download
  • Installieren nach C:\Ruby19\GraphicsMagick
  • Update executable search path auswählen
  • Testen mit gm -version
  1. GhostScript installieren (wird von GraphicsMagick benötigt)
  • Download
  • Installieren nach C:\Ruby19\gs
  1. GnuWin file installieren (wird von Docsplit benötigt, um den MIME-Type einer Datei auszulesen)
  • Download
  • Archiv-Ordner bin und share/misc entpacken nach C:\Ruby19\file
  • Abhängigkeiten herunterladen und den Archivordner bin ebenfalls nach C:\Ruby19\file entpacken. Es befinden sich danach file.exe und alle DLLs im selben Ordner.
  • Umgebungsvariable MAGIC auf C:\Ruby19\file\magic setzen
  • Getestet werden kann file mit file --mime foo.pdf. Sollte application/pdf auslesen.
  1. Optional: ruby-debug-ide installieren
  • Wird u. a. für Apatana Studio und NetBeans zum Debugging von Ruby-Code benötigt
  • gem install ruby-debug-ide
  1. Im Gemfile eventmachine ändern
  • Die Verfügbare Version des Gems eventmachine lässt sich nicht mit gem install eventmachine installieren. Eine funktionsfähige Version kann jedoch vom Git-Repository bezogen werden.
  • In der eScience-Datei Gemfile, die sich im Projekt-Verzeichnis befindet, ist folgende Zeile zu ergänzen:
  • gem "eventmachine", :git => 'https://github.com/eventmachine/eventmachine.git'
  1. Bundler starten
  • In das eScience-Verzeichnis wechseln
  • bundle install
  • Die Abhängigen Gems können anschließend durch bundle update aktualisiert werden
  1. Secret Token generieren
  • In das eScience-Verzeichnis wechseln
  • bundle exec rake generate_secret_token
  1. Datenbank erstellen
  • Starten des MySQL-Servers
  • Anlegen der DB escience: mysql -u root -p -e "create database escience character set utf8"
  • Anlegen des Benutzers escience: mysql -u root -p -e "grant all privileges on escience.* to 'escience'@'localhost' identified by 'test'"
  • Danach sollte sich der Benutzer escience mit dem Passwort test auf der Datenbank escience verbinden können.
  1. Datenbank in eScience konfigurieren
  • Im Unterverzeichnis config befindet sich die Datei database.yml.example. Sie muss kopiert und angepasst werden: copy config\database.yml.example config\database.yml
  • Für die Production-Umgebung sollte die Konfiguration wie folgt angepasst werden:
development:
  adapter: mysql2
  database: escience
  host: localhost
  username: escience
  password: "test"
  encoding: utf8
  1. Tabellen anlegen und mit Werte befüllen
  • rake db:migrate RAILS_ENV="production" (Redmine-Tabellen anlegen)
  • rake db:migrate_plugins RAILS_ENV="production" (eScience-Tabellen und Spalten anlegen)
  • rake db:seed RAILS_ENV="production" (mit initialen Werten befüllen)
  1. Privates Projekt für den Admin anlegen
  • Das Anlegen erfolgt über die Konsole
$ rails console
> admin = User.first
> proj = Project.new(:name => "admin", :is_public => false, :is_private_project => true)
> proj.identifier = Project.next_identifier
> proj.save!
> admin.private_project = proj
> admin.save!
  • Eine Active-Record-Objekt, hier admin und proj, kann mit obj.valid? geprüft werden, ob es alle Constraints erfüllt. Falls false zurückgegeben wird, dann können mit obj.errors.messages die Fehlernachrichten abgefragt werden. Kommt bspw. => {:confirm=>["must be accepted"]}, dann kann entsprechend darauf reagiert werden, indem admin.confirm = true gesetzt wird.
  1. eScience starten
  • rails s -p 3000 -b 127.0.0.1 startet eScience auf dem Port 3000
  • Im Browser kann die Plattform unter http://127.0.0.1:3000 aufgerufen werden
  • Der Login für den Administrator ist admin@example.net (Login) und admin (Passwort)

Clone this wiki locally