Kitten

Installation Apache + Kitten + Scala

Voraussetzungen

Eine installierte JRE wird vorausgesetzt. Ein installierter Apache 2 wirdvorausgesetzt. (Download: http://httpd.apache.org)

Desweiteren werden Scala, Log4J und mod_scgi benötigt.

Platzbedarf

Scala 1126 KB
Log4J 350 KB
Kitten 201 KB
Summe 1677 KB

Apache2 ca. 26 MB (je nach installierter Dokumentation, Modulen, etc.) JRE ca. 70 MB (JRE 1.5.0_05)

Scala + Log4J

Download:

Am einfachsten können die Dateien scala.jar und log4j*.jar im Verzeichnis lib/ext der JRE abgelegt werden oder beim Start von Kitten als Classpath angegeben werden.

SCGI-Modul für Apache

Download:

Datei mod_scgi.so ablegen in <Apache-Installation>/modules

In der Konfiguration des (virtuellen) Servers Kitten einbinden in <Apache-Installation>/conf/httpd.conf:

  <IfModule !mod_scgi.c>
      LoadModule mod_scgi modules/mod_scgi.so
  </IfModule>
  <IfModule mod_scgi.c>
      <Location "/">
          SCGIServer localhost:4000
          SCGIHandler On
          SetHandler scgi-handler
          SCGIServerTimeout 10
          Options -Multiviews
      </Location>
      <Location "/static">
          SCGIHandler Off
          SetHandler None
          Order allow,deny
          Allow from all
      </Location>
      AliasMatch ^/static/(........)/(.*) /var/webapps/<instanz-name>-$1/static/$2
   </IfModule>	

Als <instanz-name> muss der Name angegeben werden, der auch Kitten beimstart übergeben wird.

Nun kann der Apache-Webserver gestartet werden.

Kitten starten

Download:

Kitten besteht aus einer einzigen JAR-Datei, die lediglich mit vier Parametern gestartet werden muss:

java -jar com.sygneca.kitten1.0a1.jar 4000 <instanz-name> c:\Programme\Java\Kitten\bundles c:\Programme\Java\Kitten\webapps

  1. Die Nummer des Port, auf dem Kitten für SCGI-Anfrage lauschen soll. (Standard: 4000)
  2. Ein String der die Kitten-Instanz identifiert. „This is used in the directory names for extracted application bundles, and may be used by applications in order to implement context-sensitive configuration. Consequently the string should probably include your server's hostname.“
  3. Verzeichnis in dem Webanwendungen abgelegt werden. Dieses Verzeichnis wird von Kitten auf Änderungen überwacht.
  4. Verzeichnis in das Kitten geladene Webanwendungen entpackt. Diese werden beim beenden von Kitten wieder gelöscht!!

Web-Anwendungen

Kitten-Webanwendungen müssen ein Klasse App.Main enthalten, die von com.sygneca.kitten1.WebApp erbt. Diese muss eine Methode init definieren, die einen Parameter vom Typ ContainerConfig akzeptiert und ein Objekt vom Typ WebAppConfig zurück gibt.

Muss es eine Vererbung von WebApp oder reicht auch ein Mixin?

Aufbau

Webanwendungen werden als ZIP-Archiv <webapp-name>.zip an Kitten übergeben. Das Archiv sollte folgenden Verzeichnisse enthalten:

  • classes
  • lib
  • static

Nachdem die Webanwendung im entsprechenden Verzeichnis von Kitten abgelegt wurde, wird diese von Kitten entpackt und gestartet und ist dann erreichbar unter der Adresse

http://localhost/<webapp-name>

kitten.txt · Zuletzt geändert: 2008-07-30 23:22 (Externe Bearbeitung)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki