公開日 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
**********************************************************************