こっちの復旧は早かった。対する本丸のトップ進学ゼミの復旧はかなりの前途多難。まぁ無理かもなぁと思っていたのだが、なんとかなるかもしれないところまでは漕ぎつけた。何度も条件を変えてインストールとアンインストールを繰り返してということを2週間近く繰り返した結果である。
十数年前の記憶を呼び起こすのは不可能ということも身をもって味わったし、世のサイトに備忘録なるものが散見される意味も分かった。必要なのだ。将来のあほな自分のために。それから、私の次にメンテナンスをするかもしれない「こっこー塾長」か現在プログラミング教室で基礎から勉強中の「目指せIT部長:なの先生」のためにも。
というわけで、本丸のブログは今日現在で復旧する気配は微塵もないし、あっちに書いてもサイト構築の際には見ることもできないのでこっちに記録することに致しました。
授業の記録も書かないで何をやってるんだ?って感じですが、それどころではないのであります。すいません。授業は手を抜かずにやってますよ。そこはご安心ください。
xoops備忘録 インストール編 です。
xoopsを使ってサイトを構築しアップデートのたびに更新していたが、XOOPS 2.0.16a(2006年8月7日リリース)を最後にアップデートが止まり、後継としてXOOPS Cube Legacyが発表された。
当時、当サイトでは一部のuser情報にアクセスできない現象が発生しており(管理者にアクセスができなかったりした)専門の業者に原因を訪ねるも不明で、さらに後継にアップデートをすることで更なる不具合を招く可能性も指摘されたことで後継アップデートはせずになんと2021年5月まで粘ることに成功。
サーバー側より「いい加減に引っ越しなさい、1年以内に現サーバーは止めます!」と最後通牒が来たのでGWを利用して何とかするかと重い腰を上げることにした。
関係あるところとして、
CentOSが5系から7系へと変更され、文字コードがEUC-JPがUTF-8になるという。
更に重要なのはPHP5.3がPHP7.3に。なんと下位互換がないという恐ろしい情報が。
MySQL 5.0がMySQL 5.7に。こちらもコードの一部を書き換える必要があるとのこと。
おそろしすぎる。絶対無理やん。いや、「無理って言うな!言ったらそこで終わりだぞ」という心の声。やるしかないのだ。そしてダメならまた作り直そう。今度はwordpressでやればいいか。プログラミング教室のホームページをwordpressで作ったばかりだし、なんとかなるかぁ。
恐るべき見切り発車だがどうしようもない。
まずはデータの保全について、当方でも行うが素人故、一兆抹の不安があり業者側によるデータ移行も依頼。
こちらでも全てのデータをダウンロード。なかでもSNSホームページの肝でもあるデータベース上のデータが重要です。まずはエクセルでも開けるようにXML形式で。4ギガもあった。もちろん開くこともできず。
ぎょえーと思いながらSQLファイルでダウンロードすると1ギガに収まりました。
ちなみにSQLファイルはぶっちゃけるとテキストファイルです。1ギガのテキストファイルって相当ですな。テキストエディタで開いてみたら500万行ありました。
そんなわけで業者さんも移行作業に予定の時間の1.5倍かかってしまったようでお詫びの電話がかかってきました。
移行作業中はホームページをいじらない方がいいだろうと思っておりました。ですから予定の時間に業者さんの作業が終わらず、私の出社時間がやってきました。そんなわけでタイミングが悪く、しばらく真っ白のページに英語でエラーメッセージが表示されるという状態が数日続く事態になってしまいました。
金曜の夕方から日曜の午後までメインPCを触れる機会がないのでありますよ。リモートもできるけどやってらんない。。。非常時にしか使っておらんのです。確認テストを印刷し忘れたー!とかのときですね。そんなときのリモート!ってなんか違う。
さて、まずは引越しをするわけですからこの機会にSSL化しておきましょうということから。
これまではサイトにアクセスすると「保護されていません」と警告が表示されたりしていたかと思います。生徒からも指摘されておりました。
http://www.top-semi.com/ や http://www.studio-puchi.com/ で始まるのが当塾のホームページです。
これを https://www.top-semi.com/ や https://www.studio-puchi.com/ で表示するように、
さらに https://top-semi.com/ や https://studio-puchi.com/ でも表示するように変更設定を行いました。
因みに studio-puchi.com は塾講師&家庭教師業の傍らガラス工房を営んでいたときに取得していたものです。塾用の top-semi.com はあとから取得したのです。どっちも同じページが表示されるようなってます。
いよいよ本丸。xoopsXを導入です。アップデートは前述の理由により怖くて行えません。一から構築して、データだけを移行させるという途方もない挑戦をすることにいたします。失敗してxoopsを断念する蓋然性が高いのであります。
とりあえずインストールから。
legacy-corepack_20180208 をダウンロード。中身のhtmlフォルダ内のファイルをサイトにアップ。この際、文字コードはUTF8にエンコードして送る必要がある。legacy-corepack_20180208 内のファイルは基本的にUTF8で書かれているようなので無変換でもいいようだが、過去のモジュールや当塾の自作モジュールなどはSHIFT-JISで書かれているものがあるため、アップロードの際には常に注意を払いたい。
次に中身のxoops_trust_pathフォルダを丸っとドキュメントルート外にアップロード。一部ファイルの属性を777とか666にしてあげる必要がある。(のちの作業でエラーが出るのでその時で構わない。エラーコードをみればわかる範囲なので安心すべし。)
アップロードが終わったらインストール。インストール中にPHPメッセージがいろいろ出てくるが無視して問題なかった。(無視する以外方法がない)
インストール第1ステップは画面通り以下の必要事項を入力
「データベースサーバ」には「mysql」
「データベースサーバのホスト名」には「localhost」
「データベースユーザ名」と「データベースパスワード」と「データベース名」にはどれも「秘密」。サーバー通知書に従う。
「テーブル接頭語」は何でもOK。デフォルトで問題なし。
「データベースへ持続的接続」は初期設定のまま「いいえ」。
「XOOPS Cubeへのパス」には、ホストコンピュータにおける、XOOPS Cubeまでのフルパスを入力。デフォルトで問題なし。
「XOOPS CubeへのURL」には、ブラウザでXOOPS CubeにアクセスするためのURLを入力。https://top-semi.com/top とした。末尾の/は入れない。
パスの区切り記号には「¥」を使わず「/」を使う。
インストール第2ステップで画面真っ白になる。d3forumのフォルダがxoops_trust_path内のmodules内にないというメッセージだったのでd3forumをダウンロードし、解凍後xoops_trust_path内のmodules内のものだけを所定の場所にFTPで手動アップロードして解決。通常modules本体はアップロードしないこと。また、この処理は本来必要ないものの筈。何度かインストールとアンインストールを繰り返していたのでゴミが残っていたのかもしれない。
インストール第2ステップが完了したら、導入・アップデートの管理より使用するライブラリ – カスタムFTPを選択する。FTPログインIDとログインパスワードは設定すること。
次に互換モジュール プリファレンス・全般設定 – PHPデバックモードをオフにする。(しておかないとかなり煩い。Deprecatedが頻発する。今のところ動作には影響なし)
同時にサイト名や副題も入れておこう。テーマもトップ進学ゼミオリジナルテーマでもあるTDCを選んでおきましょう。そして互換モジュール内のテーマの設定でもTDCを選択しておくのを忘れないこと。
さらに導入・アップデートの管理へ戻ってストア一覧 – モジュールからまずはxupdateをアップデートすべし。その次にprotector・altsysをアップデートする。
以降はストア一覧 – モジュールストアより必要なモジュールを組み込んでいく。
色々やっている最中にトップページに「Protector detects site manipulation」が出て真っ白になることがある。その時はuser.phpは今まで通り表示できるので、こちらで管理者としてログインし、admin.phpで管理画面に入り「Protector」→「一般設定」→「サイト改ざんチェック値」を空にして「送信」すれば解決する。