# Joruri CMS 2020 Release 5 アップグレードマニュアル ## 1.想定環境 Joruri CMS 2020 Release 4最新版をインストール済みとします。 ## 2.事前確認 rootユーザーに変更します。 $ su - Joruri CMS 2020 Release 4の最新版がインストール済みであることを確認します。 # cd /var/www/joruri # git log -1 ## 3.インストール ffmpegをインストールします。 AlmaLinux 9: # dnf -y install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm # dnf -y install ffmpeg # ffprobe -version Oracle Linux 8: # dnf -y install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm # dnf -y install ffmpeg # ffprobe -version ## 4.サービスの停止 delayed_jobがジョブを実行中でないことを確認します。 実行中であれば完了するまで待機します。 # ps aux | grep delayed_job delayed_jobを停止します。 # systemctl stop joruri_delayed_job # systemctl status joruri_delayed_job unicornを停止します。 # systemctl stop joruri_unicorn # systemctl status joruri_unicorn crondを停止します。 # systemctl stop crond # systemctl status crond ## 5.Joruriのアップグレード joruriユーザーに切り替えます。 # su - joruri $ cd /var/www/joruri Gemfile.lockの変更を破棄します。 $ cp Gemfile.lock tmp/Gemfile.lock $ git checkout Gemfile.lock Joruriを更新します。 $ git pull $ git log -1 database.ymlのdefaultにタイムアウトの設定を追加します。 $ vi config/database.yml --- default: &default ... variables: statement_timeout: 60000 --- ※この例では60秒に設定しています。 gemライブラリを更新します。 $ bundle install $ bundle list nodejsモジュールを更新します。 $ yarn install --production $ yarn list $ bin/install/assets.sh データベースを更新します。 $ bundle exec rake db:migrate RAILS_ENV=production アセットをコンパイルします。 $ bundle exec rake assets:precompile RAILS_ENV=production $ ls -l public/_common/assets/ _commonディレクトリをsites/xxxx/public/_commonにコピーします。 $ bundle exec rake joruri:maintenance:common_dir:copy RAILS_ENV=production アップロードファイルのメタデータを抽出します。 $ bundle exec rake joruri:maintenance:files:metadata RAILS_ENV=production ## 6.サービスの設定 rootに切り替えます。 $ su - pumaのサービス起動ファイルをコピーします。 # cp /var/www/joruri/config/samples/puma.service /usr/lib/systemd/system/joruri_puma.service nginx設定ファイルを修正します。 # sed -i "s/joruri_unicorn/joruri_puma/g" /var/www/joruri/config/nginx/nginx.conf # sed -i "s/unicorn.sock/puma.sock/g" /var/www/joruri/config/nginx/nginx.conf # sed -i "s/joruri_unicorn/joruri_puma/g" /var/www/joruri/config/nginx/servers_common.conf ログローテート設定ファイルをコピーします。 # cp /var/www/joruri/config/samples/logrotate /etc/logrotate.d/joruri_logrotate ## 7.サービスの起動 delayed_jobを起動します。 # systemctl start joruri_delayed_job # systemctl status joruri_delayed_job pumaを起動します。 # systemctl start joruri_puma && systemctl enable joruri_puma # systemctl status joruri_puma crondを起動します。 # systemctl start crond # systemctl status crond nginxをリロードします。 # systemctl reload nginx unicornの自動起動を停止します。 # systemctl disable joruri_unicorn