# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # LibreSource Installation notes # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Copyright (C) 2004-2007 Artenum SARL / INRIA # http://www.libresource.org - contact@libresource.org # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Thank you for using LibreSource # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Sommaire # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Introduction - Download - Configuration - Compilation / Deployement - Advanced configuration # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Introduction # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This file explain how to configure and compile the Libresource application from the source code for Jonas or JBoss Application Server. To perform this task you will need : - Ant 1.6.x or above (http://ant.apache.org/) - a JDK 1.5.x or 1.6.x versions (http://java.sun.com/j2se/) - an Application server (ONLY ONE is needed) - Jonas 4.7.6 (http://jonas.objectweb.org/) - JBoss 4.2.1 (http://www.jboss.org/downloads/index) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Download # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Download the source package with the ThirdPart and unzip it on your local filesystem. This package can be downloaded from the web site http://dev.libresource.org on the download section. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Configuration # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Edit the file LIBRESOURCE_DIR/Distribution/ls-config.properties and follow the help below to change the setting. selected.application.server : Name of the application server used to run the libresource. [jonas] or [jboss] jonas.root : Path of the home directory of Jonas. jboss.home : Path of the home directory of JBoss. jboss.version : Version of the descriptor for Xdoclet. [3.2] jboss.deploy.name : Name of the jboss configuration used to deploy Libresource. It's a name of a directory of the directory JBOSS_HOME/server/ [default] kernel.authUrl : Used in case of Single Sign On mode. Not used by default. [https://localhost:9043/cas] libresource.working.node : Name of the node that is linked to the first tab. [projects] libresource.web.conf : Path of the file libresource-web.xml which configure the web application. (By default keep it empty) database.username : Name of the database user that will be used to access the postgres database. database.password : Passord of the database user database.url : JDBC url of the database that will be used for the Libresource. [jdbc:postgresql://localhost:5432/libresource] database.mapping : Name of the mapping used by JBoss [PostgreSQL 8.0] mail.from : Specify the mail adresse used by the server to notify the users of collaboration. [libresource@xxxx] mail.server : Specify the host name or the IP adress of your SMTP server. [smtp.xxxx] mail.port : Specify the port of your SMTP server. [25] libresource.log.dir : specify where libresource will write its log files. This directory must exist and the user who is running jboss must have the right to write into it. notification.default.type : specify which protocol of notification will be checked by default on the web when a user click on the Watch Event of a resource. (The clue or by the menu) [mail or jabber] jabber.server : Specify the libresource jabber user host that will notify the libresource users of an event. [http://localhost:9000] jabber.username : Name of the jabber user that will be used for the Jabber notification. This Jabber user must already exist on the specified jabber server. jabber.password : Password of the libresource jabber user. kernel.serverUrl : Url given as base path for the web part. The protocol should be provided too as the port if you are not using the default port (80). kernel.indexationDataDir : Directory used by the indexation engine to read and write its index for quick search. This directory should exist. libresource.distributedFilesystem : Directory used to write temporary files between the application server and the database. Both libresource and postgres user should have access in read write. The point (c) explain how to do it. subversion.authz.file.path : File path to the file used in subversion to define the security rights between repositories and users. [PATH/authz.txt] subversion.repository.base.path : Directory that contains all the subversion repository. subversion.create.repository.cmd : Command line that will be executed by the application server (The user that is running the application server) to create a new repository. At the end of that line will be added the name of this repository. subversion.rename.repository.cmd : Command line that will be executed by the application server (The user that is running the application server) to rename an existing repository. At the end of that line will be added the name of the old repository and the new name. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Compilation / Deployement # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To compile libresource type : > ant To compile and deploy to the selected application server. This will automatically copy the EAR, the Datasource, the Mail configuration. (+ JMS configuration for JBoss) > ant deploy To remove all the generated file in order to process the latest configuration change > ant clean-all # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Advanced configuration # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1) Change the synchronizer signature cryptographic key generation for the Java Web Start applications keytool -genkey -alias ls-so6 -dname "CN=LibreSource , OU=Groupware, O=Artenum, L=Paris, S=France, C=FR" -keyalg DSA -keysize 1024 -validity 1000 -keystore keystore -keypass tagada -storepass tagada 2) Configure CAS server (This is not needed by default) - If you want to start the Authentication server, you have to configure an https connector in tomcat + Create an ssl certificat (you can use openssl or the keytool available in java) cd $JONAS_ROOT keytool -genkey -alias tomcat -keyalg RSA -keystore truststore-tomcat ++ NOTE : the name (CN) MUST BE the name of your LibreSource server ++ NOTE : for this example the password is "secret" ++ NOTE : complete generation : keytool -genkey -alias tomcat -dname "CN=localhost, OU=Groupware, O=Artenum, L=Paris, S=France, C=FR" -keyalg DSA -keysize 1024 -validity 1000 -keystore truststore-tomcat -keypass secret -storepass secret keytool -export -alias tomcat -rfc -file tomcat.cer -keystore truststore-tomcat - You have to trust the CAS server certificat : + Import certificat keytool -import -alias tomcat -file tomcat.cer -keystore truststore-jvm + Trust it in java [if you are root] sudo cp truststore-jvm $JAVA_HOME/jre/lib/security/cacerts [otherwise] export JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=$JONAS_ROOT/truststore-jvm" + Edit $JONAS_ROOT/conf/server.xml and uncomment this block and configure it to use the certificat you have created More doc about SSL here : > http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html