Es muss ein halbwegs aktuelles Java-JDK installiert sein, dieses kann z.B. von }Oracle für Linux/i386 bezogen werden.
Für die Ausführung von dhbw-calendar wird ein neuer Benutzer, z.B. mit namen dhbwcalendar angelegt.
Maven2 in $HOME/share/apache-maven-2.2.1 installiert.
Für den angelegten Benutzer wird in seiner $HOME/.profile-Datei die Umgebungsvariablen JAVA_HOME und M2_HOME auf die jeweiligen Installationspfade gesetzt.
Git kann mit dem SuSe-Tool zypper installiert werden:
# zypper ar \ "http://download.opensuse.org/repositories/devel:/tools:/scm/SLE_11/devel:tools:scm.repo" # zypper install git
Das Projektverzeichnis wird mit git geklont:
# su -l dhbwcalendar $ git clone ....dhbw-calendar URL...
Falls jetty verwendet wird und er im produktiven Setup nur auf dem Loopback Interface lauschen soll wird das in der pom.xml konfiguriert:
<connectors>
<connector
implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<host>127.0.0.1</host>
</connector>
</connectors>Bei vaadin wird der productionmode im Deskriptor der Web-Applikation aktiviert:
<context-param> <param-name>productionMode</param-name> <param-value>true</param-value> <description>Vaadin production mode</description> </context-param>
Achtung: Vor- Nachname ist der Common-Name = Hostname.
% 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 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):
<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>SSL-Fingerprint:
% 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----- .... /Zertifikat im PEM Format/ -----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
Mit php und curl lässt sich eine reverse-Proxy nachahmen. Ein Beispiel findet sich unter: ics.php.txt.