Raspberry Piでブログを公開する 10日目 ダイナミックDNSに登録する


Pocket

Raspberry Piでブログを公開する 10日目です。単純にブログを公開するだけなら前回でほぼ完了しているのですが、最後にダイナミックDNSに登録して終わろうと思います。

前回の最後で、モバイルWi-FiのWAN側のIPアドレスを打たないとブログにアクセスできなかったかと思います。毎回IPアドレスを打ち込むのも面倒ですし、IPアドレスもたまに変わるので調べるのも面倒ですよね。

それらの面倒を解決してくれるのがダイナミックDNSです。

WebサイトのURLといえばほとんどがhttp://semodeler.mydns.jp/wordpress/ http://semodeler.life(追記:独自ドメイン取得によりURLが変わりました)のように、英数文字になっていると思います。これは本当はIPアドレスを指定してもアクセスできるんですが、IPアドレスのように覚えにくい数字の羅列よりは、IPアドレスと対応する英数文字を登録しておき、登録された英数文字でアクセスした際に変換された方が使い勝手がいいですよね。

で、上記の「IPアドレスと対応する英数文字を登録しておき、登録された英数文字でアクセスした際に変換」をしてくれるのがDNS(ドメイン・ネーム・システム)になります。こいつに登録しておけばIPアドレスを変換してくれます。

で、更に言うと、今回使っている回線(Broad Wimax)だと割り当てられるグローバルIPアドレスがたまに変わります。グローバルIPアドレスが動的に変わるものを登録しておけるのがダイナミックDNSになります。グローバルIPアドレスが変わるたびにDNSに登録しなおすのも面倒なので、定期的にグローバルIPアドレスをDNSに登録するスクリプトも作っておきましょう。

1.ダイナミックDNSに登録する

ダイナミックDNSは無料で登録できるものもあり、いろんな種類がありますが、今回はMyDNS.jpさんを使わせてもらおうと思います。

以下のサイトにアクセスします。

MyDNSのトップページが表示されるので、メニューの[JOIN US]をクリックします。

各種情報を入力し、[CHECK]をクリックします。

確認画面が表示されるので、問題がなければ[OK]をクリックします。

登録できると以下のような画面になります。

で、しばらくするとMyDNSから登録情報のメールが来ます。マスターID(ユーザーID)とパスワードが記載されているので、削除しないようにしましょう。

メールを確認できたら、もう一度MyDNSの画面に戻り、左メニューにある[USER LOGIN]の[MasterID][Password]に先ほどのメールに記載されたものを入力し[LOGIN]をクリックします。

ログインできると以下のような画面になります。

左メニューの[DOMAIN INFO]をクリックします。

下の方へスクロールすると、自分のサイトのURLを設定する入力欄が表示されます。ここで自分のサイトのURLを決めることができます。

例:http://semodeler.mydns.jp/

具体的に言うと、上記のURLのうち赤字は(すでに他の人に登録されていない範囲で)自由に決められます。また、青字の部分もいくつかの種類から選択できますが、今回は覚えやすいmydns.jpにしておきます。

では登録をしましょう。以下の内容を入力し、[CHECK]ボタンをクリックします。

Domain:上記の赤字と青字の部分 例:semodeler.mydns.jp
MX:(変更なし)
Hostname:上記の赤字の部分 例:semodeler
Type:A(変更なし)

登録内容の確認画面が表示されるので、問題がなければ[OK]ボタンをクリックします。

続いて、変換先のIPアドレスを登録します。

左メニューの[IP ADDR DIRECT]をクリックします。IPアドレスの登録画面が表示されるので、以下の内容を入力して[CHECK]ボタンをクリックします。

IPv4 Address,Mode:モバイルWi-FiのWAN側のIPアドレス、動的IP
IPv6 Address,Mode:(変換なし)

確認画面が表示されるので、問題がなければ[OK]ボタンをクリックします。

では登録が終わったので、先ほど登録したURLの末尾に「wordpress/」をつけたアドレスにアクセスしてみましょう。ただし、自宅のLAN内からだと例によってアクセスできないので、Torブラウザを使うかVPNツールを使ってアクセスしましょう。

例:http://semodeler.mydns.jp/wordpress/

表示できました!!

 

2.グローバルIPアドレスをMyDNSに定期的に通知する

続いて、グローバルIPアドレスをMyDNSに定期的に通知するスクリプトを作って実行するようにします。

Raspberry Piのわかりやすい場所に、noticeIP.shというファイルを作成します(今回はデスクトップに作成しました)。ファイルの内容は以下にしてください。これを定期的に実行すれば、MyDNSに自動でログインしてグローバルIPアドレスを通知してくれます。

では自動で実行する設定をしていきましょう。LXTerminalを起動して、以下のコマンドを入力します。

続いて、以下のコマンドを入力します。

LXTerminal上でcrontabの編集ができるので、以下の内容を入力してCtrl + Dを押し、Ctrl + Xを押します。この設定では、10分おきに先ほどのスクリプトを実行するようにしています。

ちなみに、モバイルWi-FiのWAN側のIPアドレスが変更されて、10分おきのMyDNSへの通知がうまくいっているとMyDNSの[LOG INFO]にその情報が表示されていきます。(うまくいっていなければ自分のサイトのURLにアクセスできないので、そちらで気づくと思いますが)。

3.おまけ Apachのデフォルトページを表示させないようにする

ここからはおまけです。公開しているサイトのURLで、末尾の「wordpress」を取った以下のようなアドレスにアクセスすると、Apacheのデフォルトページが表示されると思います。

例:http:/semodeler.mydns.jp/

Apacheを使っているのがすぐにわかってしまうのと(ここですべて公開しているので意味ないですが)、単純にかっこわるいので、上記のURLにアクセスされた場合はWordPressのURLにリダイレクトするようにしちゃいましょう。

まずはRaspberry PiでLXTerminalを起動して以下のコマンドを入力して、Apacheのデフォルトページのバックアップを保存します。

続いて以下のコマンドを入力してindex.htmlをテキストエディタで開きます。

テキストエディタで開いたら、ファイルの中身を全部選択して一旦消して、以下の内容を貼り付けて保存します。

 

保存が終わったらリダイレクトされることを確認しましょう。先ほどのように末尾の「wordpress」を取ったURLにアクセスしてみます。

例:http:/semodeler.mydns.jp/

無事WordPressのURLにリダイレクトされました!

4.おまけ2 WordPressの管理画面にログインできない

ダイナミックDNS越しにWordPressの管理画面にログインしようとすると、ログインできなくなっている可能性があります。これはWordPressのURLのデフォルトの設定が、動的IPを想定した設定値になっていないからみたいです(WordPressは設定として自分のURLを持っている)。で、動的IPなのでコロコロWordPressのIPアドレスが変わるので、きちんと設定しておいてあげないと管理画面にログインできない可能性があります。

詳しくは以下のサイトの「2.WordPressアドレスを間違って変更してしまった場合」を参考に対処してみてください。

おわりに

Raspberry Piでブログを公開することができました!平日の仕事から帰ってからRaspberry Piをいじっているので1日当たりの作業量は少なく10日となっていますが、組み立てで1日使っていたりするので正味7日あればできる内容化と思います。

WordPressのテーマの設定とかは今回記事にしませんでしたが、また機会があれば書くかもしれません。

普段仕事でしないような、Linuxを触ったり、サーバーを立てたり、ルーターの設定をしたりと勉強になったと思います。こうしてブログの公開もできているので、いろいろ勉強したことを書いていこうかなぁと思います。

これ1冊でできる! ラズベリー・パイ 超入門 改訂第4版 Raspberry Pi 1+/2/3/Zero/Zero W対応 ★★★★

Raspberry Piの初期設定からWebサーバーとして公開するまでわかりやすく解説されている本です。こちらの本とネットの情報でRaspberry Pi・WordPressの設定を進めました。

Raspberry Pi3 コンプリートスターターキット (Standard 16G) ★★★★★

私が買ったスターターキットとは異なりますが、基本的な内容は同じなのでこちらを購入すればすぐにRaspberry Piを始められます。近所にRaspberry Piが売っていない方や、買いに行く時間が無い方はぜひ。

執筆時間:3h20m

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です