投稿「Redmine のアップグレード全手順(1.2.3 → 2.2.2) その4」からの続きです。
2.5.セッション管理用秘密鍵の作成
[root ~]# rake generate_session_store Note: The rake task generate_session_store has been deprecated, please use the replacement version generate_secret_token
また失敗。「generate_secret_token」を使えということらしい。それでは、次のコマンドを実行してみます。
[root ~]# rake generate_secret_token
成功しました。/var/lib/redmine/config/initializers に、secret_token.rb が作成されました。
3.SVNチェックアウトのアップグレード
Redmineのインストールディレクトリに移動して、以下のコマンドを実行します。
[root ~]# svn update '.' を飛ばしました
4.データベースの更新
新しいRedmineのインストールディレクトリに移動し、データベースのマイグレーションを実行します。
4.1.データベースのマイグレーション
[root ~]# rake db:migrate RAILS_ENV="production" == CreateChangesetParents: migrating ========================================= -- create_table(:changeset_parents, {:id=>false}) -> 0.0156s -- add_index(:changeset_parents, [:changeset_id], {:name=>:changeset_parents_changeset_ids, :unique=>false}) -> 0.0979s -- add_index(:changeset_parents, [:parent_id], {:name=>:changeset_parents_parent_ids, :unique=>false}) -> 0.0143s == CreateChangesetParents: migrated (0.1283s) ================================ (略)
特にエラーメッセージが出なければ成功です。次のようなマイグレーション内容と結果のセットが次々と表示されます。
== xxxxxxxx: migrating =========================================
== xxxxxxxx: migrated (0.9999s) ================================
4.2.プラグインのマイグレーション
[root ~]# rake db:migrate_plugins RAILS_ENV=production Note: The rake task db:migrate_plugins has been deprecated, please use the replacement version redmine:plugins:migrate
コマンドを変更して実行します。
[root ~]# rake redmine:plugins:migrate RAILS_ENV=production
5.クリーンナップ
キャッシュとセッションファイルのクリアを行います。
[root ~]# rake tmp:cache:clear [root ~]# rake tmp:sessions:clear
6.表示確認
実際にアクセスして、「Ruby (Rack) application could not be started」というタイトルのページは表示されるので、そのページの「Error message」にしたがって、以下のように対応します。
Could not find pg-0.14.1 in any of the sources (Bundler::GemNotFound)に対して。
[root ~]# gem install pg -v '0.14.1' Building native extensions. This could take a while... Successfully installed pg-0.14.1 1 gem installed Installing ri documentation for pg-0.14.1... Installing RDoc documentation for pg-0.14.1...
Could not find ruby-openid-2.1.8 in any of the sources (Bundler::GemNotFound)に対して。
[root ~]# gem install ruby-openid -v '2.1.8' Fetching: ruby-openid-2.1.8.gem (100%) Successfully installed ruby-openid-2.1.8 1 gem installed Installing ri documentation for ruby-openid-2.1.8... Installing RDoc documentation for ruby-openid-2.1.8...
Could not find rack-openid-1.3.1 in any of the sources (Bundler::GemNotFound)に対して。
[root ~]# gem install rack-openid -v '1.3.1' Fetching: rack-openid-1.3.1.gem (100%) Successfully installed rack-openid-1.3.1 1 gem installed Installing ri documentation for rack-openid-1.3.1... Installing RDoc documentation for rack-openid-1.3.1...
Could not find shoulda-2.11.3 in any of the sources (Bundler::GemNotFound)に対して。
[root ~]# gem install shoulda -v '2.11.3' Fetching: shoulda-2.11.3.gem (100%) Successfully installed shoulda-2.11.3 1 gem installed Installing ri documentation for shoulda-2.11.3... Installing RDoc documentation for shoulda-2.11.3...
Could not find yard-0.8.3 in any of the sources (Bundler::GemNotFound)に対して。
[root ~]# gem install yard -v '0.8.3' Fetching: yard-0.8.3.gem (100%) Successfully installed yard-0.8.3 1 gem installed Installing ri documentation for yard-0.8.3... Installing RDoc documentation for yard-0.8.3...
これで、きちんと表示されました。
ここで一旦、httpd を再起動してみます。
すると、httpd の error_log に次のようなエラーメッセージが出ています。
Rails Error: Unable to access log file. Please ensure that /var/lib/redmine/log/production.log exists and is chmod 0666.
これに対処するために、次のようにパーミッションを変更します。
[root ~]# chmod 666 /var/lib/redmine/log/production.log
再度、httpd を再起動して、エラーメッセージが出ないことを確認します。
ところで、もう少し問題があります。管理者でログインして、管理-設定をクリックすると「Internal error」が発生するという問題です。
これに対処するために、次のようにパーミッションを変更します。
[root ~]# chmod 777 /var/lib/redmine/tmp/cache
同様に、filesディレクトリについてもパーミッションを変更しておきます。
[root ~]# chmod 777 /var/lib/redmine/files
これですべてが正常に表示されました。