Raspberry Pi
hostsで自分のページを見られるように…
今回は「自宅サーバーを持っている」というとても限定した状況でのお話。Raspberry
Piでブラウジングしていると自分のページ(マルペケ)を見る事が出来ません。変わりにルーターの設定画面が開いてしまいます。これは、DNSが解決してくれるホスト名marupeke296.comに対応したIPアドレスがルーターであるためです。これを解決するにはhostsファイルで「ホスト名"marupeke296.com"はマルペケサーバのローカルIPですよ」と教えてあげます。Windowsの場合はC:/Windows/System32/drivers/etcフォルダに「hosts」という拡張子無しのテキストファイルがあるのでそれを編集します。んじゃLinuxは?となるわけです。
@ Linuxのhostsファイルの保存
はい、こんなのはもうFAQですね。Google先生に尋ねたら死ぬほど出てきました(^-^;。Linuxのhostsファイルは/etc/hostsにあります。で、Linuxに慣れていないWindowsっ子な私などは「Cドライブはどこだ?」などと思ってしまう訳です。
Raspberry PiのX Windowには「File Manager」というWindowsでいうエクスプローラがあります。X
Windowの右下にアイコンがあります。それをクリックするとFile Managerのウィンドウが開きます:
で、WindowsでいうC:/にあたるのは、上のメニューバーにある[Go]から[My Computer]を選んで出てくる[File System]、これです。これをダブルクリックすると、ファイルパスが「/」になります。上の「/etc」の「/」はそういう意味なわけです。で、そのルートパスである「/」にetcフォルダは確かにありました。その中にhostsという拡張子の無いファイルもあります。hostsをダブルクリックすると、テキストエディタのLeafpadが開きました。ここまでくれば勝ったも同然。ここに"marupeke296.com"に対応するマルペケサーバ(ローカルPC)のIPを教えてあげます:
....
....
192.168.***.*** marupeke296.com
もちろん「***」には実際のローカルIPを入れました(^-^;。で、Saveすると…
ぎゃ!ちっくしょー、勝ってねぇ…。
「書き込むためにファイルを開けない」とあります。これは、あ〜なるほど、このファイルを管理者権限で開いていないからでしょうね。で、管理者権限でファイルを開く…か。
A 管理者権限でhostsファイルを開く
管理者権限でhostsファイルを開くには、ターミナルでsudoしてあげれば良いわけです。ターミナルを開いて次のようにコマンドラインに打ち込みます:
sudo leafpad /etc/hosts
sudoは管理者権限でよろしくのキーワード。次のleafpadがテキストエディタ「Leafpad」の指定。hostsの位置は「/etc/hosts」でした。Linuxではパスの指定で頭を「/」とすると先のFile
System(ルートフォルダ)からの相対パスになります。「/」を付けない場合はカレントディレクトリからの相対パスです。Windowsのパス指定では頭に「/」は無いので、最初戸惑いました(^-^;。
コマンドを実行するとhostsがLeafpadで開きました。管理者権限で開いているはずです。先と同様にホスト名のIPアドレスを指定してあげてSaveすると…よし!今度はセーブできたようです。じゃ、マルペケ、開くかな…:
Raspberry Piのブラウザで自分のページがちゃんと開きました〜〜、おほほ嬉しい(^-^)/。ホスト名の解決、ちゃんとできているようです。
B hostsを使う時
hostsはドメイン名に対するIPを直接指定する方法です。通常これはDNS(ドメインネームサービス)サーバが行ってくれます。じゃぁhostsをいつ使うかと言うと、この章のように内部サーバにドメイン名でアクセスする場合です。実際会社でDNSサーバが落ちた事があり、社内のサーバにDNSサーバ経由でアクセスできなくなる事がありました。そのままだと業務が完全に止まってしまう所でしたが、hostsに各サーバのIPを直接指定する事で一時しのぎが出来た経験があります。hosts、もしもの時に役立ちます(^-^)