XAMPPとダイナミックDNSでAlexaと連携する自宅サーバを構築

Alexaに自作のスマートホームスキルを導入すれば、「定型アクション」を通じてAlexaやスマートホーム機器を様々なツールやサービスと連携させられる。
定型アクションから自宅のパソコン上のプログラムを実行させるには、パソコン上にWebサーバを構築してPHPなどのスクリプトを設置し、自作スマートホームスキルの擬似デバイスの作動時のアクセス先に設定しよう。
パソコン上にWebサーバを構築するには、ApacheやPHPなどの定番プログラムをまとめて導入出来る「XAMPP」というパッケージがおすすめだ。
また、自宅の回線のIPアドレスは停電やルーターの再起動で代わる可能性があるので、自宅サーバに一定のホスト名でアクセス出来るようにする「ダイナミックDNS」のサービスにも登録しておこう。
擬似センサーによる定型アクションの起動だけを使用する場合は、自宅サーバの構築は不要だが、今回あんスマが用意したトリガースクリプトを実行するにはPHPが必要なので、未導入の場合はXAMPPでインストールするといいだろう。





XAMPPを導入しHTTPサーバを起動


001

まずはXAMPPのサイトからパッケージをダウンロードしてインストールを行おう。
「ダウンロード」ページの「その他のダウンロード」からは、ZIPを解凍するだけでインストールせずに使えるポータブル版や旧バージョンなどのダウンロードも可能だ。

XAMPP Installers and Downloads for Apache Friends


002

XAMPPのポータブル版をダウンロードしてXAMPPを設置したいフォルダに解凍したら、「setup_xampp.bat」を実行しよう。


003

次に、XAMPPのフォルダ内の「apache」→「conf」フォルダにある「httpd.conf」をメモ帳などのテキストエディタで開き、「Listen 80」となっている行を探して、数字を49152~65535の適当な数に書き換えよう。
このようにして待ち受けポート番号を変えておく事で、サイバー攻撃の標的になりにくくなるぞ。


004

XAMPPのフォルダ内の「xampp-control.exe」を実行し、言語(英語/ドイツ語)を選択すると、このような画面が表示される。「Apache」の行の「Start」をクリックすれば、HTTPサーバが起動するぞ。
「Config」で設定画面に進み、「Autostart of modules」の「Apace」と「Start Control Panel Minimized」にチェックを入れて保存し、Windowsのスタートアップにxampp-control.exeのショートカットを入れておけば、Windowsの起動時に自動的にHTTPサーバを起動させられる。


ネットワーク設定の変更


005

インターネット上からルーターを経由してパソコンにアクセス出来るようにするために、ルーターの設定画面で「IPマスカレード」「静的NAT」「ポートマッピング」「ポートフォワーディング」などという名称の項目を探し、設定を行おう。WAN側(インターネット)からの先ほどhttpd.confで設定した番号のポートにアクセスがあったときに、パソコンの同じ番号のポートに転送するように、ポート番号とパソコンのローカルIPアドレスを設定しておく。

また、パソコンのローカルIPアドレスが再起動などで変わらないように、DHCPでの自動割り当てではなく手動で指定するように設定しておく必要がある。Windowsのバージョンによって設定画面に辿り着く手順が異なるので、下記のページなどを参考に設定しよう。
ルーター側に割り当てアドレスの手動指定などの機能が用意されている場合は、そちらを使ってもいいだろう。

TCP/IP 設定を変更する


ダイナミックDNSを設定


007

次に、ルーターの再起動や停電でグローバルIPアドレスが変わっても同じホスト名で自宅サーバにアクセス出来るように、ダイナミックDNSサービスに登録を行おう。今回は「DDNS Now」というサービスでの例を紹介するぞ。
最初に利用する場合は、「新規登録」欄に希望するサブドメイン名とパスワードを入力して「登録する」を押すだけでいい。
ダイナミックDNSサービスは他にも多数あるので、好みのホスト名が欲しい場合は探してみよう。

なお、パスワードに一部の記号が含まれていると、IPアドレスの登録更新用URLに組み込むときにエンコードが必要で面倒くさいので、英数字のみで長めのパスワードにしておくといいだろう。

DDNS Now – 無料ダイナミックDNSサービス


008

登録が完了するとこのような画面が表示され、「ホスト名」の欄に表示されているアドレスで自宅サーバにアクセス出来るようになる。


009

ブラウザのアドレスバーで、取得したホスト名の後に「:」に続いてhttpd.confで指定したポート番号を付けたアドレスを入力して、このようなXAMPPのデフォルト文書の画面が表示されれば、自宅サーバの構築は完了だ。


010

停電やルーターの再起動でIPアドレスが変わったときに登録情報を自動更新されるようにするには、XAMPPのフォルダの「apache」→「bin」にある「curl.exe」のショートカットを作成し、プロパティで「リンク先」に半角スペースに続いて「https://f5.si/update.php?domain=(ユーザ名)&password=(パスワード)」のようなURLを追加した物をスタートアップに登録して、パソコンの起動時に自動実行されるようにしておくといいだろう。
パソコンをUPS(無停電電源装置)に繋いでいたりして、ルーターのインターネット接続のみがリセットされる可能性がある場合は、タスクスケジューラーなどで定期実行するようにしておくといいぞ。

DDNS Nowの「更新方法の解説」のページでは他の更新方法も紹介されているので、好みの方法で自動更新させよう。

更新方法の解説 – DDNS Now

関連記事

2020年10月31日06時40分 公開 | カテゴリー: ライフハック | キーワード: | Short URL
このエントリーをはてなブックマークに追加

最新記事