RasberryPiに固定IPを割り当ててnginxでWebサーバーを立てるまで


はじめに

何番煎じかわかりませんが、RasberryPiに固定IPを割り当ててみたのでメモ。
せっかくなのでついでにnginxインストールしてサーバー立ててみました。
LAN内からのアクセスのみを想定しています。

環境

Windows10
RasberryPi 3b+(raspbian 8.0)

省略部分

RasberryPiのセットアップ(OSインストール,日本語化,SSHの設定,セキュリティなど)

実装してみる

RasberryPiに固定IPアドレスを割り当てる

一般的な家庭環境を考えると、おそらくRasberryPiはルーターのDHCP機能により自動的にIPアドレスが割り当たっているかと思います。
ただそれではラズパイ上にサーバーを立てたときに毎回アクセスするIPアドレスが変わってしまうので、固定IPを設定します。

まずラズパイの現在のネットワークの設定を確認します。

ターミナル上でifconfigのコマンドを叩くと、以下のような情報が表示されます。

eth0      Link encap:Ethernet  HWaddr **:**:**:**:**:**  
          /****(略)****/
lo        Link encap:Local Loopback  
          /****(略)****/
wlan0     Link encap:Ethernet  HWaddr **:**:**:**:**:**  
          /****(略)****/

内容省略していますがIPアドレスはNIC(NetworkInterfaceCard)ごとに登録されるため
有線(eth0)、無線(wlan0)ともにIPアドレスが割り当てられます。

loの項目に関してはLoopbackAddress(127.0.0.1)です。
自分自身を表すIPアドレスとなっています。

今回のWebサーバーは無線接続した状態で実装したいと思うのでwlan0のIPアドレスを固定化します。

次にターミナル上でvim /etc/dhcpcd.confと叩き、設定ファイルを編集します。
ファイルの一番下までいき、以下の内容を追記します。

interface wlan0
static ip_address=192.168.11.**/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1

となみにこのip_addressはルーターがDHCPで割り当てられるIPアドレス範囲から外す必要があります。
DHCPで割り当てられる範囲の確認方法に関しては、ルーターのメーカーごとに異なるのですが

※Buffaloの場合
ブラウザで192.168.11.1と入力し、アクセスするとルーターの設定画面のログインページに飛びます。
パスワードは機種ごとによって異なるので、Buffaloのホームページなどを参照してください。

設定画面へ遷移すると、LANの設定画面に以下のようなものがあります。

ここから割り当てIPアドレスの範囲が分かるので、その範囲を外したIPアドレスに設定してあげます。
ルーターによっては手動割り当て機能があるので、それを使うのが一番早いかもしれませんね。

/etc/dhcpcd.confの設定が完了したら一度rebootします。
reboot完了後にifconfigを叩くと、wlan0のIPアドレスの値が先ほど登録したものになっているかと思います。

nginxインストール

せっかく固定IPを割り当てたのでサーバーでも立ててみたいと思います。
まずはnginxをインストールしていきます。
以下のコマンドを叩きnginxをインストールしましょう。

apt-get install nginx

完了したら以下のコマンドでnginxをスタートさせます。
sudo service nginx start

nginxが立ち上がっているか確認するため、ブラウザを立ち上げ前回RasberryPiに設定したIPアドレスを上部のアドレスバーに入力しましょう。
以下のようなnginxのサンプル画面が表示されればサーバーが正しく立ち上がっていることが確認できます。

まとめ

RasberryPiに固定IPを割り当てる方法について記載しました。
ルーターのDHCPの範囲などはあまり記載してる記事がなかったようにも感じるので参考になれば幸いです。