WordPressのローカルコピー (part 1/2)
公開しているWordPressのテーマやデザイン等を修正したい場合に、運用中のサイトを直接変更するのは少し気が引けます。まずローカルなPC上で修正と動作確認を行ってから公開できた方が安全です。トラブルが発生した場合でも、プラグインやテーマ等の環境を丸ごとローカルにコピーできればデバッグも速そうです。
今回は「Local」というアプリと、WordPressの「UpdraftPlus」というプラグインを使用してローカル環境で、公開しているWordPressのコピーを実行できる様にします。(Windowsを使用していますが、Macでも同様と思われます。)
長めの記事ですが、やっていることは「ローカルサイトの構築」→「運用サイトからデータコピー」→「ローカルサイトにアップロード」という流れになっています。途中でデータベースの修正などの処理は行いません。ローカルと公開サイトの名称が異なっていても、プラグインが適切に変換してくれるようです。コピーデータの容量制限も特にない様です。
Localアプリのセットアップ方法はUdemyさんの以下の講座を参考にさせて頂きました。
Udemy
ちゃんと学ぶ、WordPress テーマ開発講座
Localをインストールします
Localサイトに移動して、右上にある「DOWNLOAD」ボタンを押して表示されたフォームに、プラットフォーム(Windows/Mac/Linux)、所属組織、メールアドレスを入力して「GET IT NOW!」ボタンを押してアプリをダウンロードします。(特に名前の入力は必要ない様です。)
手順に従いインストールします。規約の確認後にアカウント作成を求められますが、アカウントなしでも使用できるので×ボタンで閉じで先に進みます。
LocalにWordPressをインストールします
まずはローカル用に新しいサイトを作成します。
「Create a new site」が選択されているのを確認して、「Continue」ボタンを押します。
ローカルサイト名を入力します。(大文字は小文字に変換される様です。)
動作環境を選択します。私の場合はWEBサーバーにApacheを使用しているので、「Custom」を選択してWeb serverで「Apache」を選択しました。「Preferred」を選択するとデフォルトでNginxがインストールされる様です。その他PHPを特定のバージョンにしたい場合等は、それぞれのドロップダウンから選択します。
WordPressのユーザー名、パスワードとメールアドレスを入力します。後でバックアップデータで上書きされるので、特に何でも構いませんが、初回のログイン時に必要になります。
「Add site」ボタンを押してローカルサイトを作成します。途中でユーザーアクセス制御ダイアログが表示されたら「はい」を選択します。その後エラーダイアログが表示されますが、「OK」ボタンを押してインストールを続けます。
しばらく待つとインストールが終了します。「hostsファイルにエントリーがない」と警告が出ていてサイトが表示できない状態なので、この次以降の手順で直します。
エクスプローラを立ち上げて、アドレス欄に「C:\Windows\System32\drivers\etc」と入力してエンターキーを押します。
「hosts」ファイルの右クリックメニューから「プロパティ」を選択します。表示されたダイアログの下にある「読み取り専用」チェックボックスをクリックして、チェックを外します。
「セキュリティ」タブを選択して、中ほどにある「編集ボタン」を押します。(場合によっては一度読み取り属性を解除してOKボタンでダイアログを閉じてから、再度プロパティダイアログを開きなおさないと表示されないかもしれません。)
「グループ名またはユーザー名」から「Users」を選択します。「アクセス許可」欄の「フルコントロール」をクリックします。その後すべてOKボタンを押してダイアログを閉じます。途中メッセージが表示されたらOKボタンで閉じます。
その後、Localアプリの「Fix it」ボタンを押してワーニングを消します。ユーザーアカウント制御ダイアログが表示されたら、OKボタンで閉じます。
次のような画面になれば成功です。次回以降の起動でもワーニングは出なくなります。
このままの状態ではセキュリティが弱くなっていますので、先ほどと逆の操作でhostsファイルの属性を元に戻します。セキュリティを読み取りに変更して、読み取り専用属性をチェックします。
新しくサイトを追加する場合は、お手数ですがhostsファイルの読み取り属性とアクセス制限を毎回変更してください。毎回この様な操作が煩わしい場合は、hostsファイルはetcディレクトリ内で読み取り属性をオフにしただけでは直接編集できないので、別のディレクトリにコピーして読み取り属性をはずしてから、以下の様な情報を書き込み保存した後、再度読み取り属性をセットして、etcフォルダ内のhostsファイルに上書きコピーしてください。(こちらも煩わしいですね…)
## Local - Start ##
::1 mysite.local #Local Site
127.0.0.1 mysite.local #Local Site
::1 www.mysite.local #Local Site
127.0.0.1 www.mysite.local #Local Site
## Local - End ##
長くなりましたので、続きは次回の投稿でご説明します。