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 .