DT日記

家を離れた自宅警備員の日記

UbuntuにRedmine2.0をインストールした話

今日 Redmine 2.0.0 がリリースされた らしいので、せっかくだから導入してみた。

最近の Rubyist の間では Pivotal Tracker がナウいらしいけど……。

対象は、VPS に入れてある Ubuntu で、バージョンは 11.10 Server 。

参考文献
Redmineのインストール | Redmine.JP
Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用 | Redmine.JP
  1. Web 関連のファイルは /zn に置くことにする (特に意味はないのでお好きに)
  2. Redmine 用に Virtual host を設定する場合は、一往ここで DNS の設定をしておく
  3. Web 用の ruby をインストール
    1. ruby-build を使って /zn に sudo ./bin/ruby-build 1.9.3-p194 /zn
      • これで、/zn/bin/rubyruby が入る
  4. Ruby gems をアップデート
    1. sudo /zn/bin/gem update --system
    2. sudo /zn/bin/gem update
  5. APT でいろいろインストール
    1. sudo aptitude install apache2 w3m mysql-server
      • もし未インストールなら入れて設定を済ませておく
    2. sudo aptitude install ruby1.9.1-dev libruby1.9.1 imagemagick libmagick++-dev
    3. sudo aptitude install postgresql libpgsql-ruby1.9.1 libpq-dev
    4. sudo aptitude install libcurl4-openssl-dev apache2-prefork-dev libapr1-dev libaprutil1-dev
      • このうち、postgresql は要らないかもしれない
      • PostgreSQL は要らないので、全て終ったあとに sudo aptitude purge postgresql でさくっとお引き取り願ふ
  6. Redmine をダウンロード・配置する
    1. (cd /tmp; wget http://rubyforge.org/frs/download.php/76134/redmine-2.0.0.tar.gz; tar xf redmine-2.0.0.tar.gz; sudo mv redmine-2.0.0 /zn/redmine)
      • これで Redmine の配置完了
  7. 必要な gem をインストール
    1. sudo /zn/bin/gem install rmagick pg
  8. bundler で必要な gem をインストール
    1. cd /zn/redmine
    2. sudo /zn/bin/bundle install --without development test
      • もしかしたらここで何かメモ忘れてるかも
  9. Redmine 用のログインユーザを作成
    1. sudo adduser redmine
  10. データベースを設定する
    1. sudo mysql -uroot -pyourpasswd
      • MySQL のシェルにログイン
    2. コードは下に掲載
      • データベースを作成・権限を設定
  11. Redmine を設定
    1. sudo cp /zn/redmine/config/database.example.yml /zn/redmine/config/database.yml
    2. sudo vim /zn/redmine/config/database.yml
      コードは下に掲載
  12. セッション秘密鍵を生成
    1. /zn/bin/rake generate_secret_token
  13. データベースにテーブルを作成
    1. sudo RAILS_ENV=production /zn/bin/rake db:migrate
    2. sudo RAILS_ENV=production /zn/bin/rake redmine:load_default_data
  14. ディレクトリを作成
    1. (cd /zn/redmine; 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)
    2. ruby script/rails server webrick -e production
  15. Redmine の動作をテスト
    1. ruby script/rails server webrick -e production
    2. w3m http://localhost:3000
      1. 管理者ユーザは admin / admin なので、パスワードを変更しておく
      2. 動作チェックと管理者のパスワード変更ができたら、 Ctrl-c で停止
      3. 僕は SSH のポートと 80 しか開けてないので、w3m でログイン
  16. Passenger のインストール
    1. sudo /zn/bin/gem install passenger
    2. sudo /zn/bin/passenger-install-apache2-module
  17. Apache2 の設定
    1. sudo vim /etc/apache2/httpd.conf
      • 設定を追記する (コードは以下の httpd.conf )
      • redmine.jp の設定例は古い (passenger 1.x) ので注意
    2. sudo vim /etc/apache2/site-available/redmine.hogehoge.zzz
    3. sudo a2ensite redmine.hogehoge.zzz
      • 設定を有効化する
    4. sudo /etc/init.d/apache2 restart
      • Apache2 を再起動
  18. Web ブラウザでチェック
    1. http://redmine.hogehoge.zzz/
      • これでアクセスできていればデプロイ成功
  19. 自分の利用ユーザを登録
  20. 管理者ログインして有効化

あとは、外部の人に見せたくなきゃ、https と digest の設定をしとくと良い。めんどくさいし隠す気があまりないので、今回はやらない。

MySQL にデータベースを作成

sudo mysql -uroot -pyourpasswd でログインして、以下のコマンドを実行。(まとめてペーストしてもたぶんいける。その場合は 'yourpasswd' の部分の書き換へをくれぐれも忘れぬよう)

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

database.yml

database.example.yml があるので、これをコピーした上でこのコードのように適宜書き換へる。

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: yourpasswd

httpd.conf

/etc/apache2/httpd.conf に追記

LoadModule passenger_module /zn/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
PassengerRoot /zn/lib/ruby/gems/1.9.1/gems/passenger-3.0.12
PassengerRuby /zn/bin/ruby
RailsEnv production

マルチドメイン設定の例

飽くまで例。

<VirtualHost *:80>
    ServerName redmine.hogehoge.zzz
    DocumentRoot /zn/redmine/public
    <Directory /zn/redmine>
        AllowOverride all 
        Options -MultiViews
    </Directory>
</VirtualHost>