自宅にサーバを立てると、メンテナンスや外観をみるために自宅から自宅サーバへアクセスしたいということが多いかと思います。WordPressで記事を書きたいときなんかもそうですね。家のwebサーバにアクセスするために自分のwebサイトのURLを張ってもアクセスができません。これをどうしたらアクセスできるようになるでしょうか。これを説明していきます。
目次
この記事を書くに至った経緯
そもそもほかの記事を見てもらうとわかる通り、Raspberry PiでWordPressのwebサーバを立てるということをやっています。これを一人でやってみると色々なところで困るわけです。その中でも困ったのがこのことでした。というもの、WordPressを使っている人はほとんどレンタルサーバを使っているためです。もとから外部アクセスを前提としているのでそれゆえ内部からのアクセスするための記事が書かれていないというわけですね。大体の方がWordPressを公開して終了みたいな感じで書いているのですが、このサイトでは少なくとも公開webサーバとして使えるようにぐらいはならないと意味がないためです。
あとはWordPressを使う方のほとんどがプログラムを書いたりしている方が少ないからというところでしょうか。機械に疎い方も多いからこそwebサーバを立てるなんてことをする方が少ないのだと思います。
なのでしっかり使えるサーバにするためにもこの記事は別の記事にしておこうと思った次第です。調べても出てきにくい情報なのと、このサイトだけで完結することを目指しているというのも理由の一つです。長くなりましたが次の項へ進みます。
対処法①:hostsファイルに記述する
hostsというファイルが大体のコンピュータにあってここに記述をする方法でアクセスする仕組みです。特定のアドレスが入力されたときそれを内部で自動変換してくれる仕組みになります。Windowsのケースで説明します。macの場合は同様の記述をすればいいだけなので簡単に書いておきます。
まずwindowsのメニューからでもエクスプローラーからでも構わないですが、メモ帳を「管理者権限で実行」してください。普通に開くだけだとhostsファイルが編集できないためです。次にメモ帳の左上の「ファイル」から「開く」を選択。以下の場所へ移動してください
C:\Windows\System32\drivers\etc
ここでファイル名の横のタブから、「テキスト文書(*.txt)」を「すべてのファイル(*.)」に変更し、「hosts」ファイルを選択
一番下に以下のように追記してください。私のサンプルを記述しておきます。
192.168.x.xx www.example.com
こんな形で書いてください。左にはサーバーのIPを、右にはあなたのURLを書いてください。あとは保存しておいてください。
この状態でウェブブラウザにあなたのURLを入力するとログインできるかと思います。
macの場合は以下の場所のhostsファイルに追記してください。
/private/etc/
ただこの方法には欠点があります。
欠点
LAN外に行ってもhostsの設定が残っているので、外部からアクセスしようとすると、この設定したパソコンの設定を変えなければならないことですね。なのでデスクトップなど動かさないようなPCであれば最適な方法とも言えます。
対処法②:ルータに設定する
私のルータには設定項目がないので割愛しますが、参照しているDNSサーバよりも優先して名前解決する機能をもつルータがあります。安価なものにはついていないことがほとんどです。これは機種毎によって違うので、優先名前解決あたりで検索すると設定方法が見つかるかもしれません。これが一番便利です。先ほどのと違って欠点とかも特にないのですが、しいて言うならルータの機種が限られることですね。先ほどの対処①に関してはパソコン自体に設定を行っているため誰でもできることがメリットですね。
まとめ
上記のどちらかの方法でアクセスできるようになります。自宅サーバを利用する際はぜひ覚えておきたい方法ですね。
では今回の説明は終わりです。お疲れ様でした。
初めまして やっとここに辿りつきました
早速質問ですが
対処法①:hostsファイルに記述する の場合
WPのダッシュボード表示はどの様に対処しましたか?
https://wpドメイン名/wp-admin/about.php ではサイトが開きませんでした。ご存じでしたらご教授いただけますか?
ちなみにhostsにはwpドメイン名を書き込んでいます
コメントありがとうございます。
私は問題なく表示されていたのでわかりません。この記事のように設定する分には何も問題が発生しませんでした。
確認することとしては、Wordpressにローカルでアクセスできるのかを確認して、できるのであれば、次に外部からアクセスできるのかを確認してください。
Wordpressの設定のURLやドメインの設定が合っていないと正しく表示できなかったはずなので、その部分も正しいか確認してください。
その部分を動作検証や設定でローカルIPのままにして忘れているパターンがあった気がします。