エンジニアの方などは開発中に、Macでhostsファイルを書き換え・編集したい場合があるかと思います。
ただそんなに頻繁にはないので、設定するときに「あれ?hostsの場所どこだっけ?」となる事はないと思いますか。
ここではMacでhostsファイルを書き換える・編集する方法と、設定したあとで変更が反映されない場合にはどうすればいいかという点をご説明していきます。
hostsファイル
まず最初はそもそもhostsファイルって何?というところから説明していきます。
例えば「https:、、aprico-media、com、」など通常URLをブラウザに入れるとそのドメイン(ここではaprico-media、com)に紐づくIPアドレスを有しているサーバーにリクエストが送られます。
DNSサーバーでの名前解決
図にするとこのような形となります。はじめに①でDNSサーバーに対してドメイン情報のIPアドレスを問い合わせします。
②で結果が返ってきて、無事にIPアドレスが分かったため③でアクセスを試みます。
hostsファイルでの名前解決
一方でパソコン内部にあるhostsファイルを使用すると、DNSに問い合わせるする前に、パソコンのhostsファイルに①で問い合わせをし、結果が②で返るためDNSサーバーへの問い合わせがありません。
要するにドメインとIPアドレスの紐づけの管理はDNSサーバーが管理していますが、自身のMacのhostsファイルにドメインとIPアドレスの紐づけを設定しておくと、DNSサーバーの設定よりもローカルのMacのhostsファイルの紐づけが優先されます。
hostsファイルはDNSサーバーと同じくドメインとIPアドレスの紐づけを行いますが、ローカル環境限定でIPアドレスとドメインの紐付けを上書きする役割を持ちます。
Macでhostsファイルを書き換える方法
それではMacでhostsファイルの設定を書き換える方法をご説明していきます。
hostsファイルがある場所
まずhostsファイルの場所をチェックしておきましょう。hostsファイルの場所はMacの環境では「、etc、hosts」となります。
Unix系のOSの場合は「、etc、hosts」がhostsファイルの場所となります。あとはこの場所にあるファイルを書き換えればOKという話になります。
ちなみにhostsファイルを開くと下記のようになっているはずです。このファイルの中身を書き換えていきます。
※ちょっと編集するのが怖いという人はファイルのコピーをしてバックアップをとっておきましょう。
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
ターミナルを使用して書き換える
ターミナルを使用してhostsファイルを設定する方法を説明していきます。viを使用しての書き換えの方法となりますので、viの操作が苦手という人は次のパートのテキストエディットやアプリを使った書き換え方法を参照下さい。
ではまず最初はMacのターミナルを立ち上げましょう。
ターミナルLaunchpadを開き、その他からターミナルを選びて起動させましょう。
ターミナルが立ち上がったら以下のコマンドを記入してviでhostsファイルを開きましょう。
hostsファイルはrootユーザーにしか書き込み権限がないために、sudoをつけてviを起動しています。sudoをつけてますので、パスワードを聞かれますのでご注意下さい。
sudo vi /etc/hosts
あとはviの操作でIPアドレスとドメインの情報をセットで記入して、最後に保存してviを終了しましょう。
以上でターミナルを使用してのhostsファイルの設定は終了です。
テキストエディットを使用して書き換える
viやターミナル上の操作が苦手だという人はテキストエディットなどのテキスト編集のアプリケーションを使用してのhostsファイルの設定がおススメです。
Finderを立ち上げ「Command + Shift + G」で「フォルダの場所を記入」の機能を立ち上げましょう。
そこで/etc/hostsを記入して、移動しましょう。
するとhostsファイルが保存されているetcフォルダが開き、hostsファイルが見つかると思います。
hostsファイルを編集
権限の問題で直接編集可能でせんので、1回ダウンロードフォルダやデスクトップにそのファイルのコピーを作成しましょう。
コピーしたhostsファイルを右クリックでテキストエディットで開きましょう。
テキストエディットで追加するIPアドレスとドメインのセットを記述し、保存をしましょう。
hostsファイルを反映
あとはオリジナルのhostsファイルがあるetcフォルダに対して、コピー&編集したhostsファイルをペーストます。
上書きするときにユーザー名とパスワードの記入が求められます。正しい情報を記入すれば、無事にhostsファイルが上書きされます。
アプリを使用して書き換える
最後にアプリを使用してhostsファイルを書き換える方法をご解説します。ここでは「Hosts、prefpane」というアプリをご解説します。
ダウンロード
Hosts、prefpaneはhostsファイルをアプリケーション内で追加&消去、有効・無効を切り替えられるアプリです。
ダウンロードは下記のリンクから行えます。
PermanentMarkers
アプリを使う
インストールが終了すると、システム環境設定にHostsというアイコンが増えるかと思います。
こちらのアイコンを押して、Hosts、prefpaneを立ち上げましょう。
テキストエディットなどでテキスト編集しなくてもアプリを使用して管理が可能なので、テキスト編集に慣れていない方にもおススメの方法です。
hostsファイルの設定が反映されない場合
hostsファイルを編集しても中々設定が上書きされていないことがあります。その場合は以下を気を付けて見てみましょう。
hostsの設定情報があっているか
hostsファイルに設定した情報が本当にあっているか、またアプリを使用している場合はあまり意識することがないところかと思いますが、改行コードなどはutf-8のLFになっているかなど文法の問題をチェックしてみましょう。
まとめ
Macでhostsファイルを設定する方法をまとめました。またhostsファイルが反映されない場合の対処や見るべきポイントについてもあわせてまとめています。
hostsファイルはあまり編集する機会がないかもしれませんが、だからこそ、どうやってやるのか毎回調べる事が多い設定なのかと個人的には思っています。
今回の情報がちょっとでも役立てば幸いです。