Mac

Macでhostsを書き換える

ターミナルを使ってhostsを書き換えます。

hostsファイルは簡単に言うと、ドメイン(ホスト名)とIPアドレスの紐付けを記載するファイルのことです。
今回は、ローカルIP(127.0.0.1)と “test_a” というホスト名を紐付けます。
なお、IP 127.0.0.1 はローカルIPと決まっています。

やりたいことは http://test_a でアクセスすると http://localhost で接続したものと同じページが見れる事を確認します。

環境は以下を構築している前提となります。
Amazon linux2 docker コンテナにapache webサーバをインストールし使用します。

hostsファイルの場所

hostsファイルは以下に存在します。

/private/etc/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
::1             localhost
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section

上記は ローカルIP 127.0.0.1 は localhost と kubernetes.docker.internal と紐づいています。
kubernetes.docker.internalは気にしないでください。

hostsの修正

ファイルの権限の確認

hostsは重要なファイルの為、読み取りのみの権限が設けられています。
以下のコマンドで権限を確認します。

・コマンド

ls -al /private/etc/hosts

・結果

-rw-r--r--  1 root  wheel  365  8  1  2019 /private/etc/hosts

ファイルの権限変更

今回はhostsファイルを編集するので、書き込み権限を与えます。
なお、sudoで実行しないとファイル権限が変更できませんでした。

・コマンド

sudo chmod 766 /private/etc/hosts

パスワードが聞かれます。macを起動した時にログインするパスワードを入力してみて下さい。権限が変更された事を確認します。

・コマンド

ls -al /private/etc/hosts

・結果

-rwxrw-rw-  1 root  wheel  383 12 26 13:10 /private/etc/hosts

書き換え

hostsファイルへ以下を追記します。

127.0.0.1 test_a

ファイルの権限を戻す

以下のコマンドでhostsファイルの権限をもとに戻します。

・コマンド

sudo chmod 644 /private/etc/hosts

権限が変更された事を確認します。

・コマンド

ls -al /private/etc/hosts

・結果

-rw-r--r--  1 root  wheel  383 12 26 13:10 /private/etc/hosts

hostsの修正が反映されたことの確認

ブラウザから以下へアクセスしてください。localhostと同じページが表示されれば成功です。

http://test_a

最後に

これらはSwitchHostsを使用すると非常に便利です。

© DeNnie.Lab All Rights Reserved.