JoruriCMS1系からJoruriCMS2系へのバージョンアップ手順

公開日 2018年03月30日

JoruriCMS1系からJoruriCMS2系へのバージョンアップ手順になります。

JoruriCMSのマイナーバージョンについては適応したいバージョンに置き換えて使用してください。

なお、現在ではファイルの提供先が変更になっていたり終了している場合がありますので、その場合は適宜ダウンロード先を探してください。

 

## Joruri CMS 1.x → 2.x アップデートマニュアル

**********************************************************************
 1 想定環境
**********************************************************************

[システム]
OS         : CentOS 5.3
Webサーバ  : Apache 2.2
DBシステム : MySQL 5
Ruby       : 2.1.5
Rails      : 3.2.13

[設定]
IPアドレス : 192.168.0.2
ドメイン   : 192.168.0.2

**********************************************************************
 2 事前準備
**********************************************************************

rootユーザに変更します。

  $ su -

  # cd /usr/local/src/
  # wget https://joruri.org/download/joruri-2.2.0.tar.gz \
      http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz \
      http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz \
      http://sourceforge.net/projects/sox/files/sox/14.4.1/sox-14.4.1.tar.gz \
      http://downloads.sourceforge.net/lame/lame-398-2.tar.gz \
      http://downloads.sourceforge.net/hts-engine/hts_engine_API-1.07.tar.gz \
      http://downloads.sourceforge.net/open-jtalk/open_jtalk-1.06.tar.gz \
      http://downloads.sourceforge.net/open-jtalk/open_jtalk_dic_utf_8-1.06.tar.gz \
      http://mecab.googlecode.com/files/mecab-0.996.tar.gz \
      http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz \
      http://mecab.googlecode.com/files/mecab-ruby-0.996.tar.gz \
      http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/releases/ImageMagick-6.9.0-4.tar.gz

crontabで実行しているjoruriCMSの定期実行をコメントアウトします。

  # su - joruri
  $ crontab -e

**********************************************************************
 3 Joruri更新
**********************************************************************

======================================================================
 3.1 Joruriデータ差し替え
======================================================================

rootユーザに変更し、Joruriを解凍します。
  $ su -
  # tar xvzf joruri-2.2.0.tar.gz

joruriユーザに変更します。
  # su - joruri
  $ cd /var/share/joruri

更新されるデータをbkデータにします。

  $ rm -rf ./bk
  ※バックアップデータが残っていた場合に上記を使用します。

  $ mv app bk_app
  $ mv config bk_config
  $ mv db bk_db
  $ mv doc bk_doc
  $ mv lib bk_lib
  $ mv ext bk_ext
  $ mv public bk_public
  $ mv script bk_script
  $ mv test bk_test
  $ mv vendor bk_vendor

基本ファイルを差し替えます。

  $ cp -arp /usr/local/src/joruri/app ./app
  $ cp -arp /usr/local/src/joruri/config ./config
  $ cp -arp /usr/local/src/joruri/config/original/* ./config/
  $ cp -arp /usr/local/src/joruri/db ./db
  $ cp -arp /usr/local/src/joruri/doc ./doc
  $ cp -arp /usr/local/src/joruri/lib ./lib
  $ cp -arp /usr/local/src/joruri/public ./public
  $ cp -arp /usr/local/src/joruri/script ./script
  $ cp -arp /usr/local/src/joruri/test ./test
  $ cp -arp /usr/local/src/joruri/vendor ./vendor
  $ cp -ap /usr/local/src/joruri/COPYING ./
  $ cp -ap /usr/local/src/joruri/Gemfile ./
  $ cp -ap /usr/local/src/joruri/LICENSE ./
  $ cp -ap /usr/local/src/joruri/README.md ./
  $ cp -ap /usr/local/src/joruri/Rakefile ./
  $ cp -ap /usr/local/src/joruri/config.ru ./

現行データからデータを引き継ぎます。

  $ mv ./public/_common/themes/joruri ./public/_common/themes/bk_joruri
  $ cp -arp ./bk_public/_common/themes/joruri ./public/_common/themes/joruri
  $ cp -arp ./bk_public/404.html ./public/404.html

  $ cd /var/share/joruri/public/_common/js/tiny_mce
  $ cp -arp /var/share/joruri/bk_public/_common/js/tiny_mce/lists ./

  $ cd /var/share/joruri/public/_common/js/tiny_mce/plugins/template
  $ cp -arp /var/share/joruri/bk_public/_common/js/tiny_mce/plugins/template/*.htm ./

configファイルを再設定します。

  $ cd /var/share/joruri/config
  $ cp -arp ../bk_config/rewrite/base.conf ./rewrite/
  $ cp -arp ../bk_config/rewrite/00000001.conf ./rewrite/

======================================================================
 3.2 Joruriの再設定
======================================================================

環境に応じて設定ファイルを編集します。
Production(本番)モードでの動作を想定しています。

  $ vi /var/share/joruri/config/hosts/joruri.conf
  ## IPアドレス、ディレクトリパスを環境に合わせて修正してください。
$ vi /var/share/joruri/config/core.yml
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  title      : 管理画面ウィンドウタイトル
  uri        : 管理画面URL (記述例 http://example.jp/)
  http_proxy : HTTP プロキシー (記述例 http://example.jp:8080/)
  https_proxy: HTTPSプロキシー (記述例 http://example.jp:8080/)
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
$ vi /var/share/joruri/config/database.yml
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  production:
  adapter : mysql2
  database: データベース名(記述例 joruri)
  username: データベース管理ユーザー名(記述例 joruri)
  password: データベース管理パスワード名(記述例 pass)
  timeout : 5000
  encoding: utf8
  reconnect: true
  host: 127.0.0.1
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

その他の設定ファイルも適宜編集してください。
application.yml ... アプリケーション設定
  ldap.yml        ... LDAP設定
  smtp.yml        ... SMTP設定

rootユーザーに切り替えます。
  $ su -

シンボリックリンクを再設定します。

  # rm /etc/httpd/conf.d/production.conf
  # ln -s /var/share/joruri/config/hosts/joruri.conf /etc/httpd/conf.d/

MySQLのJoruriユーザー設定を更新します。

  # mysql -u joruri -ppass joruri
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  > select * from sys_groups where state = 'public';
  > update sys_groups set state = 'enabled' where state = 'public';
  > exit;
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

**********************************************************************
 4 Ruby 環境の再構築
**********************************************************************

======================================================================
 4.1 Rubyのアップデート
======================================================================

Rubyをアップデートします。

  # cd /usr/local/src
  # tar zxvf ruby-2.1.5.tar.gz
  # cd ruby-2.1.5
  # ./configure
  # make

Rubyアップデート前のバージョンを削除します。Rubyバージョンを確認後、削除してください。

  # cat /usr/local/src/ruby-1.9.1-p378/.installed.list | xargs rm -rf

  # make install

Rubyのバージョンを確認し、アップデートされていることを確認します。

  #ruby -v

======================================================================
 4.2 ImageMagickバージョンアップ
======================================================================

※CentOS6環境のImageMagickインストールがRPMで行われていた場合、ソースインストールは飛ばしてください。

  # cd /usr/local/src/
  # tar -zxvf ImageMagick-6.9.0-4.tar.gz
  # cd ImageMagick-6.9.0-4
  # ./configure
  # make
  # make install

  # find /usr/local -name MagickCore.pc
  # export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

======================================================================
 4.3 gemライブラリのインストール
======================================================================

RubyGemsを更新します。
  # gem update --system

Ruby on Railsをインストールします。

  # gem install rails -v 3.2.13

必要なライブラリをインストールします。

  # cd /var/share/joruri
  # bundle install

※以前ImageMagickをソースインストールしており、rmagickインストール失敗する場合は以下のように設定を確認してください。

  # ldconfig -p | grep -i magick

MagickCoreの参照先が以下の場合「-Q16」を削除したリンクを作成し、再度ライブラリをインストールします。
libMagickCore-Q16.so (libc6,x86-64) => /usr/lib/libMagickCore-Q16.so

  # cd /usr/local/lib
  # ln -s libMagickCore-6.Q16.so libMagickCore.so

  # cd /var/share/joruri/
  # bundle install

 

**********************************************************************
 5 Passengerのインストール
**********************************************************************

Phusion Passengerをインストールします。

  # gem install passenger --no-ri --no-rdoc -v 4.0.53
  # passenger-install-apache2-module
  ## 画面の内容を確認して Enterキーを押してください。

  # cp /var/share/joruri/config/samples/passenger.conf /etc/httpd/conf.d/

**********************************************************************
 6 Joruri CMS / DB更新履歴
**********************************************************************

MySQLのJoruriデータベースを更新します。

  # mysql -u root -ppass joruri

※ DB差分修正を元に古いバージョン番号から実施してください。

**********************************************************************
 8 ふりがな・読み上げ設定
**********************************************************************

必要なパッケージをインストールします。

  $ su -

hts_engine API

  # cd /usr/local/src
  # tar xvzf hts_engine_API-1.07.tar.gz && cd ./hts_engine_API-1.07
  # ./configure && make && make install

Open JTalk

  # cd /usr/local/src
  # tar xvzf open_jtalk-1.06.tar.gz && cd open_jtalk-1.06
  # sed -i "s/#define MAXBUFLEN 1024/#define MAXBUFLEN 10240/" bin/open_jtalk.c
  # ./configure --with-charset=UTF-8 && make && make install

Dictionary

  # cd /usr/local/src
  # tar xvzf open_jtalk_dic_utf_8-1.06.tar.gz
  # mkdir /usr/local/share/open_jtalk
  # mv open_jtalk_dic_utf_8-1.06 /usr/local/share/open_jtalk/dic

SoX

  # cd /usr/local/src
  # tar xvzf sox-14.4.1.tar.gz && cd sox-14.4.1
  # ./configure && make && make install

lame

  # cd /usr/local/src
  # tar xvzf lame-398-2.tar.gz && cd lame-398-2
  # ./configure --prefix=/usr && make && make install

MeCab

cd /usr/local/src
tar xvzf mecab-0.996.tar.gz && cd mecab-0.996
./configure --enable-utf8-only && make && make install

MeCab-IPAdic

  # cd /usr/local/src
  # tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz && cd mecab-ipadic-2.7.0-20070801
  # ./configure --with-charset=utf8 && make && make install

MeCab-Ruby

  # cd /usr/local/src
  # tar xvzf mecab-ruby-0.996.tar.gz && cd mecab-ruby-0.996
  # ruby extconf.rb && make && make install


**********************************************************************
 9 定期実行設定
**********************************************************************

  # su - joruri

cron設定を更新します。
$ crontab -e
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin

  10,25,40,55 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake sys:tasks:exec'    # 日時指定処理
  */15 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake cms:nodes:publish'        # ページ書き出し
  */15 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake cms:talks:publish'        # 音声書き出し
  */30 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake cms:feeds:read'           # フィード取り込み
  */10 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake newsletter:requests:read' # メルマガ読者登録
  # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake article:docs:rebuild'     # 記事再構築(ページ)
  # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake faq:docs:rebuild'         # FAQ再構築(ページ)
  # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake enquete:answers:pull'     # アンケート取り込み ※[9.1]
  # 00 * * * * /bin/bash -l -c 'cd /var/share/joruri && RAILS_ENV=production bundle exec rake db:session:sweep'         # DBセッション削除
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

======================================================================
 9.1 アンケートの取り込み
======================================================================

アンケートの取り込みは対象のデータベース設定を追加してください。

  $ cd /var/share/joruri
$ vi config/database.yml
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  production_pull_database:
    adapter : mysql2
    database: joruri
    username: joruri
    password: pass
    timeout : 5000
    encoding: utf8
    reconnect: true
    host: 192.168.0.4
production_pull_database_2:
    # settings
production_pull_database_3:
    # settings
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

**********************************************************************

Topへ