🔥

世界を震撼させる 古いワードプレス を 今のOSに移行する 際に取る手順

2023/03/17に公開

はじめに

まず古いんで、ソース、DBをそのまま持ってきても動かなかったりします。
昔動いた便利なツールも動く保証がありません。これゴールがあるのか、頼まれたエンジニアは震撼するんですよね。

1. まずは新規ワードプレスを設置します。

まず『ワードプレス ダウンロード』でzipをダウンロードします。
そして解凍してサーバにアップします。

昨今はどこのサーバ屋さんも自動化していて、自分でやる方法を教えてくれません(笑)

自分でやる場合は、リードミーに公式が案内を書いてくれてるんで翻訳して読めばわかります!

https://設置したドメイン/設置したパス/readme.html

https://あああ/いいい/wp-admin/setup-config.php

ここでインスコできるよって記載してます。

で、そもそもですがDBは作っておく必要があります。

create database aaaa;

2. インストールに従う

サイトのタイトルとかパスワードやらをいれます。これによりwp-config.phpができると思います。ここでインストールできない場合は、ワードプレスというよりサーバ特有の環境とか、apache,ドメインなどのほかに設定に問題があるはずです。

3. まずはテーマをいれる

テーマは移行なので、SFTPでもひょいっていれて管理画面で表示されるのを確認します。

/ここまでのパス/wp-content/themes
twentytwentyone
twentytwentytwo
twentytwentythree

とかもともとはいっていますよね。

で、この記事の特徴として古いサーバ、古いワードプレスから持ってきたんでエラーになります。
そしたらphpのエラーログをみて対処しまくります。ここは歴史をマージする作業です。
無理なら削り新たに構築するなども視野に入れていきます。

4. 表示されたら画像やらデータやら

まずはデータを入れたいところです。

記事中の素材は

/ここまでのパス/wp-content/uploads

ここらが糞重いけど移行できていれば問題なしです。

プラグインも移動させていたら管理画面に表示され、更新しろとでているでしょう。
それも最新にします。有効化すると崩れるでしょう。それももくもくと消すか、改修します。

データはDBなのでネットではphpmyadminが多いのでHeidiSQLの例を示します。
WPのDBを選択してツール、エクスポート、ドロップ、作成、データは挿入にします。
データを挿入にしたのは、今回古すぎるがゆえに新規でワードプレスを設置したので、消すようなものがほぼない為です。

で、そのままその出力されたファイルを目当てのDBをHeidiSQLで指定していれこみます。
このフローですが、当然mysqlのダンプ、リストアでもいいです。そっちの方が慣れている場合は、HeidiSQLが恐いはずです。私は恐かった。

[ファイル] - [SQLをファイルで実行]を行います。
注意が必要なのはそのままいれてしまうので、DB名を変更できないことです。

で、この方法がなんだかなーって方はワードプレスには管理画面上にエクスポート/インポート機能がありますが、投稿者データとかは持ってこれないので別途手間はあるかと思います。

wp-config.php に define("FS_METHOD", "direct"); を記載してFTP接続OKにします。

mysql -uroot -p 新DB < ダンプしたファイル.sql

いやうちドメイン変わんねんけど

その場合、以前はリプレイスしてくれるプラグイン的なものがあったのですが、とうとう動かなくなってしまいまして、普通にSQLでupdateします。
参考:https://taupe.site/entry/phpmyadmin-sql/

参考と書きましたが、どこを参考にしたか忘れてしまい。ただ2,3update文を流したら自分はうまく切り替わりました。これ管理画面から変えるとかの案内はいま動いているものを変える場合で、サーバ引っ越し時には使えないんですよね。

UPDATE wp_options SET option_value=REPLACE(option_value,"abcd.co.jp","efgh.com");
UPDATE wp_posts SET post_content=REPLACE(post_content,"abcd.co.jp","efgh.com");
UPDATE wp_posts SET guid=REPLACE(guid,"abcd.co.jp","efgh.com");
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,"abcd.co.jp","efgh.com");

参考サイトからそのままの引用です。

ざっくりみてほぼほぼできたら

細かい独自で導入したプログラム類を新鯖向けに作り変えます。
お疲れさまでした。

Discussion