Installation Guide Yves Fischer 24.02.2011
mvn jetty:run

Standardmäßig lauscht jetty nun auf Port 8080

Ein Web-Archive (.war) kann mit dem Maven Kommando mvn package erzeugt werden.

Es muss ein halbwegs aktuelles Java-JDK installiert sein, dieses kann von java.sun.com für Linux/i386 heruntergeladen werden.

Für die Ausführung von dhbwcalender wird ein neuer Benutzer mit Namen dhbwcalendar angelegt.

maven2 wird von maven.apache.org installiert in /home/dhbwcalendar/share/apache-maven-2.2.1/

Für den Benutzer dhbwcalendar wird in seiner .profile Datei die Umgebungsvariablen JAVA_HOME , M2_HOME (maven) entsprechend gesetzt

git wird mit zypper installiert: # zypper ar \ "http://download.opensuse.org/repositories/devel:/tools:/scm/SLE_11/devel:tools:scm.repo" # zypper install git # su -l dhbwcalendar $ git clone ....

Da im produktiven Setup jetty nicht von "aussen" erreichbar sein soll wird jetty konfiguriert nur auf localhost zu horchen. <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> <host>127.0.0.1</host> </connector> </connectors>

Bei vaadin wird der productionMode aktiviert src/main/webapp/WEB-INF/web.xml: <context-param> <param-name>productionMode</param-name> <param-value>true</param-value> <description>Vaadin production mode</description> </context-param>

mvn jetty:run startet Jetty über Maven als embedded Servlet Container.

Zertifikat erstellen:

% keytool -keystore keystore -alias jetty -genkey -keyalg RSA Geben Sie das Keystore-Passwort ein: Geben Sie das Passwort erneut ein: Wie lautet Ihr Vor- und Nachname? [Unknown]: dualical.ba-horb.de (ACHTUNG Common-Name = Hostname!) Wie lautet der Name Ihrer organisatorischen Einheit? [Unknown]: DHBW Stuttgart Campus Horb Wie lautet der Name Ihrer Organisation? [Unknown]: Duale Hochschule Baden-Württemberg Wie lautet der Name Ihrer Stadt oder Gemeinde? [Unknown]: Horb Wie lautet der Name Ihres Bundeslandes oder Ihrer Provinz? [Unknown]: Baden-Württemberg Wie lautet der Landescode (zwei Buchstaben) für diese Einheit? [Unknown]: DE Ist CN=DHBW Calendar, OU=DHBW Stuttgart Campus Horb, O=Duale Hochschule Baden-Württemberg, L=Horb, ST=Baden-Württemberg, C=DE richtig? [Nein]: Ja Geben Sie das Passwort für <jetty> ein. (EINGABETASTE, wenn Passwort dasselbe wie für Keystore):

SSL für Jetty konfigurieren:

<configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> </connector> <connector implementation="org.mortbay.jetty.ssl.SslSelectChannelConnector"> <port>8443</port> <keystore>${basedir}/server.keystore</keystore> <keyPassword>bla</keyPassword> <password>bla</password> </connector> </connectors> </configuration> <dependencies> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-ssl</artifactId> <version>7.0.0.pre5</version> </dependency> </dependencies>

Fingerprint von Zertifikat:

% keytool -list -keystore server.keystore -rfc Geben Sie das Keystore-Passwort ein: Keystore-Typ: JKS Keystore-Provider: SUN Ihr Keystore enthält 1 Eintrag/-äge. jetty, 29.03.2011, PrivateKeyEntry, Zertifikatsfingerabdruck (MD5): B6:CA:AF:1C:8C:B7:38:38:36:2A:30:3C:A5:C2:54:20 -----BEGIN CERTIFICATE----- .... -----END CERTIFICATE-----

Die Verbindung kann jetzt mit wget überprüft werden

wget --ca-certificate=certificate.pem https://dualical.ba-horb.de:8443/dhbwcalendar/

Weitere Informationen zum Zertifikat zeigt OpenSSL in Klartext an:

openssl x509 -noout -text -in certificate.pem

Mittels php und curl lässt sich eine reverse-Proxy nachahmen. Ein Beispiel findet sich unter: ics.php.txt .