ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Installation

Version 10 (Holger Just, 2013-04-01 04:07 pm) → Version 11/57 (Holger Just, 2013-04-01 04:07 pm)

h1. Installation

{{>toc}}

ChiliProject should run on most systems as long as Ruby is available on this platform.

* [[Installation on Linux|Linux]] — Linux is the preferred plattform for ChiliProject. There are specific guides for most common distributions, including [[Installation on Ubuntu 10.04|Ubuntu]], [[Installation on Debian Lenny|Debian]], and [[Installation on CenOS 5|CentOS]].
* [[Installation on Windows|Windows]]
* [[Installation on OSX|Mac OS X]] and [[Installation on OSX Server|Mac OS X Server]]
* [[Installation_on_FreeBSD|FreeBSD]]
* [[Installation_on_Solaris|Solaris]]

h2. Requirements

h3. Ruby on Rails stack

h4. Ruby

At first, you need to decide for a ruby interpreter. ChiliProject runs best on Ruby 1.8.7 and and recent variants of "Ruby Enterprise Edition (REE)":http://www.rubyenterpriseedition.com. For a new system you should choose one of those. The default ruby 1.8.7 is available for most platforms while other ruby interpreters might work only on certain systems. Check the respective project website for more information.

|_/2. Ruby Variant |_\2. _ChiliProject Version_ |
|_. current master |_. version#4 |
| 1.8 | 1.8.6, 1.8.7 | 1.8.6, 1.8.7 |
| 1.9 | 1.9.2 | _not supported_ |
| Ruby Enterprise Edition | 1.8.7-xxx | 1.8.7-xxx |
| JRuby | _not supported_ | _not supported_ |
| Rubinius | _not supported_ | _not supported_ |
| IronRuby | _not supported_ | _not supported_ |

h4. Required Libraries

In addition to the basic ruby, you need some required libraries (called rubygems) which provide some of the core functionality offered by ChiliProject. Make sure your system has the exact versions of these components installed. If not specified otherwise the exact stated versions are required.

|_/2. Requirement |_\2. _ChiliProject Version_ |
|_. current master |_. version#4 |
|_. rails | 2.3.5 | 2.3.5 |
|_. rack | 1.0.1 | 1.0.1 |
|_. rake | >= 0.8.3 | >= 0.8.3 |
|_. i18n | < 0.5 or none | < 0.5 or none |

Notes:
* ChiliProject will break if version 0.5 or higher of the *i18n* gem is installed.

h3. Database

ChiliProject stores most of its working data inside a database. It supports each the following databases equally well. Choose the one that fits your needs the most.

* MySQL 5.x
* PostgreSQL 8.x &mdash; Any 8.x version is fully supported. Tests on 9.x are sparse, so use this version on your own risk.
* SQLite3

For most production deployments, you should choose one of MySQL or PostgreSQL as these are going to be much more performant. For small and sparsely used installations SQLite3 is also sufficient. To later migrate between databases vendors, you can use "Taps":http://github.com/ricardochimal/taps or some other database agnostic tool.

To connect ChiliProject to the chosen database you need an additional ruby gem which acts as an adapter. For some databases, there are different libraries available and used. As some of the adapters are not maintained anymore you are advised to use one of the preferred gems from the following table. *Preferred database adapters are marked with a star ( !/images/fav.png! ).*

|_/2\2. Requirement |_\2. _ChiliProject Version_ |
|_. current master |_. version#4 |
|_/2. MySQL | mysql2 !/images/fav.png! | _all versions_ | _all versions_ |
| mysql | _all versions_ | _all versions_ |
|_/2. PostgreSQL | pg !/images/fav.png! | _all versions_ | _all versions_ |
| postgres-pr | _all versions_ | _all versions_ |
|_. SQLite3 | sqlite3-ruby !/images/fav.png! | _all versions_ | _all versions_ |

h3. Application Server

Every Ruby on Rails application runs in an environment called application server. These server components which provide the basic HTTP functionality. There are various choices which heavily depend on your operating system end environmental constraints. See the installation guide of your specific operating system for more information.

The most common choices for production deployments are "Phusion Passenger (mod_rails) ":http://www.modrails.com/ for Linux / UNIX which is a module for the Apache2 or Nginx webserver or "Thin":http://code.macournoyer.com/thin/ on Windows. Although Rails comes with a basic application server called Webrick it is only suitable for development and tests. *Never use Webrick in production deployments!*

h3. Optional Components

You need some additional software depending on your use-case. For a basic ChiliProject, these components are optional, but might be required for some additional functionality.

|_. Optional Component |_. Description |
| SCM binaries | ChiliProject requires the client binaries for each of the repository types you plan to use. See [[Repository Administration]] for more info. |
| RMagick | This gem is the ruby interface to ImageMagick. It is used to export the Gantt charts to PNG format. |
| ruby-openid | This gem is required for using the OpenID authentication. Version 2 or greater is required. |

h2. Which version to choose

It is recommended that you install the latest release of ChiliProject. We currently [[Release_Schedule|release] a new version every 6 months, and these releases are considered very usable and stable. It is *not* recommended to use the master branch in a production setup, unless you are deeply familiar with Ruby on Rails and keep up with the changes - the master branch *will* break from time to time.

h2. Installation

# [[Download|Get [[Download ChiliProject|Get the ChiliProject source code]] by either downloading a packaged release or checking out the code repository. Common sources are
#* Cloning the Git repository on https://github.com/chiliproject/chiliproject
<pre>
git clone git://github.com/chiliproject/chiliproject.git
cd chiliproject
git checkout 1.1-stable
</pre>
#* Downloading a release from "the Files section":/projects/chiliproject/files
# *Create an empty database* and an accompanying user named @chiliproject@ for example.
#* MySQL < 5.0.2
<pre>
create database chiliproject character set utf8;
grant all privileges on chiliproject.* to 'chiliproject'@'localhost' identified by 'my_password';
</pre>
#* MySQL >= 5.0.2
<pre>
create database chiliproject character set utf8;
create user 'chiliproject'@'localhost' identified by 'my_password';
grant all privileges on chiliproject.* to 'chiliproject'@'localhost';
</pre>
#* PostgreSQL
<pre>
CREATE ROLE chiliproject LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE chiliproject WITH ENCODING='UTF8' OWNER=chiliproject;
</pre>
# Copy @config/database.yml.example.DATABASETYPE@ (e.g. @database.yml.example.mysql@) to @config/database.yml@ and edit this file in order to configure your database settings for "production" environment. Valid examples are:
#* MySQL
<pre>
production:
adapter: mysql
database: chiliproject
host: localhost
port: 3306
username: chiliproject
password: my_password
</pre>
#* PostgreSQL
<pre>
production:
adapter: postgresql
database: chiliproject
host: localhost
port: 5432
username: chiliproject
password: my_password
encoding: utf8
</pre>
#* SQLite
<pre>
production:
adapter: sqlite3
database: db/production.db
</pre>
# Generate a *session store secret*.
<pre>rake generate_session_store</pre>
# *Create the basic database structure* by running the following command under the application root directory:
<pre>RAILS_ENV=production rake db:migrate
</pre>It will create the database tables and an administrator account.
# Insert *default configuration data* into the database, by running the following command:
<pre>RAILS_ENV=production rake redmine:load_default_data
</pre>This step is optional but *highly recommended*. It will load default roles, trackers, statuses, workflows and enumerations. If you choose to skip this step, you can later define your own configuration from scratch.
# *Setting up permissions*
_Windows users have to skip this step_
The user who runs ChiliProject must have write permission on the following sub-directories: @files@, @log@, @tmp@, and @public/plugin_assets@. So assuming you run ChiliProject with a user called @chiliproject@ you need to setup the following permissions: <pre>
mkdir tmp public/plugin_assets
sudo chown -R chiliproject:chiliproject files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
</pre>
# *Test the installation* by running the bundled Webrick web server:
<pre>ruby script/server -e production
</pre>Once Webrick has started, point your browser to http://localhost:3000/. You should now see the application welcome page.
%(smallimportant)Webrick is not suitable for normal use, please only use Webrick for testing that the installation up to this point is functional. It is not recommended to use Webrick for anything other than development or testing. Use one of the many other guides in this wiki to setup ChiliProject with a real application server like "Phusion Passenger (mod_rails) ":http://www.modrails.com/ or "Thin":http://code.macournoyer.com/thin/.%
# Use the default administrator account to *log in*:
#* *Login:* admin
#* *Password:* admin
# You can now go to %(button)Administration% to *modify the basic application settings*. Have a look at the [[Using ChiliProject|user guide]] for information on how to configure your new ChiliProject server.