2010年4月3日 星期六

在 Ubuntu 8.04 上裝 Redmine 0.9.x

關鍵在於 Redmine 0.9.x 需要 rails 2.3.5, 而 rails 2.3.5 需要 rubygems v1.3.1。但是 Ubuntu 8.04 上的 rubygems 不夠新, 也無法透過 gem 自己昇級 (gem update --system), Ubuntu 會跑出禁止 gem 自己昇級的訊息。之前才讀到《RubyGem is from Mars, AptGet is from Venus》, 想說系統管理和開發者戰得真激烈, 結果馬上就被這場戰爭掃到。

評估了網路上各種解法, 最後決定直接裝 rubygems tarball, 用 gem 裝 rails 2.3.5, 希望之後爛也只會爛 ruby package (我不確定這樣做到底會如何)。

總結安裝流程如下:
  1. 參照這篇裝 Ubuntu 上必要的 package:
    sudo aptitude  install build-essential
    sudo aptitude  install rails rubygems mongrel libmagick9-dev ruby1.8-dev
  2. 直接從原始碼裝 rubygems v1.3.1
  3. 參照 Redmine install 的流程
使用 MySQL 的注意事項:
  • MySQL 資料庫設定檔裡除帳號等資訊外要加一欄 socket:
    production:
      adapter: mysql
      database: redmine
      host: localhost
      username: redmine
      password: my_password
      encoding: utf8
      socket: /var/run/mysqld/mysqld.sock   # Ubuntu's path
    
  • rake migrate 會出現錯誤訊息: "ERROR: Failed to build gem native extension."。參考這篇的解法:
    sudo aptitude install libmysqlclient15-dev
    sudo gem install mysql
和 Mercurial 整合部份參考官方文件和作法如下:
  1. 在 Redmine 的 Repository 設定裡填入 Mercurial repository 的檔案路徑。
  2. 在執行 mongrel 的使用者的 $HOME/~.hgrc 裡加入信任 Mercurial repository 目錄的擁有者, 比方說我用 fcamel 跑 Redmine, 但 repository 的擁有者是 hg, 就要在 ~fcamel/.hgrc 裡加入:
    [trusted]
    users = hg
    
    不然會跑出 "Not trusting file hgrc from untrusted user" 的錯誤訊息。
我懶得設 apache, 就直接跑 mongrel daemon, 用起來還頗順的:
mongrel_rails start -e production -p 3000 -d

1 則留言:

  1. 我自己不使用 os 本身的 ruby, 都用自己編的 ruby-enterprise 版本。當然自己編會有一些相依性問題。

    所以社群內就有人寫了安裝 recipese
    http://github.com/jnstq/rails-nginx-passenger-ubuntu

    最近因為在弄 team, 也做了一個 redmine 用的 irc notification plugin
    http://github.com/xdite/redmine_irccat_notifications

    回覆刪除

在 Fedora 下裝 id-utils

Fedora 似乎因為執行檔撞名,而沒有提供 id-utils 的套件 ,但這是使用 gj 的必要套件,只好自己編。從官網抓好 tarball ,解開來編譯 (./configure && make)就是了。 但編譯後會遇到錯誤: ./stdio.h:10...