follow hagi.life

ローカルIPが勝手に変わって、テスト環境が壊れた

2018.08.09

こんにちは、萩ドットライフ()です。

このブログのテーマをカスタマイズしたり、プラグインのテストをするために、ローカル(パソコンの中)にも同じ環境を構築しているのですが、不具合発生。ローカルIPが勝手に変わり、wordpressが可動しなくなったので、対応してみました。

ローカル環境が壊れた

ブログ仲間的なコミュニティに属していないので、他の方々がどんな方法でwordpressのカスタマイズをされているのか、見当もつかないのですよ。
僕はまったくの我流で、このブログをカスタマイズしています。
あとになってから「あ、こんな機能あるんじゃん…」みたいなことも、多々あります。

例えば、本文を2つに分けたくて、カスタムフィールドで運用していたら、あとから「抜粋(the_excerpt)ってのがあるじゃん! カスタムフィールド使う必要ないじゃん」って気づいて、全域に大改修を施したり…。

そういう作業を、いきなり本番環境でやるのは怖いので、ローカル(パソコン内)のテスト環境で試してから本番環境にアップロード、ときには作業の反復をしたりしているのです。
テスト環境は、Macにサーバー環境を作ってくれるMAMPというアプリを使用しています。このへんは「MAMPという開発環境で準備していました」に書いているのでご参照ください。

で、その環境が壊れたんですよ。
wordpressにログインできなくなってるし、webページもcssが一切効かなくなってて、レイアウトが崩れてる。表示されてない画像もある。
ちょっとしたパニックになりますよね。

原因はすぐにわかった

僕、本業がwebデザイナーなので、こういう現象を前にしたとき、すぐに幾つかの原因が思い浮かぶんですよ。最初、wordpressにログインできないときには「あれ、壊れてる。もしかして再インストール?」とか思っちゃったんですけどね。

すぐに「これ、リンク切れじゃん」と、現象が起こってる理由はわかりました。
htmlはちゃんと吐き出されてるし、テキストは全部表示されてますからね、webページにリンクで呼び込んでるJavascript、css、画像ファイルがことごとく欠けている「だけ」なのです。

wordpressは、管理画面の「設定 > 一般設定」で、サイトアドレス(URL)を決めて、そこから始まる絶対パスで、リンクを記述します。
(絶対パスというのは、どこから見ても位置が変わらないパス。「http/https から書き始めるやつ」みたいな解釈でいいと思います。もうひとつあるのが「相対パス」。これは自分の位置からみたリンクファイルの位置を記述します。)
そのサイトアドレス(URL)が変わっちゃってたんですね。

ローカル環境(パソコンの中)で運用していたので、サイトアドレス(URL)をローカルIPにしてたんですよ。具体的にはこんな感じ「http://192.168.11.2:8888/hagi_life/」。
こうしておけば、ローカルネットワーク上にある、他のデバイス(Windows機やスマホ、タブレット等)から、このURLを叩けば、表示確認できるので便利なんですよ。
ところが、いつの間にか作業機のローカルIPが勝手に192.168.11.3に変わってる!

ローカルIPが変わったのは、未だに不明です。僕、こういうのさっぱりなんですよ。Windows機を新調したから?

ローカルIPの復旧に取り組む

ローカルIPが変わったのは、Macならば「システム環境設定→ネットワーク→Wi-Fiの詳細をクリック→TCP/IP」のIPv4アドレスにかかれている値を見ればわかります。ここに「192.168.11.3」ってかかれてるんですよ。「あれ、変わってるじゃん」と。
まずは、これを「192.168.11.2」に戻そうと試みたんです。
IPv4の設定を「DHCPサーバーを使用(アドレスは手入力)」ってのにプルダウンメニューから選択し直して、「192.168.11.2」と入力。それでOKしようとすると「このIPは他の機器で使用されています」的なアラートが出て変更できないんですね。

う〜ん。これもなぜなのか、さっぱりわからない。
いろいろやってたら、ネットにもつながらなくなっちゃって「192.168.11.3」に戻して復旧。
「こりゃ、wordpressのサイトアドレス(URL)を192.168.11.3 にするしかないな」と。
さて、wordpressにログインできないのに、どうすりゃいいんだ? と。
wp-adminフォルダ内のファイルに「192.168.11.2」で検索かけてみたけど、どこにも書かれてないっぽい。

MySQLを書き換えたら一発で直った!

ググりましたよ。「wordpress+サイトアドレス+書き換え」みたいなワードだったかな? 表示された、あまり上の方じゃなかったけど、
WordPressの一般設定から間違ってwordpress アドレス (url) とサイトアドレス (URL)を入力した場合の2つの解決方法。って、Qiitaのページにたどり着いたんですよ。

そしたらそこに、MySQL内のサイトアドレス(URL)が格納されてる場所が示されていました。
これを参考にしながら、phpMyAdminで、MySQLに入って書き換え完了。一発で直りました。

「うぁ、壊れてるじゃん!」から30分くらいの話かな。
MySQLを書き換えるの、これで2回目なんですよ。1回目はカテゴリのIDを書き換えたんです。
このブログで使ってる4つのカテゴリのterm_idを1〜4に順番に並べ直したかったから。

そうそう僕は、お名前.comのSDサーバー使ってるんですが、wordpressはコントロールパネルからインストールできます。
でも、MySQLは自分でインストールしなきゃいけません。
サーバー借りたり、Wordpressをインストールしたり」をご参照ください。

生まれた街「萩」の小さなひとつに還ろう。