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 32 (Enno Gröper, 2013-04-01 04:07 pm)

1 30 Enno Gröper
h1. Installation of ChiliProject
2 1
3 1
{{>toc}}
4 1
5 2 Enno Gröper
ChiliProject should run on most systems as long as Ruby is available on this platform.
6 1
7 29 Enno Gröper
* [[Installation on Linux|Linux]] — Linux is the preferred plattform for ChiliProject. There are specific guides for most common distributions, including [[Installation_on_Ubuntu_10_10|Ubuntu]], [[Installation on Debian Squeeze|Debian]], [[Installation_on_OpenSUSE_11_3|OpenSUSE]], and [[Installation on CentOS 5|CentOS]].
8 2 Enno Gröper
* [[Installation on Windows|Windows]]
9 2 Enno Gröper
* [[Installation on OSX|Mac OS X]] and [[Installation on OSX Server|Mac OS X Server]]
10 2 Enno Gröper
* [[Installation_on_FreeBSD|FreeBSD]]
11 2 Enno Gröper
* [[Installation_on_Solaris|Solaris]]
12 1
13 31 Enno Gröper
{{include(Requirements)}}
14 7 Enno Gröper
15 7 Enno Gröper
h2. Which version to choose
16 7 Enno Gröper
17 32 Enno Gröper
It is recommended that you install the latest release of ChiliProject. We currently [[Release_Schedule|release]] a new minor version roughly every month and a new major version every 6 month. These releases are considered very usable and stable.
18 15 Enno Gröper
19 15 Enno Gröper
It is thus recommended to use the @stable@ branch for production deployments. Although we work hard on keeping the code base stable, the @master@ and @unstable@ branches might break from time to time. So use them only if you are deeply familiar with Ruby on Rails and can keep up with the changes. For more information about the branch model used in ChiliProject, see the documentation of the [[ChiliProject Repository]].
20 7 Enno Gröper
21 7 Enno Gröper
h2. Installation
22 7 Enno Gröper
23 11 Enno Gröper
# [[Download|Get the ChiliProject source code]] by either downloading a packaged release or checking out the code repository. Common sources are
24 7 Enno Gröper
#* Cloning the Git repository on https://github.com/chiliproject/chiliproject
25 7 Enno Gröper
  <pre>
26 7 Enno Gröper
git clone git://github.com/chiliproject/chiliproject.git
27 7 Enno Gröper
cd chiliproject
28 14 Enno Gröper
git checkout stable
29 7 Enno Gröper
</pre>
30 7 Enno Gröper
#* Downloading a release from "the Files section":/projects/chiliproject/files
31 7 Enno Gröper
# *Create an empty database* and an accompanying user named @chiliproject@ for example.
32 7 Enno Gröper
#*  MySQL < 5.0.2
33 7 Enno Gröper
  <pre>
34 7 Enno Gröper
create database chiliproject character set utf8;
35 7 Enno Gröper
grant all privileges on chiliproject.* to 'chiliproject'@'localhost' identified by 'my_password';
36 7 Enno Gröper
</pre>
37 7 Enno Gröper
#* MySQL >= 5.0.2
38 7 Enno Gröper
  <pre>
39 7 Enno Gröper
create database chiliproject character set utf8;
40 7 Enno Gröper
create user 'chiliproject'@'localhost' identified by 'my_password';
41 7 Enno Gröper
grant all privileges on chiliproject.* to 'chiliproject'@'localhost';
42 7 Enno Gröper
</pre>
43 7 Enno Gröper
#* PostgreSQL
44 7 Enno Gröper
  <pre>
45 7 Enno Gröper
CREATE ROLE chiliproject LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
46 7 Enno Gröper
CREATE DATABASE chiliproject WITH ENCODING='UTF8' OWNER=chiliproject;
47 7 Enno Gröper
</pre>
48 7 Enno Gröper
# 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:
49 7 Enno Gröper
#* MySQL
50 7 Enno Gröper
  <pre>
51 7 Enno Gröper
production:
52 7 Enno Gröper
  adapter: mysql
53 7 Enno Gröper
  database: chiliproject
54 7 Enno Gröper
  host: localhost
55 7 Enno Gröper
  port: 3306
56 7 Enno Gröper
  username: chiliproject
57 7 Enno Gröper
  password: my_password
58 7 Enno Gröper
</pre>
59 7 Enno Gröper
#* PostgreSQL
60 7 Enno Gröper
  <pre>
61 7 Enno Gröper
production:
62 7 Enno Gröper
  adapter: postgresql
63 7 Enno Gröper
  database: chiliproject
64 7 Enno Gröper
  host: localhost
65 7 Enno Gröper
  port: 5432
66 7 Enno Gröper
  username: chiliproject
67 7 Enno Gröper
  password: my_password
68 7 Enno Gröper
  encoding: utf8
69 7 Enno Gröper
</pre>
70 7 Enno Gröper
#* SQLite
71 7 Enno Gröper
  <pre>
72 7 Enno Gröper
production:
73 7 Enno Gröper
  adapter: sqlite3
74 7 Enno Gröper
  database: db/production.db
75 7 Enno Gröper
</pre>
76 23 Enno Gröper
# Copy @config/configuration.yml.example@ to @config/configuration.yml@ and edit this file for your system's environment. You can check the comments in the file and on [[Configuration File]] for all of the options.
77 7 Enno Gröper
# Generate a *session store secret*.
78 7 Enno Gröper
  <pre>rake generate_session_store</pre>
79 7 Enno Gröper
# *Create the basic database structure* by running the following command under the application root directory:
80 7 Enno Gröper
  <pre>RAILS_ENV=production rake db:migrate
81 7 Enno Gröper
</pre>It will create the database tables and an administrator account.
82 7 Enno Gröper
# Insert *default configuration data* into the database, by running the following command:
83 7 Enno Gröper
  <pre>RAILS_ENV=production rake redmine:load_default_data
84 7 Enno Gröper
</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.
85 7 Enno Gröper
# *Setting up permissions*
86 7 Enno Gröper
  _Windows users have to skip this step_
87 7 Enno Gröper
  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>
88 7 Enno Gröper
mkdir tmp public/plugin_assets
89 7 Enno Gröper
sudo chown -R chiliproject:chiliproject files log tmp public/plugin_assets
90 7 Enno Gröper
sudo chmod -R 755 files log tmp public/plugin_assets
91 7 Enno Gröper
</pre>
92 7 Enno Gröper
# *Test the installation* by running the bundled Webrick web server:
93 7 Enno Gröper
  <pre>ruby script/server -e production
94 7 Enno Gröper
</pre>Once Webrick has started, point your browser to http://localhost:3000/. You should now see the application welcome page.
95 9 Enno Gröper
  %(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/.%
96 7 Enno Gröper
# Use the default administrator account to *log in*:
97 7 Enno Gröper
#* *Login:* admin
98 7 Enno Gröper
#* *Password:* admin
99 7 Enno Gröper
# 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.