2018年7月17日(火) 14:16 JST

Xrea+で引越し

Geeklog

MySQLが壊れた放置サイト、もう少し続けようと思うがXrea+の期限が5月始めで切れる(s341)のでまだ生きているXrea+(s323)に引越し。s341はなんか遅くて不満だし。1.5.1にはアップグレード済みだったので、これを更に1.5.3sr3にアップグレードと引越しを同時に行う。

DBmanでバックアップを採ってファイルをデスクトップに保存。Xreaのサーバー間コピーを使ってファイルをすべて移動したが、ここで問題が・・。
phpmyadminのbasic認証が出来なくなっている。思いつくパスワード入れまくったけど全部ダメ。ここまで約3時間。
FileZillaで.htaccessと.passwdを見てみたら、ファイルの位置指定とパスワードがs341のものになっている。
ちゃんとディレクトリ指定したつもりだが、コピーされちゃったみたいだ。.passwdの暗号化の仕組みを調べるのに1時間。
でもxreaがどんな暗号化しているのか分からずサポートに連絡取ったら「個々のプログラムのことはサポート対象外」と言われ「あほか!Xreaでは暗号化をどうやっているのか訊いている!」とクレーム。ここで2時間。返事を待ちながらXreaのコントロールパネルを見ていたら、使ったことのない「ツール」という項目があった。あ!ここにbasic認証のCGIがあるじゃん!これ使えばいいんだ。で、やってみたら成功。Xreaサポートには自己解決の連絡。

s321でDB新しく作ってDBmanで作ったファイルを開いてサイトの絶対パスを変更、phpmyadminでインポート。ん?エラーだ・・・。3回トライしたが同じエラー。s341のphpmyadminで再度バックアップとってファイルは今度は圧縮しない。絶対パスを変更。phpmyadminでインポート無事終了。ここでテーマをカメレオンから戻していないことを思い出し、ちょっと不安になる。あ、あとプラグイン関係も戻すの忘れてた・・・。

wkyGeeklogInstallerで最新ファイルをインストール。ブラウザのインストーラが立ち上がるがエラー。gl_eventsubmissionがないらしい。phpmyadminで見ると確かにない。名前からするとcalendar関係のtableみたいだな。でもgl_eventsubmissionjpというのがあるぞ。これは、calendarとcalendarjpに対応したそれぞれのtableくさいな。でもカメレオンでは使わなかったんだっけ?俺がcalendarjpを入れていないかったのか?よく分からないけど、たぶんtableコピーすればOKでしょ。再度admin/install/を呼び出すとgl_eventsがない、でもgl_eventsjpがある、じゃあコピー。次はgl_personal_eventsjpで以下同文。

もう一度、admin/install/。今度は/layout/chameleonはディレクトリじゃない!と怒られました。あー、テーマを戻すの忘れてたから・・。myphpadminでdatabaseの中を「chamelleon」で検索。3つのtableが出てきた。一つはuser:chamelleon, password:chamelleonとかの中身になっていてchamelleonプラグイン関係のtableじゃないか?これは手をつけないことにする。もう一つは、登録ユーザー名に対応してtheme:chamelleonってあるからこれも関係なさそう。残る一つはvalue:chemelleonに加えてdefault value:professionalってあっていかにもなのでdefault valueに戻す。そんで再度、admin/install/。アップグレード。

無事に完了しました。ふー。

 

5月11日追記

Ivyさんにアドバイスをいただきました。
  1. gl_eventsubmissionほかはcalendarのデータベースtableで、calendarjpのために私がcalendarを削除したのが原因。削除でなく無効にするのが正しい。ただ、このエラーは怖がる必要はなく、更新ファイルで新たにcalendarのファイルがインストールされているので、上記のようにtableを1個づつ作ればよい。ただ、calendarを削除していると言う状況自体が特殊なので普通は起こらないエラーです。
  2. テーマをprofessionalに戻し忘れたときの処置として、私がやったようなdatabaseをいじる方法は敷居が高く、もっとカンタンにやる方法がありました。/chameleon/という名前のディレクトリを作ってprofessionalかprofessionalCSSの中味を全部copyすればよい!なんか目から鱗!
  3. サーバー側プログラムが作成したファイルに対して,wkyInstallerは,パーミッション変更を実行しても受け入れられなかった,アップロードしてもはねられた,という問題かもしれない。Xreaのサーバー間コピーはgeeklogでは使わないほうがいいのかもしれません。本来、Geeklogのupgradeでコピーすべきファイルはすくないので新規インストール後に必要なファイルをFTPでコピーするほうが確実かもですね。コピーすべきは、images/の一部、layout/の一部、filemgmt/file/、あとlib-common.phpとlib-custom.php関係かな?