見出し画像

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

(この記事は無料で最後までお読みいただける投げ銭方式の記事です)
(この記事は個人ブログにて公開していた記事をnoteに転載したものです)

この記事は2018年5月時点の情報に基づいたものです。最新の情報と異なる可能性がありますのでご注意ください。

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アドレスと対応する英数文字を登録しておき、登録された英数文字でアクセスした際に変換された方が使い勝手がいいですよね。
※注意:この記事はRaspberry Pi上でWordPressを稼働させて公開していた記事をnoteに転載したものです。この記事はnote上で公開されています。

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

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

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

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

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

画像1

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

画像2

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

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

画像3

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

画像4

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

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

画像5

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

画像6

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

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

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

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

Domain:上記のhttp://より後の部分 例:semodeler.mydns.jp
MX:(変更なし)
Hostname:上記の「http://」と「.mydns.jp/」の間の部分 例:semodeler
Type:A(変更なし)

画像7

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

画像8

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

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

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

画像9

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

画像10

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

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

画像11

表示できました!!

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

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

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

#!/bin/bash
user=MyDNSのマスターID(ユーザーID)
pass=MyDNSのパスワード
wget --http-user=${user} --http-passwd=${pass} http://www.mydns.jp/login.html

画像12

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


cd /home/pi/デスクトップ/ #←noticeIP.shを保存したディレクトリ
chmod 755 noticeIP.sh

画像13

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

sudo crontab -e

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


*/10 * * * * sudo /home/pi/デスクトップ/noticeIP.sh

画像14

ちなみに、モバイル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のデフォルトページのバックアップを保存します。

sudo cp /var/www/html/index.html /var/www/html/bk_index.html

画像15

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

sudo leafpad /var/www/html/index.html

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>SE Modeler</title>
<script type="text/javascript">
<!--
setTimeout("link()", 0);
function link(){
location.href='リダイレクト先のURL';
}
-->
</script>
</head>
<body>
<div>
Now Redirecting...!!!
<br>
<br>
Redirecting to
<a href="リダイレクト先のURL">リダイレクト先のURL<a/>
</div>
</body>
</html>

画像16

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

例:http:/semodeler.mydns.jp/

画像17

無事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を触ったり、サーバーを立てたり、ルーターの設定をしたりと勉強になったと思います。こうしてブログの公開もできているので、いろいろ勉強したことを書いていこうかなぁと思います。

執筆時間:3h20m

ここから先は

0字

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

よろしければサポートお願いします!いただいたサポートは記事執筆の活動費に充てさせていただきます!