WordPressをローカル環境等にお引っ越しする方法(XAMPP使いも歓迎)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。CONTACTTOPインフラWordPressをローカル環境等にお引っ越しする方法(XAMPP使いも歓迎)インフラ開発2017.01.05WordPressをローカル環境等にお引っ越しする方法(XAMPP使いも歓迎)ebiシェアツイートブックマークLINEWebチームのebiです。以前、EC-CUBEのサイトをローカル環境に持って来たいと言う旨の記事を書きました。今回はみんな大好き(?)WordPressのサイトをローカル環境に移動させるお話です。ローカルで作ったものを本番環境に展開させる場合も同じ要領でできます。加えてただのWordPressのサイトだけではなく、マルチサイト化したWordPressのサイトも扱えるようにすることを目標にします。サーバが動くなら別にXAMPPを使っててもいいですよ。VirtualBoxに頼らずWindows上で完結するXAMPPでやってみました。手元のXAMPP(Ver.5.6.21)を用いた時の記録を残しておきます。ローカル環境の全般的な話はこちらの過去記事も参照してください。WordPressのマルチサイト化について先にWordPressのマルチサイトについて簡単に説明をしておきます。サブドメイン型とサブディレクトリ型の2種類があります。どちらも割と言葉通りと言うか、WordPressに限らず使用される話ですね。どちらの場合もサイト毎に異なるWordPressのテーマを適用させることで、見た目上違うサイトとして運用されていくはずです。使用するデータベースとディレクトリは同じものを共有することになります。詳細については、WordPressCodexを見ましょう。ような構成になります。ディレクトリごとにサイト素材が分かれているように見えるURLになると言うことですね。ような構成になります。“site1′′、”site2′′のようなサブドメイン部分でアクセス先を分けます。”example.com”のようなメインのドメイン部分は共有となります。URLにポート番号を含む運用はやめましょう何のことかよく分からない人は、とりあえず読み飛ばして大丈夫です。マルチサイト化する際に、URLにポート番号を含んでいると怒られます。正確に言うと80番と443番以外のポート番号を含むURLが禁止されています。そのため、ローカル環境でポート番号を使用して複数サイトを管理する(過去記事で紹介)手法はとれません......。http://127.0.0.1:2222みたいなURLでWordPressマルチサイトのローカル環境を管理することはできません。ローカル環境にマルチサイト化したWordPressサイトを置く場合は、ちゃんとドメイン名を使ったURLでアクセスできるようにしておきましょう。実際のやり方は後ほど解説します。WordPressをローカル環境に持って来るまずは本番サーバのファイルとデータベースを持って来ます。ファイルはとりあえずSFTPで持って来てもいいです。ツールは何でもよいので、手に入れれば勝ちです。なるようにWordPress本体のフォルダ(example.local)を置いちゃいましょう。XAMPPのコントロールパネルから、サイドメニューのExplorerをクリックすると、xamppフォルダを開いてくれますよ(いま知った)。データベースもphpMyAdminから持って来ちゃいましょう。下図のように、元のデータベースのphpMyAdminからエクスポートしてきます。形式のファイルでダウンロードできるはずです。この状態ならエディタで編集できますので、エラー等が出た時に直接編集をすることもあります。言え、メモ帳を使うのはやめましょう(改行コードが違うので単純に見辛い)。XAMPPのコントロールパネルから、MySQLを起動した状態で、MySQLのAdminをクリックすると、ローカル環境のphpMyAdminが開かれます。今度は逆に、先ほどダウンロードしてきたデータベースをインポートをしましょう。僕の場合、データベースのサイズが大きすぎてアップロードできずにエラーが出てしまいました......。データベースを圧縮するか、phpの設定を変える必要がありますね。開き、post_max_sizeupload_max_filesizemax_file_uploadsあたりをデータベースのサイズ以上になるように、少し大きくしておきました。編集後は忘れずに、コントロールパネルからApacheを一度Stop⇒Startで再起動します。再チャレンジしたところ、別のエラーが出てしまいました......。MySQL側も設定を変更しないといけないようです。開き、max_allowed_packetを少し大きくします(1M⇒8Mにした)。MySQLも設定の変更後に再起動が必要です。リベンジするけど、三度エラーが出ます。データベースの作成までは進んでいたようです。