All notes
Icescrum

Installation

IceScrumDoc.

  1. Ensure that the JAVA_HOME environment variable is defined and points to the Java installation directory (which is the directory that contains the bin directory so it is NOT the bin directory itself).
  2. Tomcat 7 (7.0.23 or greater), recommended: you need to remove the tomcatDir/lib/tomcat-jdbc.jar library.
  3. Configure the Tomcat server itself. In the tomcatDir/conf/server.xml file, configure the connector to use the NIO protocol and set the port to be used for iceScrum.
    server.xml configuration
    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="2000" maxThreads="500" URIEncoding="UTF-8"/>
    
  4. If you use an Apache server as a frontend proxy for your Tomcat server, you will need to use mod_proxy_http with for example the following configuration for your virtualHost:
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyStatus On
    ProxyPass       /icescrum/         http://localhost:8080/icescrum/
    ProxyPassReverse    /icescrum/         http://localhost:8080/icescrum/  
    
    The reason why to use mod_proxy_http instead of mod_proxy_ajp: iceScrum is not compatible with mod_proxy_ajp as it doesn’t support HTTP streaming / push.
  5. Then, you need to configure the CATALINA_OPTS environment variable (if you use Jetty, define the JAVA_OPTIONS variable instead). A good place to define it is a tomcatDir/bin/setenv.sh script (setenv.bat for Windows).
    Add the following settings to the CATALINA_OPTS variable:
    Log directory (by default it will use the logs directory in the current path)
    	-Dicescrum.log.dir=/path/to/dir/where/i/can/write/
    Timezone (has to be UTC)
    	-Duser.timezone=UTC
    Config file (see the Settings section)
    	-Dicescrum_config_location=/path/to/dir/where/i/can/write/config.groovy
    Maximum Java heap size (at least 512 Mo)
    	-Xmx512m
    Maximum Permanent Generation size (at least 256 Mo)
    	-XX:MaxPermSize=256m
    The following flags are usually already configured by default, but we recommend that you check that they are provided to the JVM:
    Headless mode (required for iceScrum pdf/doc/... exports)
    	-Djava.awt.headless=true
    Server mode
    	-server
    
  6. Download the WAR file, move it to the tomcatDir/webapps/ directory.
  7. If you don’t use iceScrum Pro, you have to create a file called config.groovy that follows the Groovy format. The path of this file must be defined in your CATALINA_OPTS (refer to the application configuration section). We recommend that you put it in your home folder (avoid any tomcat folder). All config changes need an application restart to apply if the server is running.
    iceScrum config must follow the Groovy format:
    // Inline comment
    /* 
        Block comment
    */
    key = value            // For booleans and numbers values
    key = "string value"   // For strings values
    
    
    All paths in your config.groovy must use ‘/’ (forward slash).
  8. iceScrum comes with an embedded HSQLDB database so you can try iceScrum without needing to install nor configure a DBMS. The default HSQLDB configuration is NOT suitable for production environments in terms of reliability and performances.
  9. Create an empty DB in a custom DBMS. Don’t forget to define a sensible charset/collation configuration.
  10. The MySQL JDBC connector is included in iceScrum. Consequently, you just have to configure the connection in your config file. MySQL5 (with InnoDB storage engine) example settings, assuming an empty icescrum database
    dataSource.dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
    dataSource.driverClassName = "com.mysql.jdbc.Driver"
    dataSource.url = "jdbc:mysql://localhost:3306/icescrum?useUnicode=true&characterEncoding=utf8"
    dataSource.username = "root"
    dataSource.password = "myDbPass"
    
  11. Once everything is configured (Tomcat, settings, DB…), you can start the Tomcat server by running the tomcatDir/bin/startup.sh script (startup.bat for Windows). Tomcat will start iceScrum automatically if the WAR is found in the tomcatDir/webapps/ directory.
  12. An administrator account is included in iceScrum by default with the following credentials: admin/adminadmin!

Commons-pool undefined

ln -s /usr/share/java/jakarta-commons-pool.jar /usr/share/tomcat/lib/

Set http_proxy for Tomcat

Apache. Include two directives in your httpd.conf file for each web application that you wish to forward to Tomcat 6. For example, to forward an application at context path /myapp:

ProxyPass         /myapp  http://localhost:8081/myapp
ProxyPassReverse  /myapp  http://localhost:8081/myapp
which tells Apache to forward URLs of the form http://localhost/myapp/* to the Tomcat 6 connector listening on port 8081. Configure your copy of Tomcat 6 to include a special <Connector> element, with appropriate proxy settings, for example:
<Connector port="8081" ...
              proxyName="www.mycompany.com"
              proxyPort="80"/>
which will cause servlets inside this web application to think that all proxied requests were directed to www.mycompany.com on port 80.