icescrum installation guide

来源:互联网 发布:php crm 源码下载 编辑:程序博客网 时间:2024/05/05 20:01

Documentation - Install guide

Version: R6#13 – last update: 07/10/2014

Welcome to the iceScrum iceScrum install guide. If you don’t want to manage your own iceScrum installation, you may want to considerour Cloud offers (you can try iceScrum Cloud for free!)

Introduction

If you are new to iceScrum, you may want to use the iceScrum Server desktop application. It requires no computing skills and will allow you to try iceScrum easily .

However, this application is not suitable for production purposes. That’s why we recommend you to follow this guide to install iceScrum manually in order to use it in a real production context.

Installing and configuring the server environment (application server, database, configuration) may require advanced computing skills. Kagilum providesinstall services, including custom configuration, andremote installation, if you are interested, feel free to contact us.

Hardware requirements

Please note that hardware requirements highly depend on your use of the tool (total number of users, number of concurrent users, other applications running on your machine…).

However, here is an estimated minimal server configuration:
- Processor: a modern one, e.g. 2GHz+, 2+ cores
- RAM: 2GB+ (iceScrum requires at least 768MB but you also need RAM for the OS, other applications etc.)
- Hard disk: 10GB+ (iceScrum itself doesn’t require much space but you need space for the OS, DB, application server, user attachments etc.)

Software requirements

  • Operating system
  • Java
  • Application server
Operating system

We recommend the use of Ubuntu 12.04 LTS (Long Term Support).

However, iceScrum can be used with other Linux distributions, Windows and Mac OS. If you use Windows or Mac OS, you may be interested in theiceScrum Server desktop application.

Java

iceScrum requires Java 6 or 7. Please note that early versions of Java 6 may not work properly and thatJava 8 support is planned but not available yet.

You will also need to ensure that the JAVA_HOME environment variable points to the Java installation directory.

Application server

iceScrum is packaged as a Java Web Application ARchive (WAR). This WAR needs to be run in a Servlet container compatible with Servlet 3.0. We recommend the use ofTomcat, a widely used open source Servlet container. If needed, you can use another application server (e.g. Jetty) but this guide explains the install procedurefor Tomcat only.

We will use the name tomcatDir to represent the directory where Tomcat is installed. The user who starts Tomcatmust have write permissions on tomcatDir.

Here are the supported Tomcat version, and the manual operations required to use them:
- Tomcat 7 (7.0.23 or greater), recommended: you need to remove thetomcatDir/lib/tomcat-jdbc.jar library.
- Tomcat 6 (6.29 or greater): you need to add the geronimo-servlet_3.0_spec-1.0.jar library to the tomcatDir/lib/ directory.

Please note that Tomcat 8 support is planned but not available yet.

Application server

  • Configuration
  • Install the iceScrum WAR
Configuration

First, you need to 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 (start with the port 8080 if it is available, you will be able to change it later):

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"            connectionTimeout="2000" maxThreads="500" URIEncoding="UTF-8"/>

If you use an Apache server as a frontend proxy for your Tomcat server, you will need to usemod_proxy_http with for example the following configuration for your virtualHost:

ProxyRequests OffProxyPreserveHost OnProxyStatus OnProxyPass/icescrum/         http://localhost:8080/icescrum/ProxyPassReverse/icescrum/         http://localhost:8080/icescrum/  

iceScrum is not compatible with mod_proxy_ajp as it doesn’t support HTTP streaming / push.

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 atomcatDir/bin/setenv.sh script (setenv.bat for Windows), please read the Tomcat documentation for more information.

Add the following settings to the CATALINA_OPTS variable:

-Dicescrum.log.dir=/path/to/dir/where/i/can/write/
-Duser.timezone=UTC
-Dicescrum_config_location=/path/to/dir/where/i/can/write/config.groovy
-Xmx512m
-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:

-Djava.awt.headless=true
-server
Install the iceScrum WAR

You can choose either iceScrum or iceScrum Pro. iceScrum Pro is an enhanced version that includes support and additional features dedicated to organizations.

Once you have chosen and downloaded the WAR file, move it to the tomcatDir/webapps/ directory.

Configure iceScrum

If you want to change config in a nice user interface and to have your changes taken into account immediately, have a look aticeScrum Pro.

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 Pro
  • Config format
  • Application settings
  • Technical Settings
iceScrum Pro

If you are an iceScrum Pro user, you won’t need to edit a config file. Settings can be edited by the administrator through a nice user interface. Please refer to theiceScrum Pro settings documentation.

Additionally, iceScrum Pro features come with their own settings when needed. Please refer to theiceScrum Pro features documentation for more information.

Config format

iceScrum config must follow the Groovy format:

 // Inline comment/*     Block comment*/key = value            // For booleans and numbers valueskey = "string value"   // For strings values 

All paths in your config.groovy must use ‘/’ (forward slash)

You may find old config examples where string values have no quotes, when iceScrum used theProperties format (.properties). This format is now deprecated. Look at Upgrade config.properties to config.groovy format

Application settings

Here are the available application settings with their default value, given in theGroovy format (.groovy):

icescrum.project.import.enable = trueicescrum.project.export.enable = trueicescrum.project.creation.enable = trueicescrum.project.private.enable = trueicescrum.project.private.default = false
icescrum.gravatar.secure = falseicescrum.gravatar.enable = falseicescrum.registration.enable = trueicescrum.login.retrieve.enable = true
icescrum.auto_follow_productowner = trueicescrum.auto_follow_stakeholder  = trueicescrum.auto_follow_scrummaster  = trueicescrum.alerts.errors.to = "dev@icescrum.org"icescrum.alerts.subject_prefix = "[icescrum]"icescrum.alerts.enable = trueicescrum.alerts.default.from = "webmaster@icescrum.org"
icescrum.attachments.enable = true
Technical Settings
grails.serverURL = "http://localhost:8080/icescrum"                    /* Changing the port will require to change                      it in the Tomcat server.xml Connector*/
icescrum.debug.enable = falseicescrum.securitydebug.enable = false
icescrum.baseDir = "<yourHome>/icescrum"                    /* Use a custom directory where Tomcat has write rights                      (not webapps!!). Path must use '/' (forward slash) */
icescrum.cors.enable = true  /* CORS is enabled by default                                However, it's enabled only for projects                                 where web services are enabled */icescrum.cors.allow.origin.regex = "*"  /* Use double backslash for escaping                                           e.g. (http://|.+\\.)mydomain\\.com */
grails.mail.host = "smtp.gmail.com"grails.mail.port = 465grails.mail.username = "username@gmail.com"grails.mail.password = "mypassword"grails.mail.props = ["mail.smtp.auth":"true",        "mail.smtp.socketFactory.port":"465",        "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",        "mail.smtp.socketFactory.fallback":"false"]         /* The props are required for SSL connections */

Database

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.

This configuration needs to be set in the config file (please refer to the above section). Any change will require you to restart your server if it is running.

Don’t forget to define a sensible charset/collation configuration when creating an empty DB in a custom DBMS. We recommend the use of UTF-8, which allows a wide range of user input.

  • HSQLDB
  • MySQL
  • Oracle
  • Other DBMS
HSQLDB

HSLQLDB is the default DB in iceScrum. It is bundled so it is possible to try iceScrum without installing a DBMS. The DB is stored as a script file in your file system.

Your database structure and data is stored as SQL statements in a file is calledprodDba.script and prodDba.properties that are located in the directory where you started Tomcat from. To backup your DB, just keep a copy of these files.

MySQL

The MySQL JDBC connector is included in iceScrum. Consequently, you just have to configure the connection in your config file.

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"
Oracle

Oracle support is available only for iceScrum Pro.

The Oracle JDBC connector doesn’t come with iceScrum so you will have to download it manually and put it intomcatDir/lib.

dataSource.dialect = "org.hibernate.dialect.Oracle10gDialect"                      // use this dialect even for greater versionsdataSource.driverClassName = "oracle.jdbc.driver.OracleDriver"dataSource.url = "jdbc:oracle:thin:@localhost:1521:XE"dataSource.username = "sa"dataSource.password = "myDbPass"
Other DBMS

iceScrum also supports PostgreSQL and SQL Server. The corresponding JDBC connector doesn’t come with iceScrum so you will have to download it manually and put it intomcatDir/lib.

dataSource.driverClassName = "org.postgresql.Driver"dataSource.url = "jdbc:postgresql://localhost:5432/icescrum"dataSource.username = "postgres"dataSource.password = "myDbPass"
dataSource.driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"dataSource.url = "jdbc:sqlserver://localhost:1433;databaseName=icescrum"dataSource.username = "sa"dataSource.password = "myDbPass"

Start iceScrum

Once everything is configured (Tomcat, settings, DB…), you can start the Tomcat server by running thetomcatDir/bin/startup.sh script (startup.bat for Windows). Tomcat will start iceScrum automatically if the WAR is found in thetomcatDir/webapps/ directory.

It may take some time to start it for the first time. When the server is started, enter the iceScrum URL (corresponding to the Server URL you defined) in your favorite browser.

First, you need to register: click on “Register”, fill in the form and validate. Follow thegetting started guide to enjoy the great iceScrum features!

Troubleshooting

If you find an unexpected behaviour, please read the following information.

  • Support
  • Common issues
  • Logging
  • Upgrade config.properties to config.groovy format
Support

You may want to get help for your install and configuration. iceScrum developers can help you!We can install and configure your iceScrum server (contact us) andiceScrum Pro comes with dedicated support (email, skype, phone).

Common issues

- Related to configuration (DB, emails, etc.):
First, verify iceScrum is using your configuration : the config file used is mentioned in the tomcat standard output. If so, it may be not well formatted so check again the config format. You can also try a trivial setting (like disabling registration) and see if it works. If so, the config file is parsed properly so your specific setting may be wrong. Please try with trivial values (e.g. Gmail for emails) to see if the problem comes from your values.

- Related to exports (PDF etc.):
Ensure that your JVM is configured in headless mode as explained in this guide and that you don’t use a not supported application server such as Tomcat8 or an unsupported JDK.

- Related to special character input (when creating items or importing a project):
Ensure that your server DB has a sensible charset/collation as suggested in this guide. We recommend the use of UTF-8.

- Related to network (DB, LDAP, emails, push):
If you use a proxy or a firewall, it may be the reason why it doesn’t work.

- Related to server URL (attachments, redirection after logging in, etc.):
If defined a custom URL (domain, port), please ensure that your defined the Server URL setting and the proper tomcat connector.

- Related to SSL:
iceScrum does work with SSL (we are sure about that because iceScrum Cloud uses SSL). Don’t forget to change the Server URL setting. If SSL still doesn’t work, please check the config of your proxy (Nginx and Apache should work fine, if configured properly).

Common errors in logs:

- java.lang.NoClassDefFoundError: javax/servlet/http/Part:
You application server doesn’t provide native support to Servlet 3.0. Tomcat 6 users, please refer to thesoftware requirements section.

- java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver (or com.mysql.jdbc.Driver)
If you use Tomcat 7, you should remove the tomcat-jdbc.jar library from the tomcatDir/lib folder as explained in thesoftware requirements section.

- Infos: validateJarFile(/var/lib/tomcat7/webapps/icescrum/WEB-INF/lib/geronimo-servlet_3.0_spec-1.0.jar) – jar not loaded
This message can be ignored. Geronimo-servlet is here to provide compatibility with Tomcat 6.

- “Unknown column ‘text_as’” or “Unknown column ‘added’” on startup, marked as ERROR:
These errors can be ignored. They are not actual errors: the column are missing because we removed them when migrating the database structure. The queries remain in order to allow migration from former versions.

- java.lang.NoSuchFieldException: count:
This error can be ignored. It’s a minor compatibility issue between the version of the programming language iceScrum is written in (Groovy) and Java 7.

- java.lang.NullPointerException on CoyoteAdapter:
Your Tomcat 7 version is probably outdated, please refer to the software requirements section.

- Error messages in the Tomcat process when shutting down iceScrum:
it’s a known problem that shouldn’t affect your application. We recommend that you check that the Java process has been really killed.

If you didn’t find the cause of your problem, please read the following sections about logs.

Logging

You should find a logs directory in the directory where you started Tomcat from, or in the icescrum.log.dir if you defined it in your CATALINA_OPTS.

You may want to enable more log information. If you are using iceScrum Pro, you have to enable verbose logging in the settings administration. Otherwise, you have to add the following line to your settings:

icescrum.debug.enable = true

Then, please have a look at the icescrum.log file.

Upgrade config.properties to config.groovy format

If your current config file is called config.properties, you will have to follow these instructions:

- Copy the config.properties file and name the copy: config.groovy.
- Open your freshly created config.groovy file and change the content as follows:

Where you have String value, wrap the value with double quotes. Additionally, comment syntax has changed so you will have to replace all the# by //. For instance, when you had:

# Data SourcedataSource.driverClassName=com.mysql.jdbc.Driver

Now you will have:

// Data SourcedataSource.driverClassName="com.mysql.jdbc.Driver"

If you have key/value with Boolean or Number values, no change is required.

icescrum.registration.enable=truemail.port=25

Then:
- Delete or move your old config.properties file
- Don’t forget to update your config location if it is defined:

-Dicescrum_config_location=myLocation/config.groovy

https://www.kagilum.com/documentation/install-guide/




0 0