2019年08月05日更新
【Mac】hostsファイルを書き換える方法を紹介!
Macでhostsファイルを書き換える方法を詳しく解説をしていきます。Macのhostsファイルを書き換える方法とは実は一つではありません。専用のアプリやテキストエディタ、ターミナルを使う編集方法を徹底的に解説をしていきます。
目次
- 1Macのhostsファイルとは?
- ・IPアドレスとホスト名の対応を記述したファイル
- ・hostsとはDNSより優先順位が高い
- 2Macのhostsファイルを書き換える方法〜アプリを使う〜
- ・Hosts.prefpaneをダウンロード
- ・IPアドレスとホスト名を記述する
- 3Macのhostsファイルを書き換える方法〜テキストエディタで編集〜
- ・hostsファイルが保存されているフォルダを開く
- ・hostsファイルをコピーして編集する
- ・元のフォルダに上書き保存する
- 4Macのhostsファイルを書き換える方法〜ターミナルで編集〜
- ・ターミナルを開く
- ・ターミナルでhostsファイルを開く
- ・hostsファイルを編集して保存
- 5Macのhostsファイルを編集すべきタイミング
- ・サーバー移転で挙動を確認する時
- ・テスト環境から本番環境に移る時
- 6Macのhostsファイルの設定が反映されない時の対処法
- ・設定内容を確認する
- ・DNSのキャッシュをクリアする
- ・hostsファイル自体を参照しているか確認する
- ・まとめ
- ・合わせて読みたい!Macに関する記事一覧
Macのhostsファイルとは?
今回はMacのhostsファイルについて詳しく解説をしていきます。MacのhostsファイルとはMacOSの設定ファイルの一部でIPアドレスとドメインが記述されているファイルのことです。そんなhostsファイルの役割とは何かを詳しく見ていきましょう。
IPアドレスとホスト名の対応を記述したファイル
前述もしましたが、MacのhostsファイルとはIPアドレスとドメインが記述されているファイルのことです。
本来ブラウザでURLを入力し検索をすると、URLを入力したMacからDNSサーバーへ「この◯◯というURLのIPアドレスを教えて」とリクエストをします。
そのリクエストに対してDNSサーバーから「◯◯のURLのIPアドレスは△△だよ」と返答があります。その返答を受けたMacは、教えてもらったIPアドレスを元にサイトにアクセスをするという流れとなります。
DNSサーバーと、このようなリクエストと応答がなされているのでサイトの表示をすることができますが、あらかじめhostsにIPとそのドメインを記述をしておくことでDNSサーバーへの問い合わせをせずにサイトへアクセスをすることができます。
hostsとはDNSより優先順位が高い
Mac内部にあるローカルのhostsにIPアドレスとドメインの入力をすることでDNSサーバーへのリクエストをせずにサイトにアクセスをすることができますが、その理由は次のような理由となります。
MacがDNSサーバーにリクエストをする際にhostsにIPやドメインの記述がされているとDNSへの問い合わせ前にhostsに何が書かれているか確認をしにいきます。
もし自身がアクセスしたいサイトの情報がhostsに記述されている場合はDNSへリクエストをすることなく、hostsの情報だけを参照してサイトのアクセスを行います。
要はDNSサーバーよりもhostsに書かれているローカルの情報が優先されているということになります。
そもそもDNSサーバーとは何か
DNSサーバーとはMacなどのPCからリクエストのあったドメインとIPアドレスの紐付けを行なっている仕組みです。
MacなどのPCはサイトにアクセスするためのIPアドレスは本来知り得ません。しかし、サイトにアクセスをするためにはIPアドレスが必須です。
そのためMacなどのPCはサイトにアクセスをするためのIPアドレスが何かをDNSサーバーに問い合わせます。そこで得たIPアドレスを元にサイトにアクセスをしている、いわば翻訳の役割を担っている仕組みのことです。
Macのhostsファイルを書き換える方法〜アプリを使う〜
ここからは本題のMacのhostsファイルの書き換える方法を解説をしていきます。Macのhostsを書き換える方法はいくつかありますが、ここでは専用のアプリをダウンロードしMacのhostsファイルの書き換える方法を説明をしていきます。
今回ご紹介するアプリはAppleの純正のアプリではなく、あくまでもサードパーティ製のアプリのため、ダウンロードをして使用をする際には注意事項などを十分に読んで利用するようにしてください。
Hosts.prefpaneをダウンロード
まずはブラウザで「Hosts.prefpane」と検索をして専用のアプリのダウンロードをします。ダウンロードの際には「Download here」を選択しアプリのダウンロードを行います。
アプリのダウンロードの完了後、アプリのインストーラを立ち上げ、画面の案内に沿って設定をしていきます。
設定が完了するとシステム環境内にアイコンが表示されます。
IPアドレスとホスト名を記述する
アプリのダウンロードが完了後、Hosts.prefpaneに、そのままではIPとドメインの入力ができないので、アプリ画面左下の鍵マークを押下します。この時にMacのパスワードの入力を求められることがあります。次にすぐ上にある「+」マークを選択をします。
「+」ボタンを選択をすると、IPアドレスとドメインが入力できるようになりますので上段に利用したい情報を入力をします。ここまでの操作をすることでアプリを介してMacのhostsファイルに所定のIPとドメインの入力をすることができます。
Macのhostsファイルを書き換える方法〜テキストエディタで編集〜
続いて、Macのhostsファイルを書き換える方法としてテキストエディタを利用する方法を解説をしていきます。
Macのテキストエディタとは、テキスト形式のファイルの編集などに使うためのアプリのことをさします。WIndowsでいう所のメモ帳のことです。
Macでテキストのファイルを開くと基本的には特別な設定をしていない限り、テキストエディタで再現されることになります。
hostsファイルが保存されているフォルダを開く
まずはMacのFinderを起動しMacの画面上部のタスクバーから「移動」を選択します。プルダウンで出てきたメニューの中の「フォルダへ移動…」を選択をします。
するとFinderの画面上部にファイルパスを入力する箇所が表示されますので、「private/etc」と入力をしまMacのhostsが格納されている階層まで進みます。
hostsファイルをコピーして編集する
Macのhostsが格納されている階層まで進んだら、hostsを探します。画像ではそのま開いていますが、直接Macのhostsファイルを操作することに抵抗があれば、一度デスクトップにコピーして、デスクトップ上でhostsファイルを編集することをおすすめします。
元のフォルダに上書き保存する
デスクトップのMacのhostsファイルでIPとドメインを入力し編集が完了したら、今度はデスクトップから「private/etc」にMacのhostsファイルを移動し上書き保存をし、hostsファイルの編集作業は完了です。
Macのhostsファイルを利用する際プリインストールされているテキストエディタにて自動的に編集をすることができるようになります。
プリインストールされているテキストエディタ以外の自身でダウンロードしたテキストエディタを使用しても特に問題はありませんが、もし自身でダウンロードしたテキストエディタを使う場合は、文字コードなどの設定には十分気をつけてください。
ダウンロードしたテキストエディタで文字コードが合わないまま編集をしても正確にMacがhostsファイルを参照することができなくなります。
ご自身で任意のテキストエディタをダウンロードする際には、必ず文字コードがあっているかの確認はするようにしましょう。基本的に文字コードとはUTF-8で設定することが推奨されています。
Macのhostsファイルを書き換える方法〜ターミナルで編集〜
ここまでMacのhostsファイルをアプリとテキストエディタを使う方法で書き換える操作の手順を解説してきました。
ここからはターミナルでMacのhostsファイルを編集する方法を解説をしていきます。ターミナルでコマンドを使うことで簡単に編集をすることができます。
ターミナルを開く
まずはMacのLunchpadを起動し、その中からターミナルアプリを探し起動をします。
ターミナルでhostsファイルを開く
MacのLunchpadからターミナルを起動したらviコマンドでMacのhostsファイルを開きます。「vi /private/etc/hosts」と入力をします。
hostsファイルを編集して保存
ターミナルを使う方法でviコマンドでMacのhostsを起動したら、先ほどテキストエディタを使う入力した時の要領と同じで、下段にIPとドメインを入力をし書き換えをし編集をします。
Macにプリインストールされているターミナルで今回の作業は十分に行うことはできますが、日頃からフリーソフトのターミナルなどを利用されている方もいるはず。
フリーソフトを利用されている方に関しては既知のこととは思いますが、他の環境でも問題はありませんが、この記事ではviコマンドなどを主軸にご紹介をしておりますので、できるだけUNIX系のコマンドを叩ける環境を整えることをおすすめします。
Macのhostsファイルを編集すべきタイミング
Macのhostsファイルを書き換えるタイミングはいつなのか、hostsの書き換えは頻繁に行うことは少ないですが、どのような場面で利用されるか木になることもあるはず。ここからは適切なタイミングについて解説をしていきます。
サーバー移転で挙動を確認する時
Macでhostsファイルを書き換えるときはサーバーの移転などの際に行うことが多いです。例えば現行で利用しているサーバーを何かしらの理由で変えなければならない時に、サーバーを完全に変えてから諸々の設定をするのでは遅すぎます。
先に移転先のサーバーに切り替えてしまうと、設定が完了するまでWEBページが表示されなくなるなどのリスクがありますので、まずは移転先のサーバーの準備をしてから実際の移転作業をすることになります。
その際に移転先のサーバーで実際に問題なく利用をすることができるのか、その挙動を確認する時にhostsファイルを書き換えることがあります。
テスト環境から本番環境に移る時
次にMacのhostsファイルを書き換える場面として多いのはテスト環境から本番環境への切り替えのタイミングです。
Macのhostsファイルにテスト環境の情報を記述することで本番環境へのアクセスをすることなく、様々な作業をすることができます。
Macでhostsファイルを書き換えるときはこれらのようなメンテナンスやサーバーの切り替えなどの作業をする際に使うことが多いです。
Macのhostsファイルの設定が反映されない時の対処法
Macのhostsファイルに記述した使う設定が反映されていない場合はどのような対処方を取るべきか詳しく見ていきましょう。
設定内容を確認する
まずはMacのhostsファイルに使う予定の情報の記述が間違いなくされているかの確認をしましょう。アプリを使っている場合文字コードなどが合わず、正確に記述したつもりでも文法が合わなくなっていることもあります。
Macのhostsが聞かない場内は、このような根本的な問題が起きていないか確認をするようにしましょう。
DNSのキャッシュをクリアする
Macのhostsの設定が間違いないにも関わらずMacのhostsの設定が反映されていない場合は、一度DNSのキャッシュ削除も試してみましょう。
ターミナルを起動し「killall -HUP mDNSResponder」を入力し実行をしてみてください。権限設定のエラーになるようであれば「sudo killall -HUP mDNSResponder」と入力をするようにしましょう。
hostsファイル自体を参照しているか確認する
次に、Macのhostsファイル自体を参照できているかを確認しましょう。そもそも、ここまでの操作ができている場合は参照先に問題があるということは考えにくいと思います。
しかし、アプリやテキストエディタなどではなく、ターミナルでコマンドを使うことでファイルパスを誤まって入力されているということも考えられます。
また、digやnslookupのコマンドを利用している場合、MacのhostsではなくDNSを参照しますので、Macのhostsファイルの内容は無視されてしまいます。
基本的なことにはなりますが、このような参照先間違いがあると重大なミスに繋がりかねないので慎重に行いましょう。
場合によってはブラウザでMacのhostsに記述しているドメインを入力をしてみてMacのhostsファイルの情報が適用されているかの確認をしてみることをおすすめします。
まとめ
Macでhostsファイルを設定する方法や書き換える方法を解説をしてきました。日頃から頻繁にhostsの書き換えを行うことはないと思いますが、その頻度が少ないからこそ毎回のように調べることが多くなる作業なのではないかと思います。
hostsファイルが参照できない場合などのシーンに合わせた対処法も解説をしていますので、ぜひ今後の参考にしてください。