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.
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.
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
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.
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.
Die Datenbank wird beim ersten Start des Erfassungsprogramms automatisch initialisiert. Dies ist erforderlich, bevor die Webschnittstelle verwendet werden kann.
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.
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.
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
Bei Problem können die folgenden Protokolldateien nützlich sein:
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