2011年3月15日星期二

redmine installation guide

 1.  Prepare all the applications.

     1) ruby. highly recommend use 1.8.6-1.8.7 http://www.ruby-lang.org/en/downloads/
           ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
         mysql 5.1.45


     2) install all required gem/ gem install *.gem
          rubygem 
      actionmailer (2.3.11)
      actionpack (2.3.11)
      activerecord (2.3.11)
      activeresource (2.3.11)
      activesupport (2.3.11)
      i18n (0.4.2)
      mysql (2.8.1)
      rack (1.1.0, 1.0.1)
      rails (2.3.11)
      rake (0.8.7)
      rubygems-update (1.4.2)
       
  • Ruby 1.9 is not supported yet. You have to use Ruby 1.8.x as stated above.
  • RubyGems 1.3.1 or higher is required (Rails 2.3.5 will fail with RubyGems 1.5.0 and later, stick to previous versions of RubyGems)
  • Rake 0.8.3 or higher is required
  • Rack 1.0.1 is required. If you don't have this exact version, database migration would fail.
  • I18n 0.4.2 is required for Redmine >= 1.0.5

     3) download redmine http://www.redmine.org/projects/redmine/wiki/Download and unpack it.
     4) Create an empty database and accompanying user named redmine for example.

For MySQL:

 create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'my_password'; grant all privileges on redmine.* to 'redmine'@'localhost'; 

For versions of MySQL prior to 5.0.2 - skip the 'create user' step and instead:

 grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password'; 

For PostgreSQL:

 CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity'; CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine; 

3. Copy config/database.yml.example to config/database.yml and edit this file in order to configure your database settings for "production" environment.

Example for a MySQL database:

 production:   adapter: mysql   database: redmine   host: localhost   username: redmine   password: my_password 

If your server is not running on the standard port (3306), use this configuration instead:

 production:   adapter: mysql   database: redmine   host: localhost   port: 3307   username: redmine   password: my_password 

Example for a PostgreSQL database (default port):

 production:   adapter: postgresql   database: <your_database_name>   host: <postgres_host>   username: <postgres_user>   password: <postgres_user_password>   encoding: utf8   schema_search_path: <database_schema> (default - public)
    5) run " rake generate_session_store"
6) under redmine path;
vi ./config/boot.rb
add "require 'thread'" in the first line
7) run "RAILS_ENV=production rake db:migrate"
but it will have problems, although they said the issue been fixed in gem2.3.11.
The workaround :
vi vendor/rails/railties/lib/rails/gem_dependency.rb
add
if Gem::VERSION >= "1.3.6"
module Rails
class GemDependency
def requirement
r = super
(r == Gem::Requirement.default) ? nil : r
end
end
end
end
in the last line. and export LD_LIBRARY_PATH=/opt/ruby/lib:/lib/ 

then the command is running successfully.

8) the tricky thing is, my mysql didn't use the local one, but redmine will search for default I don't how to modify this, just add the soft link with my own mysql's socket. then continue.
9) then run RAILS_ENV=production rake redmine:load_default_data
10)Setting up permissions

Assuming you run Redmine with a redmine user:

 mkdir tmp public/plugin_assets sudo chown -R redmine:redmine files log tmp public/plugin_assets sudo chmod -R 755 files log tmp public/plugin_assets
11) use admin/admin to login
--
Alex Tu
-----------------------------------------------------------
ShangHai,China