TECHNOSMSの全アップ手順 ●GENERAL端末での作業 リリース用資材をzipにし、サーバにファイル転送する 1. ログイン リモート接続で、PC名が"general"の端末に接続する ※EasyPHPは閉じずに、最小化すること ユーザ名  : metehan パスワード : KNRaE7zk46 ※以前はdevelopmentユーザだったが、監視ツールの自動ログインで遅くなる 2. 最新資材の取得 「schoolmng」フォルダで右クリックし、「SVN Update」を行う C:\Program Files\EasyPHP1-8\www\schoolmng 3. 削除ファイルの削除 PHPファイルはコンパイルしたものを使用しており、差分(前回より更新日時が古いもの)がコンパイルされる 差分ということで削除ファイルが検知できないため、「SVN Update」の履歴から削除されたファイルをコンパイル資材から手動で削除する C:\Program Files\EasyPHP1-8\www\phpencoded\technosms 4. PHPファイルのコンパイル "ionCube PHP Encoder"でPHPファイルをコンパイルする 4.1."ionCube PHP Encoder"の起動 スタートボタンから"ionCube Encoder GUI"を選択する Fileを選択し、履歴から"technosms.iep"を選択する C:\Program Files\ionCube PHP Encoder 6.5\Examples\MyProject\technosms.iep 4.2.コンパイルの実施 緑の右向きの△ボタンを押下する "errors"にコンパイルエラーが出力されないことを確認する コンパイルエラーがあった場合は、エラーの対応をして4.2.を再実施する 4'.新規スクールのキャッシュフォルダの作成 ***廃止*** 参考までに過去の手順を記載 新規スクールの場合にキャッシュフォルダを作成する "sample_for_upload"フォルダを対象スクール名に変更する 他のスクールのフォルダを削除する C:\Program Files\EasyPHP1-8\www\phpencoded\technosms\SCHOOL_CACHE_PERM C:\Program Files\EasyPHP1-8\www\phpencoded\technosms\SCHOOL_CACHE_TEMP 5. zipファイルの作成 5.1.前回のzipファイルの削除 前回作成したtechnosms.zipを削除する C:\Program Files\EasyPHP1-8\www\phpencoded\technosms.zip 5.2.今回のzipファイルの作成 全てのファイルを選択し、右クリックから"add archive"を選択する C:\Program Files\EasyPHP1-8\www\phpencoded\technosms\全てのファイル WinRARの画面でパスと圧縮形式(zip)を選択する パスは、参照ボタンから1階層上にあがりOKを押下する C:\Program Files\EasyPHP1-8\www\phpencoded\technosms.zip 6. technosms.zipのアップロード デスクトップのWinSCPショートカットから対象サーバに接続し、対象スクールのディレクトリ直下にzipファイルをアップロードする 前回のファイルがあるので、上書きコピーする /home/sites/****.e-school.jp/ 例)/home/sites/acc.e-school.jp/ 6'.ログオフ GENERAL端末のスタートボタンからログオフする リモートデスクトップで×から画面を閉じるとログイン状態が残るのでログオフすること ●サーバでの作業 用途に応じた項番7.の記述を参照すること 【本番サイト】 7. 本番サイト用全アップ手順 7.1.ログイン SSH接続できるツールで対象サーバにログインする "admin"でログインした場合は、環境に応じて"development"ユーザに切り替える 例)210.129.190.234 adminでログイン後に、下記コマンドで"development"ユーザに切り替える su development 例)210.129.190.234以外 developmentでログイン 7.2.事故防止の確認表示 事故を防止するため、確認がでるよう下記コマンドを実施する alias rm='rm -v' ; alias mv='mv -i' ; alias ll='ls -l' ; 7.3.対象スクールのディレクトリに移動 cd /home/sites/*** 例)cd /home/site/acc 7.4.前回バックアップの削除 rm -rf htdocsOLD; 7.5.反映用資材の準備 アップロードしたzipの解凍や、ディレクトリの権限設定などスクリプトで実施する 例)scripts/sms_install *** ※***はスクール名に置き換える 234 ../scripts/sms_install *** 236 ../scripts/sms_install *** 伊藤塾(146) script/sms_install itojuku ACC(142) script/sms_installtest acc 7.6.解凍資材のキャッシュフォルダ削除 ※既存環境のみ 新規環境の場合は実施しないこと 既存環境の場合は現行キャッシュを有効にするため、既存キャッシュを削除する rm -rf htdocsNEW/SCHOOL_CACHE_* 7.7.DB変更 資材反映後に実施すると、DB変更完了まで動作不良を起こす可能性があるため、基本的には資材反映前に実施すること 7.7.1."db_updates.sql"の適用 "bugreport"の"Upload info"から前回の全アップ日時を確認する 前回の全アップ日時以降の変更を"phpmyadmin"から適用する 全スクール共通(パッケージの標準仕様変更) KAIHATSU/GENEL/UPDATE_DB.sql 対象スクール KAIHATSU/[school_name]/db_updates/db_updates.sql ※[school_name]は対象スクールに置き換える 7.7.2.DB管理ツールの適用 資材のvardefsの修正を適用する ※適用にはvardefsの個別アップが必要 index.php?module=Administration&action=MG_TblRepair_AN&manage_type=echo_all ※実施時は、"repair_all"に変更する 新規モジュールがある場合は以下のパスを実行する index.php?module=ACL&action=install_actions 新規Audit(履歴)テーブルがある場合は以下のパスを実行する index.php?module=Administration&action=RebuildAudit 7.8.資材の反映 処理概要 a.既存資材はOLDに変更 b.NEWをhtdocsに変更 c.OLDのキャッシュ(現行)をhtdocsに移動 d.OLDのヘルプをhtdocsに移動 e.OLD配下にあるtest環境をhtdocsに移動 mv htdocs htdocsOLD; mv htdocsNEW htdocs; mv htdocsOLD/SCHOOL_CACHE_* htdocs/; mv htdocsOLD/include/help htdocs/include/ ; mv htdocsOLD/test* htdocs/ ; ※import環境がある場合 (For 146 itojuku) mv htdocsOLD/import* htdocs/ ; mv htdocsOLD/training* htdocs/ ; ※新規スクールの場合 処理概要のb.に該当するコマンドのみ実施 また、ヘルプを配置する mv htdocsNEW htdocs; tar xvzf /home/sites/help.tar.gz 【テストサイト】※伊藤塾以外 7. テストサイト用全アップ手順 7.1.ログイン SSH接続できるツールで対象サーバにログインする "admin"でログインした場合は、環境に応じて"development"ユーザに切り替える 例)210.129.190.234 adminでログイン後に、下記コマンドで"development"ユーザに切り替える su development 例)210.129.190.234以外 developmentでログイン 7.2.事故防止の確認表示 事故を防止するため、確認がでるよう下記コマンドを実施する alias rm='rm -v' ; alias mv='mv -i' ; alias ll='ls -l' ; 7.3.対象スクールのディレクトリに移動 cd /home/sites/*** 例)cd /home/site/acc 7.4.前回バックアップの削除 rm -rf htdocs/testOLD; 7.5.反映用資材の準備 アップロードしたzipの解凍や、ディレクトリの権限設定などスクリプトで実施する 例)scripts/sms_install *** ※***はスクール名に置き換える 234 ../scripts/sms_installtest *** 236 ../scripts/sms_installtest *** 伊藤塾(146) script/sms_installtest itojuku ACC(142) script/sms_installtest acc 7.6.解凍資材のキャッシュフォルダ削除 ※既存環境のみ 新規環境の場合は実施しないこと 既存環境の場合は現行キャッシュを有効にするため、既存キャッシュを削除する rm -rf test/SCHOOL_CACHE_* 7.7.DB変更 資材反映後に実施すると、DB変更完了まで動作不良を起こす可能性があるため、基本的には資材反映前に実施すること 7.7.1."db_updates.sql"の適用 "bugreport"の"Upload info"から前回の全アップ日時を確認する 前回の全アップ日時以降の変更を"phpmyadmin"から適用する 全スクール共通(パッケージの標準仕様変更) KAIHATSU/GENEL/UPDATE_DB.sql 対象スクール KAIHATSU/[school_name]/db_updates/db_updates.sql ※[school_name]は対象スクールに置き換える 7.7.2.DB管理ツールの適用 資材のvardefsの修正を適用する ※適用にはvardefsの個別アップが必要 index.php?module=Administration&action=MG_TblRepair_AN&manage_type=echo_all ※実施時は、"repair_all"に変更する 新規モジュールがある場合は以下のパスを実行する index.php?module=ACL&action=install_actions 新規Audit(履歴)テーブルがある場合は以下のパスを実行する index.php?module=Administration&action=RebuildAudit 7.8.資材の反映 処理概要 a.既存資材はOLDに変更 b.NEWをhtdocsに変更 c.OLDのキャッシュ(現行)をhtdocsに移動 d.OLDのヘルプをhtdocsに移動 e.OLD配下にあるtest環境をhtdocsに移動 反映対象がtestの場合 mv htdocs/test htdocs/testOLD; mv test htdocs/ ; mv htdocs/testOLD/SCHOOL_CACHE_* htdocs/test/ ; 反映対象がimportの場合 mv htdocs/import htdocs/importOLD; mv import htdocs/import ; mv htdocs/importOLD/SCHOOL_CACHE_* htdocs/import/ ; 【テストサイト】※伊藤塾専用 7. テストサイト(伊藤塾)用全アップ手順 8_itojukuo the following actions on the system window (using ssh connection window) 8.1 login into the server using for example PuTTY (e.g. 203.183.110.157) with user admin su development (use site's development padssword) 8.2 run necessary aliases to prevent mute overwriting alias rm='rm -v' ; alias mv='mv -i' ; alias ll='ls -l' ; 8.3 Move to school folder and remove the old backup cd /home/sites/itojuku.e-school.jp/ rm -rf htdocs/test2OLD; rm -rf htdocs/testOLD; rm -rf htdocs/trainingOLD; rm -rf htdocs/importOLD; rm -rf htdocs/import1OLD; 8.4 Run script below and unzip technosms. create test. script/sms_installtest itojuku cp -rp test2 test cp -rp test2 training cp -rp test2 import cp -rp test2 import1 8.5 Delete cache in new folder rm -rf test2/SCHOOL_CACHE_* rm -rf test/SCHOOL_CACHE_* rm -rf training/SCHOOL_CACHE_* rm -rf import/SCHOOL_CACHE_* rm -rf import1/SCHOOL_CACHE_* 8.6 Apply the DB updates for the school using PHPMyadmin; check general and school specific file below To find out last DB update: check bugreport with school name and find "Upload info". If there are any update SQL in below files after DB update in bugreport, execute them using PHPMyadmin. KAIHATSU/GENEL/UPDATE_DB.sql KAIHATSU/[school_name]/db_updates/db_updates.sql 8.7 For update schools, change current test site as testOLD, newly created folder as new test folder, moves cache files from the OLD folder into the new one mv htdocs/test2 htdocs/test2OLD; mv test2 htdocs/ ; mv htdocs/test2OLD/SCHOOL_CACHE_* htdocs/test2/ ; mv htdocs/test htdocs/testOLD; mv test htdocs/ ; mv htdocs/testOLD/SCHOOL_CACHE_* htdocs/test/ ; mv htdocs/training htdocs/trainingOLD; mv training htdocs/ ; mv htdocs/trainingOLD/SCHOOL_CACHE_* htdocs/training/ ; mv htdocs/import htdocs/importOLD; mv import htdocs/ ; mv htdocs/importOLD/SCHOOL_CACHE_* htdocs/import/ ; mv htdocs/import1 htdocs/import1OLD; mv import1 htdocs/ ; mv htdocs/import1OLD/SCHOOL_CACHE_* htdocs/import1/ ; 8. 全アップ後の確認 簡単な検証を行うこと 例えば、受講生一覧やヘルプ画面、画像アップロード、今回の修正内容など 9. 全アップの履歴 bugreportに全アップの履歴を残す 対象スクールの"upload info"に、日付と環境の履歴を記載する 新規スクールの場合は"upload info"がないので作成する