• XAMPP + WordPress 環境の作成

    概要

    旧のXAMPP 3.7.1 を 3.7.3 にバージョンアップします。ただし、専門知識が多少有っても、XAMPP本体のバージョンアップは現実的に無理です。旧バージョンのXAMPP 3.7.1 から新バージョン 3.7.3 への環境へデータ移行(バックアップ&復元)を行います。

    • XAMPP version 3.7.3-1 ポータブル版
      • PHP 7.3.7
      • Apache 2.4.39.0
      • phpMyAdmin 4.9.0.1
      • Control Panel Version: 3.2.4
    • WordPress 5.2.2
    • Windows 10 Pro 64Bit(バージョン1903)

     

    特記

    • 「2019年5月22日(日本時間)に “Windows 10 May 2019 Update(バージョン1903、ビルド18362) “  が一般向けにリリース」
      Windows Updateでバージョン1903にアップデートすると、XAMPP がバージョン3.7.3より低い場合は動作しなくなります。
    • 当PC環境はマルチOSだったので、バージョン1903 以前の環境で旧バージョンのXAMPPからデータのバックアップが可能でした。(運が良かった!

    今回は以下を行います。

    1. 旧バージョンXAMPP環境下の WordPressの全データのバックアップ
    2. 最新バージョン XAMPP 3.7.3-1 のインストールと設定
    3. 新 XAMPP 環境にWordPressのインストールとデータの復元

    XAMPPのデータベースのパスワード設定で不具合が出ています。途中の操作ミス?の影響かもしれませんが、詳細な原因は不明です。回避方法は明記しますが、セキュリティ上の問題は残ったままです。
    (2019年7月31日時点)

     

     

    1. 旧バージョンXAMPP環境下の WordPressの全データのバックアップ

    Windows 10 をバージョン1903にアップデートする前に旧バージョンXMAPP環境下でのWordPressデータを全バックアップします。

    既にWindows 10を1903にアップデートしてしまって旧XMAPPが動作しない場合はココでの作業は諦めてください。

     

    1.1. All-in-One WP Migrationプラグインをインストール

    WordPressプラグイン「All-in-One WP Migration」は記事やコメントだけでなく、WordPressの設定、プラグインの設定、テーマのカスタマイズ設定、等のWordPress関連のデータを他の環境に移行するときに必要な情報をファイルにして一括でバックアップしてくれます。復元も当然できます。

    他のバックアップ&復元ソフトに比べて、操作もシンプルで誰でも簡単に使えるプラグインです。無料版に一部制限は有りますが、通常の操作では無料版で十分です。今回も無料版の機能だけを使います。

    All-in-One WP Migrationプラグインのインストールは他のプラグインと同じです。

     

    1.2. WordPressデータの全バックアップ

    ダッシュボードから[ All-in-One WP Migration ]-> [エクスポート]を選択します。

    「高度なオプション」をクリックすると、非バックアップ項目が一覧表示されます。

    今回は不要と思われる以下の3つをオンしました。

    1. ON :スパムコメントをエクスポートしない
    2. ON :投稿リビジョンをエクスポートしない
    3. OFF :メディアライブラリをエクスポートしない (ファイル)
    4. OFF :テーマをエクスポートしない (ファイル)
    5. OFF :必須プラグインをエクスポートしない (ファイル)
    6. OFF :プラグインをエクスポートしない (ファイル)
    7. OFF :データベースをエクスポートしない (SQL)
    8. ON :メールアドレスのドメインを置換しない (SQL)

    お知らせ:無料版ではインポート(復元)時に扱えるファイルサイズは128MBまでです。バックアップ時にサイズが超える場合は上記のチェックを増やして調整してください。なお、サイズ制限はバージョンによって変化するみたいです。

    最後に「エクスポート先」をクリックして「ファイル」もクリックします。なお、無料版は「 ファイル」以外は使えません。

    「ファイル」をクリックすると画面中央に以下が表示されます。しばらく待ちます。

    以下が表示されたら完了です。「DOWNLOAD LOCALHOST」ボタンをクリックします。「閉じる」ボタンをクリックしては駄目です。

    これでファイルがダウンロードされます。

     

    2. XAMPPのインストールと設定

    今回はレジストリを使わないポータブル版のXAMPPをダウンロードしてインストールします。

     

    2.1. XMAPPのダウンロード

    ココをクリックしてWindows版の最新バージョンをクリックします。

    「*-portable-*」のファイル名がポータブル版です。扱えるファイルをダウンロードします。

    今回は「xampp-portable-windows-x64-7.3.7-1-VC15.zip」をダウンロードしました。

     

    2.2. XAMPPのインストール

    インストール先フォルダでの注意点です。

    • C:\xxx\xampp\ の2階層下のフォルダは駄目
    • D:\日本語\ の日本語名フォルダは駄目

    今回はデフォルトの「C:\xampp」フォルダにインストールします。ダウンロードしたファイルを解凍して、xamppフォルダごと、Cドライブの直下にコピーします。

    以下が C:\xampp フォルダにインストールした結果です。

     

    2.3. XAMPPの設定

    WordPressを使う前提で設定を行います。

    1. インストールパスの設定
    2. xampp-control.exe の起動
    3. MySQLのrootパスワードを変更
    4. config.inc.phpの変更
    5. php.iniの変更

     

    2.3.1. インストールパスの設定

    デフォルトのルートフォルダ「C:\xampp」以外にXAMPPをインストールした場合は「\setup_xampp.bat」を実行する必要があります。

    例:以下は「D:\xampp-7.3.1」フォルダにXAMPPをインストールした場合の例です。 完了の「DONE」が表示されるまで10秒以上掛かります。途中で特に入力はありません。

     

    2.3.2. xampp-control.exe の起動

    「\xampp-control.exe」を管理者権限で起動します。

    以下の画面が表示されたら、左側のアメリカ国旗を選択して、「Save」ボタンをクリックします。この画面は初回起動時のみ表示されます。

    以下のControl Panel 画面が表示されます。ApacheとMySQLの「Start」ボタンをクリックします。

    以下の2画面が表示されます。「アクセスを許可する」ボタンをクリックします。

     

    2.3.3. MySQLのrootパスワードを変更

    MySQLの「Admin」ボタンをクリックします。

    ブラウザに以下のphpMyAdmin画面が表示されます。上部中央の「ユーザーアカウント」をクリックします。

    ※これ以降は画面キャプチャーを忘れました。文章のみの説明になります。

    「root いいえ ALL PRIVILEGES はい 特権を編集」と有る部分の「特権を編集」をクリックします。

    画面上部のある「パスワードを変更する」ボタンをクリックします。

    新しいパスワードを2箇所に入力し、右下の「実行」ボタンをクリックします。パスワードは別途メモしておきます。

    以下が画面上部に表示されたら、パスワード変更は完了です。phpMyAdmin画面は閉じて構いません。

     

    2.3.3. config.inc.phpの変更

    Apacheの「Config」ボタンをクリックするとポップアップメニューが表示されます。「phpMyAdmin (config.inc.php)」をクリックします。

    エディッタが起動され、config.inc.phpファイルが表示されます。

    $cfg[‘Servers’][$i][‘password’] = ”;

    21行目にphpMyAdmin画面で登録したパスワード(例:Password)をセットします。

    $cfg[‘Servers’][$i][‘password’] = ‘password‘;

    config.inc.phpファイルを上書き保存します。

    この後の作業でエラーが発生し、設定したパスワードを
    $cfg[‘Servers’][$i][‘password’] = ”;
    のパスワード無し状態に戻しました。原因は不明です。

     

    2.3.4. php.iniの変更

    Apacheの「Config」ボタンをクリックするとポップアップメニューが表示されます。「PHP (php.ini)」をクリックします。

    エディッタが起動され、php.iniファイルが表示されます。

    「date.timezone」で検索して、2番目の後ろに「Europe/Berlin」が付いた

    date.timezone=Europe/Berlin

    の後ろを「Asia/Tokyo」に変更します。

    date.timezone=Asia/Tokyo

    「mbstring.language」で検索して、前に「 ; 」が付いた

    ;mbstring.language = Japanese

    の前の「 ; 」を削除します。

    mbstring.language = Japanese

    以上で、php.iniファイルを上書き保存します。

     

    2.4. 起動用のショートカットの作成

    xampp-control.exe は管理者権限で実行する必要があります。そこで管理者権限で実行するショートカットを作成します。

    最初に C:\xampp\xampp-control.exe のショートカットをデスクトップに作成します。そのショートカットのプロパティを開いて、「詳細設定」ボタンをクリックします。

    「管理者として実行」をチェックして、OKボタンをクリックします。

    今後、xampp-control.exe の起動はこのデスクトップ上のショートカットから行います。

     

    2.5. 追加しては駄目な設定

    旧バージョンのXAMPPでは以下の設定をするようによく見受けられます。バージョン 3.7.3 のXAMPP では php.ini に以下の設定をすると、XAMPPがフリーズ又は動作が不安定になり、操作不能になります。

    extension=php_mbstring.dll

    XAMPP バージョン 3.7.3 では上記を追加しなくても、これ以降に紹介するWordPressが問題無く動作します。実際にこの記事はその環境で作成しました。

     

    3. WordPress環境のインストールとデータの復元

    今回は旧バージョンXAMPPで使っていたWordPress環境ファイルをそのままコピーしました。よってプラグインやテーマの追加や、wp-config.phpの設定変更も不要です。

    1. WordPressファイルのコピー
    2. WordPressの初回起動
    3. All-in-One WP Migrationプラグインでデータの復元

     

    3.1. WordPressファイルのコピー

    旧バージョンXAMPP環境で使っていたWordPressファイルを新しいXAMPP環境下(C:\xampp\htdocs\)にコピーしました。WordPressのルートフォルダ名は「wordpress1」です。

    (新規作成の方はコチラからWordPressのZIPファイルをダウンロードしてください。)

     

    3.2. WordPressの初回起動

    http://localhost/wordpress1/ でWordPressを起動すると、初回起動時にログイン情報入力画面が表示されます。IDとパスワードは前回と同じものを入力しました。

    (新規WordPressの方は

    • wp-config.phpの設定変更
    • 初回起動時のログイン情報の入力

    等が必要になります。)

    今回は旧ファイルのコピーだけなので、またWordPressの説明が目的ではないので、この部分の詳細は省きます。

    起動すると実行エラーになります。 wp-config.php ファイルのパスワード設定を
    define(‘DB_PASSWORD’, ”);
    のパスワード無しに変更しました。これでWordPressが起動できます。

     

    3.3. All-in-One WP Migrationプラグインでデータの復元

    復元機能は多分、使用できません。理由はアップロードのサイズ制限が有るからです。これを回避する為の環境設定の変更が事前に必要になります。

    お知らせ:ここでのサイズ制限はプラグイン無料版の128MBの話では無く、サーバーへアップロードする時のサーバー側とWordpress上での制限です。

     

    3.3.1. WordPress環境のアップロード設定の追加

    WordPressのルートフォルダに有る(”C:\xampp\htdocs\wordpress1\”).htaccessファイルに以下を追加します。

    php_value upload_max_filesize 128M
    php_value post_max_size 128M
    php_value memory_limit 256M
    php_value max_execution_time 300
    php_value max_input_time 300

    更に(”C:\xampp\htdocs\wordpress1\”)wp-config.phpファイルに以下を追加します。追加する場所($table_prefixの後)に注意してください。

    @ini_set(‘upload_max_filesize’,’128M’);
    @ini_set(‘post_max_size’,’128M’);
    @ini_set(‘memory_limit’,’256M’);
    @ini_set(‘max_execution_time’,’300′);
    @ini_set(‘max_input_time’,’300′);

     

    3.3.2. WordPressデータの復元

    WordPress の All-in-One WP Migrationプラグインのインポートを使います。

    「インポート元」をクリックするとポップアップメニューが下に表示されます。「ファイル」をクリックします。

    前回、当プラグインでエキスポートしたファイルを指定します。これ以降は特に難しい操作は有りません。エクスポートは上書きになります。画面もキャプチャーしてないので、詳細は省略します。

     

    以上で、XAMPP(+WordPress)のバージョンアップ作業は完了です。

     

    MySQLのエラー

    phpMyAdmin画面でユーザーアカウントを表示しようとすると、以下のエラーメッセージが表示されます。

    ユーザを表示する為に十分な権限はありません。
    Warning in .\libraries\classes\Dbi\DbiMysqli.php#213
    mysqli_query(): (HY000/1194): 表 ‘user’ は壊れています。修復が必要です。
    ・・・・・・・・・・