Startkladde

Installation - Webschnittstelle (Linux)

Diese Anleitung beschreibt die Installation der Webschnittstelle von Startkladde (sk_web) unter Linux.

Es gibt verschiedene Arten, eine Rails-Anwendung wie sk_web zu betreiben. Diese Anleitung beschreibt die Verwendung des Apache-Servers mit FastCGI.

Installation

Benötigte Pakete

Zum Betrieb von sk_web werden die folgenden Softwarepakete benötigt:

Es wird mindestens Version 1.8.7 von Ruby benötigt. Der Betrieb mit Ruby ab Version 1.9 ist nicht erprobt. Daher sollte eine Version 1.8.x verwendet werden.

Für den Webserver werden die folgenden Pakete benötigt:

Die Pakete können über das Paketmanagementsystem der Distribution installiert werden. Bei Ubuntu kann dazu entweder der Paketmanager Synaptic oder die Kommandozeile verwendet werden:

sudo aptitude install ruby rubygems rake ruby-dev libopenssl-ruby libmysqlclient-dev apache2 libapache2-mod-fcgid ssl-cert libfcgi-dev

Bei anderen Distributionen weichen die Namen der Pakete gegebenenfalls ab.

Webanwendung

Die Webanwendung wird in das Datenverzeichnis des Webservers (typischerweise /var/www) kopiert. Der Name des Verzeichnisses ist der Pfad, unter dem die Webanwendung später erreichbar ist. In diesem Beispiel wird der Name startkladde verwendet. Die Anwendung wird also nach /var/www/startkladde entpackt.

Außerdem muss der Eigentümer der Datei auf www-data gesetzt werden:

sudo chown -R www-data:www-data /var/www/startkladde

Gems

Ruby verwendet eine eigene Paketverwaltung. Ruby-Pakete heißen „gems“. Für den Betrieb der Anwendung müssen noch einige gems installiert werden. Dafür wird die Eingabeaufforderung verwendet. Einige Gems werden explizit installiert:

sudo gem install --no-rdoc --no-ri "--version=~>2.3.8" rails
sudo gem install --no-rdoc --no-ri fcgi

Die übrigen gems werden automatisch installiert; im sk_web-Verzeichnis:

sudo rake gems:install

Die Gems werden über das Internet heruntergeladen und installiert. Dies kann einige Zeit in Anspruch nehmen. Während dem Herunterladen erfolgt keine Rückmeldung.

Konfiguration

Anwendung

Die Konfiguration der der Anwendung ist unter Konfiguration - Webschnittstelle beschrieben. Für den Betrieb müssen zumindest die Zugangsdaten für die Datenbank konfiguriert werden. Die sonstigen Einstellungen können vorerst auf den Voreinstellungen belassen werden.

Datenbank

Die Datenbank wird beim ersten Start des Erfassungsprogramms automatisch initialisiert. Dies ist erforderlich, bevor die Webschnittstelle verwendet werden kann.

Apache

Unter Linux ist die Konfiguration von Apache üblicherweise in verschiedene Dateien unter /etc/apache2/ aufgeteilt.

Es müssen einige Module und die SSL-Konfiguration aktiviert werden:

a2enmod rewrite proxy proxy_http proxy_balancer headers ssl
a2ensite default-ssl

Zur Konfiguration der Anwendung wird in /etc/apache2/conf.d/ eine Datei mit dem Namen sk_web und dem folgenden Inhalt angelegt:

<Directory "/var/www/startkladde/">
    AllowOverride All
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI
</Directory>

Damit die Änderungen wirksam werden, müssen die Einstellungen des Webservers neu geladen werden:

sudo /etc/init.d/apache2 reload

Für SSL-Verschlüsselung ist ein Zertifikat erforderlich. Bei der Installation des Pakets ssl-cert wurde bereits ein Zertifikat angelegt, das ohne weitere Konfiguration verwendet werden kann.

Zugriff

Sofern der Apache gestartet wurde, ist die Anwendung jetzt vom gleichen Rechner aus unter http://localhost/startkladde erreichbar. Zum Zugriff über das Netzwerk ist der Name localhost durch den Namen oder die Adresse des Servers zu ersetzen, zum Beispiel http://server/startkladde oder http://192.168.1.1/startkladde.

In der Fußzeile der Anwendung wird der Betriebsmodus angezeigt. Hier sollte unbedingt „production“ stehen, da der Entwicklungsmodus („development“) sehr langsam ist.

Updates

Um ein Update durchzuführen, kann das Update über die alte Installation entpackt werden, sofern nicht eigene Änderungen an der Anwendung vorgenommen wurden. Die Konfigurationsdateien werden dabei nicht überschrieben.

Danach muss der gegebenenfalls noch laufende FastCGI-Prozess beendet werden:

sudo killall sk_web.fcgi

Fehlerdiagnose

Protokoll

Bei Problem können die folgenden Protokolldateien nützlich sein:

Betrieb mit Mongrel

Die Anwendung lässt sich auch mit dem Ruby-Webserver Mongrel betreiben. Dazu wird dieser als Gem installiert:

gem install --no-rdoc --no-ri mongrel

Gestartet wird Mongrel aus dem Installationsverzeichnis der Anwendung:

./script/server

Die Anwendung ist dann unter http://localhost:3000 erreichbar. Fehlermeldungen des Servers werden direkt im Befehlsfenster angezeigt.

In diesem Fall der Zugriff über das Netzwerk nicht möglich (nur vom gleichen Rechner, auf dem der Server läuft, unter dem Namen localhost). Darüber hinaus sind keine gleichzeitige Zugriffe möglich. Während also ein länger dauernder Zugriff läuft (zum Beispiel Erzeugung einer PDF-Datei) werden keine weiteren Anfragen beantwortet. Daher ist diese Betriebsart für den regulären Einsatz nicht zu empfehlen