ワードプレス例

■そもそもなぜにマルチサイトからシングルサイトへ?

インストールが2011年ごろと年数だけはながらく運用していたWordPressですが、導入直後はたしかシングルサイトでその後の実験用にとマルチサイトへと変更した経緯があります。

またさらにその後数年たってから稼働中のサーバー入れ替えでなにかと設定がごちゃついた感じなまま、ダッシュボードを見てもサイト一覧に全てが表示されないなどの不具合を抱えたまま何年もだましだまし運用を続けておりました。

 

しかし、やはり設定が怪しいところが多く動作がどうしても重たいまま改善できないという問題が浮上し、さらにはプラグインの類も正常に動作していないものが出てくるなど付け焼き刃程度の対策では限界を感じるようになってきました。

そのため、今回思い切ってWordPress最新版の再インストールにあわせPHPのバージョンアップや周辺の設定も見直すことにし、ついでにマルチサイトからシングルサイトへと設定を変更することにしましたのでその際の手順をメモしておきます。

■手順の概略

  1. 旧サイト(マルチサイト)のデータベースをバックアップ
  2. 新サイト(シングルサイト)へバックアップを復元
  3. 新サイトのデータベースから不要なテーブルを削除
  4. 新サイトのデータベース内容を修正
  5. 新サイトのデータベースをバックアップ
  6. バックアップした新サイトのテーブル名をテキストエディタで編集
  7. 編集済みのバックアップを新サイトに再び復元
  8. 旧サイトのアップロードファイルを新サイトへコピー
  9. 新サイトの管理ページにログインできたらひとまず作業完了
  10. この一連の作業を残すサイトの数だけ繰り返す。

というステップで進めていきたいと思います。

 

まずは現状確認ということでマルチサイトの中身を調べてみると、

メインで稼働しているブログが1つ、

サブで稼働しあまり更新されていないブログが1つ、

さらに実験用としてまったく更新されていないブログが2つの合計4サイトが存在している扱いになっていました。

■残すサイトを選別

まず、実験用として作られていた2つのサイトは不要として、

残す必要のあるサイトとしてはメインサイトが1つと、サブサイトが1つの合計2サイト。

これらをそれぞれシングルサイトとして稼働させるという方針でシングル化作業に着手します。

 

シングルサイトであれば考え方は単純で、

WordPress本体を別々のフォルダ

  • /www/wordpress1/
  • /www/wordpress2/

という具合にサーバー内でフォルダをわけてそれぞれインストールします。

(シングルサイトのインストール手順はネット上にたくさんあるので割愛します)

 

その際に気を付けないといけないのは、あらかじめDatabaseも別々に作っておくことを忘れないこと。

もし忘れて同じデータベースを参照してしまったらまた最初からやり直しなんてことになります。

それぞれのサイト用に個別のデータベースを作成して、シングルサイトのインストールに必要な定義ファイル(wp-config.php)の記述内容を修正してからセットアップを実行するという手順はぜったいに間違えてはいけません。

■旧サイト記事データのバックアップ

メインサイトはもう8年以上稼働しているのでそれなりに記事の件数がたまっていました。

せっかく記事を上げてもらったスタッフさんたちのためにもちゃんと継承しなければ失礼にあたるので、記事を保管しているデータベースをまるごとバックアップします。

 

管理用にWebminを使っていてデータベースにMySQLを使っていた場合、MySQLデータベースサーバーの項目から対象のマルチサイトのデータベースを開いてバックアップボタンを押し、規定値のままブラウザでダウンロードすればSQL文の形でまるごとテキストファイルとしてダウンロードすることができます。

これさえ取得してしまえばバックアップ作業の半分は完了。

(どのデータベースをバックアップして良いかわからないときには、稼働中のwordpressのwp-config.phpファイルにどう記述してあるか覗いてみるとすぐに解決しますね)

 

バックアップ作業の残り半分はアップロードされている画像など各種ファイルをどうするかという話になってくるのですが、ひとまず旧フォルダはまるごと残しておくこととして作業を先に進めてしまいましょう。

■新データベースにバックアップした旧データを復元

すでに新しいフォルダと新しいデータベースを作り、それぞれにWordPressのインストールが済んでいるものとします。

前段まででバックアップしたデータベースの内容をひとまず丸ごと新しいデータベースに流し込むため、WebminからMySQLデータベースサーバーを開き、新しく使用するデータベースを開いて「SQLを実行」ボタンを押します。

するとどのSQLを実行するか問うてくるので「Run SQL from file」タブに切り替え「アップロードしたファイルから」の側にチェックをいれてバックアップしたSQLファイルを選択したうえで「実行」ボタンを押します。

 

この実行ボタンを押した時点で選択しているデータベースの内容がすべて上書きされるため、旧マルチサイト時のユーザー名やパスワードで新サイトにログインすることができるようになります。でもまだ設定が不完全なのでログインしても正常に表示できないものと思います。

■新データベースから不要なテーブルを削除

さてここからが肝で、なおかつ無料で手間を掛けて環境移行するための苦労のしどころです。

復元させたデータベースにはマルチサイトの情報がすべて混在しているため不要なサイト情報などを適切に削除してあげる必要があります。

 

そのためにまず知っておかないといけない事としては、マルチサイトで運営している場合にはサイトそれぞれに番号が割り当てられて管理されているという点です。

たとえばうちのマルチサイトの場合、

  • サブは 1
  • メインは 2
  • 実験Aは 3
  • 実験Bは 4

なんて具合で、データベースのテーブル名を show tables;などで見てみると接頭子が wp_2_xxxxx といった具合に関連するテーブル名には接頭子wp_のあとに番号が割り振られています。

 

なので、まず不要なテーブルをすべて削除してしまいます。

手順としてはコマンド入力ができる状態であれば、

  • $ mysql -u(user name) -p
  • mysql> use database wordpress2;(←シングルサイトにするためのデータベース名)
  • mysql> show tables;
  • mysql> drop table wp_3_xxxxxxx; (←show tablesで表示されたテーブル名をそれぞれ記述)

と、接頭子にwp_3_やwp_4_など残すサイトの番号以外がついているものをすべて削除すればOK(drop時にワイルドカードは使えないので1つ1つ手作業が基本です)

本来シングルサイトではあれば接頭子に番号はつかないもの(初期値では"wp_")のみとなるので最終的にデータベース内のテーブル名をその状態まで揃えてあげるのがこの作業の最終目的です。

■新サイトのデータベースをバックアップ

不要なテーブルがすべて削除できたらふたたびwebminなどから新データベースをバックアップします。

前述の手順と同じになるのですがファイル名が被ってしまわないようにあらかじめバックアップ済みのSQLファイルのファイル名は変更しておきましょう。

■バックアップした新サイトのテーブル名をテキストエディタで編集

バックアップができたら次は適当なテキストエディタを利用して「wp_2_ 」などと記載されている部分をすべて 「 wp_ 」 に置換することになります。もともとマルチサイト時に導入されていたプラグインの数によって置換する対象テーブルが多くなっている場合もあります。

 

シングル化して残すサイトのデータがすべてwp_〜〜〜〜というテーブル名になっていればOKなので、たとえば1番目のサイトだったりすればこの作業自体が省略できるかもしれませんし、

あるいはwp-config.phpファイルの側で$table_prefixの項目を修正し接頭子そのものを対象サイトの番号込みに書き換えてしまえば不要なテープルを削除したあとバックアップしたり置換したりといった作業も省略できるかもしれません。

■編集済みのバックアップを新サイトに再び復元

すべて置換が済んだら、この置換したバックアップファイルをwebminなどで再び新サイトで利用するデータベースに上書きで取り込んであげればテーブル名の変更作業も完了です。

 

前述したように接頭子そのものを修正して対応する場合には新データベースのバックアップから復元までの作業すら省略することもできるかもしれません。(ちょっとスッキリしない方法と個人的には思いますが)

■新サイトのデータベース内容を修正

残りは、wp_optionsテーブルの操作で2箇所修正が必要になります。

コンソールから直接MySQLにログインして修正するもよし、Webminやphpadminなどのツールを使ってもなんでも良いのでとにかくテーブルの中身を修正できればOKです。

修正する2箇所は、

  • SITEURL = https://(domain名)/(wordpress2など)/
  • HOME = https://(domain名/)(wordpress2など)/

と記録されているので、この2つのレコード値を実際に使用するサイト名に修正すれば新サイトのデータベースについて修正作業完了です。

ここまでくれば、新たに準備した新シングルサイトへにアクセスしてもある程度は表示できるようになっていることでしょう。

ただ、まだ画像データなどデータベース以外の部分に保管されていたものが表示できませんので、さらに作業を進めることになります。(なのでまだ新サイトにアクセスしたりログインするのは我慢しておきましょう)

■旧サイトのアップロードファイルを新サイトへコピー

つぎは主にサーバー内のファイルを直接触ることになりますのでSSHなどでサーバーにログインしておきましょう。

シングルサイトとしてインストールされたWordPressのアップロードファイル保管場所は

  • "wp-content/uploads/"
  • "wp-content/blogs.dir/files/"
  • "wp-content/sites/"

なんてパターンがあるようです。

ちなみにウチのサイトの場合、古い設定を継承しているせいか、あるいはシングルからマルチサイトへと移行したことがあるせいか、ファイルの置き場所が

  • サブサイト:"wp-content/uploads/"
  • メインサイト:"wp-content/blogs.dir/2/files/"
  • 実験用A:"wp-content/blogs.dir/3/"
  • 実験用B:"wp-content/blogs.dir/4/"

なんて具合に混在している様子でした。

これらも、目的のサイトのファイルが格納されているフォルダを見つけたら、その中身(西暦年ごとにフォルダ化されていると思います)をまるごと新サイトの "wp-content/uploads/" へとコピーして(mv -r source.dir destination.dirよりも cp -r source.dir destination.dirとしたほうがより安全かもしれませんね)しまうのが楽だと思います。

■新サイトの管理ページにログインできたらひとまず作業完了

データベースの修正と、アップロードファイルのコピーが済んだらいよいよ新しくインストールした側のWordPressにブラウザからログインしましょう。

  • https://(domain)/(新wordpressフォルダ)/wp-admin

で、旧マルチサイトのユーザー名とパスワードでログインできたら、あとは不足しているテーマの再インストールやプラグインの再インストールなど細かな調整に移ることができます。

 

ここまでくれば、

あとは新しいシングルサイトとして新たな一歩を踏み出せるようになっているのでひとまず安心ですね。

ここまでの一連の作業を新しく作るシングルサイトのぶんだけ繰り返すことになります。

長い道のりでしたがたいへんお疲れ様でした。

 

--

消えちゃった動画や写真データの復元は 

『株式会社パソコントラブル救助隊』が安心安全。 

https://hqsecure.net/

 

 

■非常にどうでもよいような個人的な事情によりドコモへMNPした。

本当に些細な個人的な事情でドコモへMNPした。

15年以上ほど使ったソフバン(契約当時はJ-PHONEだった)からの引き留めはさすがに今回は何もなかった。そして、ドコモへ移ったのでdカードを新たに契約し個人名義の通信関係の支払いに充てることとした。

 

さて、そんな個人的な事情とは関係なくまもなく9月1日から実施されるマイナポイント、実施直前になってきたからかテレビCMも頻繁に見かけるようになってきましたね。

個人的な事情がなにも変わらなければソフトバンク携帯よりもさらに長く使っているイオンカードを紐づけるつもりだったけれど、dカードを所持することとなったためどちらがより自分にメリットがあるのか少し下調べをすることにしました。

 

■マイナポイントをどの決済手段に紐づけるか

ご存知の通りマイナポイントは各個人のマイナンバーカードと各個人の利用する決済手段(クレジットカード決済やバーコード決済)との紐付けが1回限り。

決済事業者側としては紐付け登録してもらうためにマイナポイント事業とは別に独自の上乗せポイントを付与するところもあるようです。

 

この独自の上乗せが「イオンカード」の場合には+2000ポイント、「dカード」の場合には+500ポイント、「d払い」の場合には+2500ポイントと各社様々。

「d払い」はスマホによるバーコード決済で、実際にはd払いアプリで決済した金額がdカードで支払われるようにあらかじめ登録しておく必要もあるようです。(d払い自体は携帯電話料金合算や他社のクレジットカード決済という設定もできます)

というわけで、我が家では家族カードもd払いで事前登録し、上乗せ分までありがたく頂戴することにしようとプチ家族会議を開いて決定したのでした。

 

■未成年の子供がたくさんいると?

そもそも、マイナポイントは1人1人に上限5000円分が発給されるので、たとえば家族4人いれば全部で20000円分のポイントを受け取ることができる・・・はず。

でも実際にはたとえば未成年の子供がクレジットカードやコード決済手段を紐づけることができるのか?というと難しい現実がある。じゃあどうするのと言うと、15歳未満の場合には法定代理人(つまり親か)が代わりに受け取ることはできるらしい。

ただし、マイキーID(マイナポイントを受け取るためのID)はマイナンバー側に紐づくので子供1人1人にそれぞれ1つ付与され、1つの決済事業者に複数のマイキーIDを紐付けられない構造なので、親名義の決済サービスでも大丈夫とはいえ子供の数だけ決済サービスを別々に紐付けないといけないというのはなかなか難儀だとは思う。

 

また、クレジットカードを紐付けた場合には当然ながら本人カード使用分は本人口座から引き落とされポイントが付与されるが、家族カード使用分は別カウントとして除外される。そのため例えば家族カードで2万円の買い物をしても本人にはポイントは付かないということになる。引き落とされるのは本人の口座からなのにね。

 

■我が家ではd払いをメインに登録するものの

dポイントで還元を受ける場合には家族共有のグループ化を設定できるので使い勝手がよいということもあり、我が家ではd払いをメインに登録しておこうと決めたものの実のところまだモヤモヤとした疑問が残っていた。

というのも、dカードを契約したときに新規入会キャンペーンがありそこそこ大きなポイントバックがあるとのこと。ただしその入会特典ポイントをもらうための条件がなんだかややこしい。

 

なんでも、入会翌月末までに最大5000p、翌々月末までに最大5000p、さらに次の月末までに最大5000pの付与があり、それぞれの還元率は決済金額に対して25%とか。つまりマイナポイントと同等の還元率になるが詳細がぼやーっとしている。

 

なので後日あれやこれやとドコモに別件で問い合わせる機会があったのでついでに確認させてもらったところ、まずdカードで支払う携帯電話料金分についてはマイナポイントも入会特典分も付与対象外となるとのことでした。

携帯電話料金(うちの場合にはドコモ光の料金も含め)以外のクレジット決済分についてはマイナポイントと入会特典双方のポイント付与対象になるとのこと。

(つまり、9月1日以降にdカードを使って2万円分の買い物をした分については最大5000pのマイナポイントと最大5000pの入会特典の両方が付与されるので合算すると還元率が25%から50%になるという理解で良いようです)

 

■d払いと入会特典も併せてポイント還元率が50%超え?!

そしてさらに、気になるバナー広告をたっぷりと見かけるので深追いして確認してみたところ、d払いアプリで支払い方法を「クレジットカード払い・dカード」と設定して使用するという前提だと、

 

(1)マイナポイントの決済手段を「d払い・買い物時」に設定した場合にマイナポイントの5000ポイントに上乗せされるのは合計2500ポイントとなる。

 

(2)上乗せ分の付与時期はまず+1500ポイントが登録時に付与され、さらにその後のd払いでの買い物時に最大1000ポイント(還元率5%、つまり2万円の買い物で上限に到達)が付与される。合計で+2500ポイントの上乗せということになる。

 

(3)これの上乗せ分1000ポイントの付与についてもマイナポイント事業の期間内(来年3月末まで)の決済金額に応じることになる。

 

(4)マイナポイント事業で付与される最大5000pは使用期限が付与から48ヶ月だが、上乗せ分2500p分については有効期限が付与から3ヶ月となる。ちなみに 付与されるのは決済の翌々月になると窓口の担当者さんが調べてくれたので信じることにしよう。

 

この(1)〜(4)も併せると、マイナポイント+dカード新規入会特典+d払いのマイナポイント上乗せ特典で、9月に入ってから2万円の買い物をしたとすれば5000p+5000p+2500p=12500pも付与される・・・ほんまかいな?それにさらに家族カード分のマイナポイント還元分と上乗せ分があるわけで、案外ばかにできない額になりますね、もっとも2万円の支出×人数分ってほうがもっと大きいですが。

 

■がっつり貰わないと損。でも・・・

これだけのポイント還元が受けられると知った以上は積極的にd払いとdカードを使っていかないと損なのは間違いない。

だけれど、これってつまり家族分もがっつりと還元上限まで買い物するということは相当な金額の支出になるわけで(^^;

まあ、どっちみち使うのなら還元があるうちのほうが良いか、とは思うのですけれど。

 

--

消えちゃった動画や写真データの復元は 

『株式会社パソコントラブル救助隊』が安心安全。 

https://hqsecure.net/

 

 

おお、paizaさんからクリアファイルとステッカーが届いた。こんなに無料配布してくれるなんて、なんて太っ腹なんだ。

夜な夜な少しずつ受講しているのだけど興味の強い講座も増えていくし、全く縁がなかった言語の入門があるのも助かる。

こりゃ、まだまだ受講してない講座も頑張って受けていかないとな^_^


プログラミング学習サービスのpaizaラーニングって知ってますか?

オンラインで初心者でも手軽に始めることができるプログラミング学習サービスで、PCとネット環境さえあればとってもめんどうな環境構築をすっとばして思い立ったときにすぐに学習し始めることができるのがとても魅力です。

 

昨年あたりから無料のスキルチェックに挑戦しては一歩一歩習得しているという感じでBランクくらいまではとんとん拍子に進んでいたのですが、やはりそれ以上のランクに進もうとするとちゃんと学習したほうが(独習よりも)手っ取り早いだろうと有料サービスで学んでみることにしました。

 

制限なくどの講座も受講できるようになったと思うとむしろ基本中の基本から学びたくて、独習で通過しているような部分もとにかく最初から受講してみると、案外発見があったりしてやっぱり教えてもらえるのって良いなあ〜と痛感しはじめたところです。

 

というわけで今のところ、

  • Python×AI・機械学習入門編
  • 情報処理入門 アセンブラ言語編
  • C言語入門編
  • Python3入門編
  • Webセキュリティ入門編
  • スキルチェック入門編

は完走したと思うのですが(無料で受講していたものも含む)まだまだPHPやRubyも知っておきたいし、でもちょっとターゲットを絞っておかないと順次コンテンツも追加されて行くらしいので追いついていくのが大変かも。

 

基礎からしっかり勉強しなおして、なんとか年内にはスキルチェックのランキング上げにかかりたいなあ。

 

職場のWindows10マシンのデスクサイドにはBrotherのちょっと古めの複合機 MFC-J4910CDWが置かれています。

その気になればA3カラー印刷も可能なのに普段はコンパクトなA4サイズ複合機として邪魔にならないように大人しく収まっているその健気さが気に入って、つい先日もメーカー最後の有償修理に出してまだまだがんばってもらう計画でいます。

 

ある時、書類をPDFで控えておこうとブラザーのControlCenter4からスキャナーを使おうとするとエラーが出てしまいスキャンできないというトラブルが発生しました。昨日までは問題なく使えていたのにある日突然!なんの環境変化もないというのに。

ためしに複合機の本体ボタンで操作しても、やはりCC4とリンクし始めた段階でエラーが出てしまう。

 

PC画面上に表示されるエラーコードをみてみると

 

「CC4-202-00000008」

 

メッセージ内容としては

 

「MFC-J4910CDW LANが見つかりません。インターフェースケーブルが正しく接続されていることとLANの電源が入っていることを確認してください。他のアプリケーションでスキャナーを使用している場合は、使用を中止するか動作終了後に操作をやり直してください。」

 

コピペできなかったので多少細かいところが違うかもしれないがだいたいこんなメッセージだったと思う。

機種名の部分は各自使用している複合機やスキャナの機種名+接続インターフェイス名になるようだ。

 

さて、急場しのぎで複合機本体にUSBメモリを差し込んでスキャンすればなんとかなるが、永続的にこれではちと面倒くさい。

Windowsでお決まりの再起動をしても回復しない、複合機を再起動してもやはり改善しない。

 

どうやらなんらかのアプリケーションがスキャナを掴んだ状態のままと誤認されている気配を感じる。

だいたいこういう症状だと一時ファイルにゴミファイルが溜まっているか、あるいは変なファイル破損が起こっていることがよくある。

 

というわけで私のWindows10のTempフォルダ(C:¥ユーザー¥"ユーザー名"¥AppData¥Local¥Temp)を覗いてみると、それらしきファイルがいくつかあった。

 

対象のファイルは、

・TWAIN.LOG

・twain001.mtx

・twunk001.mtx

・twunk002.mtx

の4つ。

もちろん、これらのファイルを削除するためには管理者権限が必要になる。

 

さて、この4つのファイルを削除してControlCenter4からスキャンを実行してみると正常に動作するようになった。

そして先ほどのフォルダを見てみると、削除したファイルと同じファイル名のものが4つ自動的に再作成されていたので、削除したこと自体にもなんら問題はなさそう。

 

というわけでググって上位にヒットしてくる「ドライバの再インストール」や「レジストリの操作」「CCCleaner」の利用などといった面倒くさい操作は一切不要なようで助かった。

 

--

消えちゃった動画や写真データの復元は 

『株式会社パソコントラブル救助隊』が安心安全。 

https://hqsecure.net/