跳至主要内容

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

评论

此博客中的热门博文

Python学习笔记20100117

映射list   Dictionary 是用{}. list 是一那个[]. turple是用() 当你定义过dictionary后,你可以使用d.keys(), d.values(),d.items()将定义后的时候分别显示出来 当然可以将list里的值加减乘除,也可以如一般的定义直接重新复制这个list. 链接与分割字符串的 li=";", join(li) 则显示的就是 分隔符为;的数 如果使用li=li.split(";")则将刚刚;的分隔符删除,而split里也可定义域,如li.split(";",1)   自省 <---这是啥 之前在使用的时候发觉有些书本上的模块不能调用,很多是py脚本定义过的函数。 下载该脚本s,然后上传至指定位置。 >>>import sys >>>sys.path >>>sys.path.append("绝对位置")然后就能调用这些脚本和参数了。 删除 >>>sys.path.pop() 定义一个参数是 def info(test, test1=10.test2=12): info是函数名,test是必备参数,因为没有定义值,test1和test2是可选参数,定义了初始值   以上是外部函数的调用,下面转到内部函数 内部函数有type,str,dir及其他   ---type 返回任意字符的类型,模块也可以。types模块 >>> type(1) <type 'int'> >>> li=[] >>> type(li) <type 'list'> >>> import odbchelper >>> type(odbchelper) <type 'module'> >>> type(sys) <type 'module'> >>> import types ...

Setagaya park

  We visited Setagaya Park (世田谷区) yesterday. This park reminds us when we in Europe, which has a fancy fountain in the middle, and free entrance. People just laid down on the grass, enjoy the day time they can waste. people who have kids together,  play all different kinds of sports. you really can't image whether you are in Europe or  Japan. I would prefer to use a Bus instead of the metro, the metro is fast, but you only can see the dark, light, people sit or stand as Sardine, without any emotion. but on the bus, you can see the traffic, the shop, everything on the road. When we on our way to the park, we stop by a good chocolate shop named " craft chocolate works ",  this is a very good place to have ice cream, you probably can choose half & half, you can enjoy the feeling when you smell the chocolate smell and eat with it.  or you can enjoy beer or cake in "globe antiques (ザ グローブアン ティ ークス) .   also, we checked the Blue Bottle Coffee Sangenjaya ...