インフラ

【Mac】ローカルのhostsを切ってサーバーIPへアクセスしよう!

mac-hosts

こんばんは!光です。

大手グローバル企業でWebエンジニアをやっています。

Webエンジニアを目指してプログラミングを勉強している初心者の方向けに情報を発信しています。

経歴や実績はこちら

システム開発のお仕事の依頼もお待ちしております。

お問い合わせページTwitterのDMからお気軽にお問い合わせください!

今回はこのような質問をいただきました。

別の方がインフラを構築し、そのサーバにPHPで作成したアプリケーションを配置するといった作業をする必要がありました。

アプリケーションの動作確認の方法がわからなかったので確認したところ、「サーバーIPでローカルのhostsを切ってアクセスをお願い致します。」と言われました。

サーバーIPでローカルのhostsを切ってアクセスするってどういうこと?

「hostsファイルで対象のIPとドメインを設定してアクセスするようにしてください。」ということですね。

hostsの存在を知らないとわからないですよね。

そこで今回はこちらの質問について解説していきます!

hostsファイルって何?

こちらの内容はMacの場合です。

hostsファイルは/private/etc/hostsに配置されています。

IPとドメインを紐付けることができ、こちらの設定はDNSより優先されます。

例えばローカルホストは 127.0.0.1, localhost どちらにアクセスしても同じですよね。

これはhostsファイルでそのように設定されているからです。

実際にこのような記述があると思います。

127.0.0.1       localhost

こちらを利用することで指定したドメイン名でサーバーIPへアクセスできるようになります。

実際に設定してみよう!

やることは非常に簡単で1行追記するだけです。

まずはhostsファイルを開きます。

sudoをつけないと編集できないので注意!

$ sudo vi /private/etc/hosts

その後、localhostの設定を真似て追記します。

IPアドレス + スペース + ドメイン のように設定します。

ドメイン名は任意です。

XX.XXX.XXX.XX test.xxxx.jp

このように設定した場合はtest.xxxx.jpにアクセスするとXX.XXX.XXX.XXの内容が表示されます。

なぜhostsを使うの?

なぜ、hostsに設定する必要があったのか考えたところ、Apacheの設定が関係していそうです。

こちらのサーバーでテスト環境、本番環境をすべて扱っているので、おそらくアクセスするアプリケーションをドメインによって振り分ける設定がされています。

そのため、ドメインでアクセスしないと接続ができない状態となっていました。

そこでhostsを使ってドメインでアクセスする必要がありました。

あとがき

あまりこのような場面はないと思いますが、リニューアルだったり、リプレースだったりを行う際には必要になるかもしれません。

hostsでの設定はDNSより優先されるので、使い方によっては非常に便利です。

使う機会は少ないですが、DNS関連の作業をする際には使いこなしたいですね!