Wednesday, October 16, 2013

Configuring Icescrum on Apache tomcat in linux

This post will guide you on configuring the Icescrum on apache tomcat in linux and based on official guide.


Downloading the latest icescrum war from http://www.icescrum.org/en/download-en/ and deploying it directly on apache tomcat won't work without tweaking and few configuration changes.

The following configuration was tested on Tomcat 7 with Mysql in Fedora 18 and sure will work on all linux distros.

Add prodDba.properties file in tomcat folder(/usr/share/tomcat/) with below contents


#HSQL Database Engine 1.8.0.10
#Tue Sep 10 10:15:24 IST 2013
hsqldb.script_format=0
runtime.gc_interval=0
sql.enforce_strict_size=false
hsqldb.cache_size_scale=8
readonly=false
hsqldb.nio_data_file=true
hsqldb.cache_scale=14
version=1.8.0
hsqldb.default_table_type=memory
hsqldb.cache_file_scale=1
hsqldb.log_size=200
modified=no
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0

Add /usr/share/tomcat/conf/config.groovy file with following contents

icescrum.project.import.enable = true
icescrum.project.export.enable = true
icescrum.project.creation.enable = true
icescrum.project.private.enable = true
icescrum.gravatar.secure = false
icescrum.gravatar.enable = false
icescrum.registration.enable = true
icescrum.login.retrieve.enable = true
icescrum.auto_follow_productowner = true
icescrum.auto_follow_stakeholder = true
icescrum.auto_follow_scrummaster = true
icescrum.alerts.errors.to = "admin@server"
icescrum.alerts.subject_prefix = "[icescrum]"
icescrum.alerts.enable = true
icescrum.alerts.default.from = "webmaster@icescrum.org"
icescrum.attachments.enable = true
grails.serverURL = "http://appserver:8080/icescrum"
/* Changing the port will require to change
it in the Tomcat server.xml Connector*/
icescrum.debug.enable = false
icescrum.securitydebug.enable = false
icescrum.baseDir = "/usr/share/tomcat/icescrum"
dataSource.driverClassName = "com.mysql.jdbc.Driver"
dataSource.dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
dataSource.url = "jdbc:mysql://localhost:3306/icescrum?useUnicode=true&characterEncoding=utf8"
dataSource.username = "root"
dataSource.password = "xxx"

Edit /etc/icescrum/config.properties with below contents

dataSource.driverClassName=com.mysql.jdbc.Driver
dataSource.dialect=org.hibernate.dialect.MySQLInnoDBDialect
dataSource.url=jdbc:mysql://localhost:3306/icescrum?
useUnicode=true&characterEncoding=utf8&autoReconnect=true
dataSource.username=root
dataSource.password= ”xxx”
dataSource.dbCreate=update
#grails.mail.host = mail.localhost.com
#grails.mail.port = 25
#grails.mail.username = scrum@icescrum.com
#grails.mail.password =
#icescrum.login.retrieve.enable = true
#serverURL Absolute link required with context name like : http://localhost:8080/icescrum
grails.serverURL=http://appserver:8080/icescrum

Now the icescrum should up and running.

Note:
Modify the grails URL from localhost to FQDN in order to access icescrum from network.

I hope this will solve the problem in deploying Icescrum on Tomcat.

1 comment:

  1. I am trying to run ice scrum but it always fail with the following error
    FAIL - Application at context path /icescrum could not be started

    icescrum.log
    2014-07-04 13:15:08,769 [http-bio-8080-exec-4] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException: Cannot invoke method getAt() on null object
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.NullPointerException: Cannot invoke method getAt() on null object
    ... 3 more

    How can I fix this ?

    ReplyDelete