This guide is intended to help you quickly set up an ICE installation for evaluation, private use or server installation. Direct any questions to the ICE Google Groups page. The project page can be found on github.

Menu
ICE is a web application with the following requirements:

ICE is configured by default to use HSQLDB for data storage. In a production environment, it is highly recommended that a standalone database be used. Hibernate is used for Object/Relational mapping and therefore ICE can be configured and used with any of the Hibernate supported databases. PostgreSQL has been tested more extensively with ICE.
Step-by-Step installation guide using apache-tomcat and postgresql:

  • Install Apache Tomcat on your system's default location or one of choice. Henceforth referred to as $ICE-HOME
  • Download a pre-compiled war of ICE and deploy as the ROOT webapp in $ICE-HOME. See installing from a WAR details
  • Alternatively, you can compile
A pre-compiled WAR file is made available from our continuous build system. Click "Log in as guest" and then select "Artifacts" under the Master branch to download the latest production ready version. The Dev branch may contain newer features in a beta state.

  • Extract the contents of the WAR file using any unzip utility.
  • Change the hibernate database connections in $ICE_HOME/WEB-INF/classes/hibernate.cfg.xml (where $ICE_HOME is the directory where the WAR file was extracted). The following is an example configuration for a PostgreSQL database running on the local machine:

        <property name="hibernate.connection.url">jdbc:postgresql://localhost/regdb</property>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.username">userName</property>
        <roperty name="hibernate.connection.password">Pa55WorD</property>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL94Dialect</property>
    
    Also change the value of the property which indicates the location of the search index

    <property name="hibernate.search.default.indexBase">data/index</property>
  • ICE uses logback for logging. The default location of the log file is /tmp/ice.log. You can change this in $ICE_HOME/WEB-INF/classes/logback.xml by modifying the property

    <property name="LOG_PATH" value="/tmp"/>
Start up the application container and use your web browser to access ICE. There are some settings stored in the database that also need to be configured. The default administrator username and password is Administrator (for both). Be sure to change the password. The rest of the system settings are on the Admin section of the application. Please go through all the settings and make sure the values are correct. They can be changed at any time while the application is running.
ICE includes a jetty webserver, which can be used test out your compiled package without deploying it to tomcat. The jetty settings are defined in $ICE_HOME/jetty-debug.xml. You will need to generate a self-signed certificate as ICE uses HTTPS by default. To generate a self-signed certificate run:
keytool -genkey -alias tomcat -keyalg RSA -keystore ./.keystore
Follow the prompts and enter the requested information. When prompted for a password, you may use changeit. If you opt for a different password, make sure to enter that is jetty-debug.xml. Copy the generated .keystore file to $ICE_HOME and start jetty by running:
mvn jetty:run -Dmaven.test.skip=true
Point your browser to https://localhost:8443 to access the application.
To run a tomcat server, you may also use the generated keystore file. Update $TOMCAT_HOME/conf/server.xml to redirect port 8080 to port 8443 using the following Connector directive:
<Connector executor="tomcatThreadPool"
                            port="8080" protocol="HTTP/1.1"
                            connectionTimeout="20000"
                            redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true" keystoreFile="./.keystore"
           keystorePass="changeit" clientAuth="false" sslProtocol="TLS" />
In a production environment you will need to purchase an SSL certificate, since self-generated certificates result in browser warnings.
Coming soon
ICE is open source software, and we gladly accept patches to our code. Just send us an email and/or a patch file. We also encourage bug filings and feature requests.