Raspberry Pi はじめました (第5回) – DDNS編

Linux
スポンサーリンク

はじめに

Raspberry Pi はじめました (第4回) – はじめから の続きです。

環境づくり(part2)

Windowsから直接でアクセスできるようにしよう

  1. やっぱりWindowsPC上からアクセスしてファイル編集したい
  2. そこで、これも以前にあったように、sambaをインストール
sudo apt-get install samba
  1. 設定ファイルを編集
sudo nano /etc/samba/smb.conf
  1. 次を追加
[pi]
   path = /home/pi
   browseable = yes
   read only = no
   guest ok = no
   force user = pi
   hide dot files = no
  1. sambaアクセス用のパスワードを設定
sudo pdbedit -a pi
  1. サービスの再起動
sudo service smbd restart

外からアクセスできるようにするために、ドメインを作ろう

  1. ドメインは無料で作ることもできるのですが、安いので買ったほうがいいです。
  2. ダイナミックDNSが使える会社のがいいです。自サーバーのIPアドレスが固定じゃなくてもよいためです。
  3. というわけで、VALUE-DOMAIN を使用しましょう。
  4. 「お名前.com」は、「お名前.comでドメイン取得時にWhois情報公開代行を忘れると大損」なので注意
  5. 上位レジストラは、eNomだと「ネームサーバーが不正に変更される問題について」らしいので、GMOが安心
  6. VALUE-DOMAINで登録を終えたら「ダイナミックDNSの設定」で、パスワードを設定する。
  7. ダイナミックDNS機能を「無効」から「有効」にする
  8. 「ネームサーバーの設定」→「当サービス内のネームサーバー(ns1~5.value-domain.com)を利用する」
  9. 「DNS情報/URL転送の設定」で、「a * 1.1.1.1」と設定。アドレスは自分のアドレスとする。
  10. これで、ダイナミックDNSが使用可能となります。
  11. 次のURLを入力すると、0と返り、遠隔でIPアドレスを再設定できます。
https://dyn.value-domain.com/cgi-bin/dyn.fcg?d=hoge.com&p=password&h=*

crontabを使ってみよう

  1. \\RASPBERRYPI\pi\CronJobs」というフォルダを作る
  2. startup.sh」というファイルを作る
  3.  中身は下記のようにする
#!/bin/sh
# ここにスクリプトを書いていく
exit 0
  1. 実行権限をつける
chmod +x /home/pi/CronJobs/startup.sh
  1. ルート権限用のcrontabを開く
sudo crontab -e
  1. 次を追加する
@reboot su - pi -c "/home/pi/CronJobs/startup.sh"
  1. これで起動時に実行されるスクリプトを登録できました。
sudo timedatectl set-timezone Asia/Tokyo

とかを登録しておくと、日本の日本標準時間になるのでお勧めです。

  1.  他にも、同様の操作でDDNSの設定を定期的に実行とかも作れます。
  2. 例えば、 VALUE-DOMAINの場合は、次のような「ddns.sh」を作成して実行権限つけて
#!/bin/sh

domain="hoge.com" 
pass="pass"
path="https://dyn.value-domain.com/cgi-bin/dyn.fcg?h=*&d=${domain}&p=${pass}"

curl -s ${path} >> /dev/null

exit 0
  1. あとは、これをcrontabに追加すればでよい。
0 */12 * * * /home/pi/CronJobs/ddns.sh

Node.js / npm を使ってみよう

  1. 普通にNode.jsとnpmをインストールする
sudo apt-get update
sudo apt-get install -y nodejs npm
  1. npmのバージョンが古く色々とエラーが発生するのでアップデートする。nというバージョン管理ツールを利用する。
sudo npm cache clean
sudo npm install npm n -g
  1. インストールしたnで最新のLTS版にバージョンアップする
sudo n lts
  1. バージョンチェックして最新になっていることを確認する
node -v
v10.13.0
npm -v
6.4.1

補足としまして、以下のようにすると直接最新版をインストールできます。

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

インストール方法の詳細は、「NodeSource Node.js Binary Distributions」を参照してみてください。

おわりに

今日はここまで!
とりあえず、これで外から自宅サーバーへアクセスできるようになります。

コメント

タイトルとURLをコピーしました