気まま研究所ブログ

ITとバイク、思ったことをてきとーに書きます。

Raspberry Pi 3でウェブサーバーを建てる ① 初期セットアップ編

f:id:AonaSuzutsuki:20160423014722j:plain

お久しぶりです。
つい先日、やっとRaspberry Piを手に入れたのでウェブサーバーとして使えるレベルに調整した時の話を載せておきます。
以前から気になっていたのですが、なかなか手に入れられなくて今になってしまいました。

既にこういった記事は幾つも見られますが、執筆当時のバージョンの情報はほぼなかったので書くことにしました。


追記、最終目的のサーバ記事を新しく書き直しました。
aonasuzutsuki.hatenablog.jp

Raspberry Pi 4の記事も新しく書きました。
aonasuzutsuki.hatenablog.jp

用意したもの

f:id:AonaSuzutsuki:20160423015524j:plain ※一部映ってません。

  1. Raspberry Pi 3 Model B
  2. Micro SD 16GB (4GB以上推奨)  http://kakaku.com/item/K0000290710/
  3. Micro SD to USB変換アダプタ http://kakaku.com/item/K0000742104/
  4. Micro USB Type-Bケーブル http://kakaku.com/item/K0000122066/
  5. USB Type-A to AC 変換アダプタ (2.5A以上) ※1
  6. HDMI Type-A ケーブル http://kakaku.com/item/K0000607204/
  7. HDMI to DVI変換アダプタ ※2 http://www.kuroutoshikou.com/product/graphics_bord/accessories/dvi-hdmi2/
  8. キーボード http://kakaku.com/item/K0000338892/
  9. マウス ※3 http://kakaku.com/item/J0000009495/
  10. Windows PC
  11. WinRAR ※4
※1 今回は2.1AのiPhoneiPad用の純正変換アダプタを利用しました。 過度な処理をさせなければまだ使えます。
※2 モニターがHDMI枠埋まってたのでDVIに変換しました。 特に必須ではないです。
※3 Bluetoothは確認してませんが、無線マウス対応してます。
※4 zipの解凍に使いました。


Micro SDのフォーマット

まずはじめにMicro SDを FAT32でフォーマット します。
基本的にWindows標準のフォーマットでも問題ありませんが、再インストールの場合は容量が60MBだったり、Micro SDのサイズと一致しないので以下のソフトを用意しておくことをおすすめします。
以下にもこのソフトを用いた手順を載せておきます。

SDカードフォーマッター

SDカードフォーマッターをインストールし、起動するとこのような画面になるのでドライブが正しく選択されているかを確認します。

f:id:AonaSuzutsuki:20160423015840p:plain

確認できましたらオプション設定をクリックし、 論理サイズ調整ON でOK

f:id:AonaSuzutsuki:20160423015844p:plain

あとはフォーマットボタンを押します。
フォーマット開始前にいくつか聞かれますが、特に問題がなければ「はい」でフォーマットを開始します。


Raspbianのダウンロード

続いてRaspbianのダウンロードを行います。
まずはRaspbianを公式からダウンロードします。

https://www.raspberrypi.org/downloads/

Raspbianをクリックすると RASPBIAN JESSIE (LITEでない)とあるので DOWNLOAD ZIP ボタンをクリックしてください。
なお、Lite版は最小構成というだけですので容量を削減したい場合はこちらでも問題無いです。

ダウンロードが完了しましたら解凍しましょう。


Micro SDにddで書き込む

次にMicro SDに先ほどダウンロード・解凍したRaspbianを書き込みます。
UNIX OSならddコマンドを使って書き込みますが、Windowsにはないので DD for Windows をお借りします。
なお、cmd版のDD for Windows betaというのもありますが、こちらは使えませんでした。

http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows

ダウンロード完了後、解凍し、DDWin.exeを起動します。

f:id:AonaSuzutsuki:20160423020951p:plain

起動するとこういった画面がでるので、ディスク選択で対象のMicro SDを選択し、ファイル選択で 先ほど解凍したRaspbianのimgファイル を選択します。
なお、ファイル選択はAll Filesに変更しないと表示されません。

あとは「 << 書き込み << 」ボタンをクリックし、作業が終わるまで待ちます。
なお、この時いくつかアラートが出ますが、特に問題がなければ「はい」で勧めましょう。

書き込みが完了しましたらPCでの作業は終わりです。
取り外し操作を行い、Micro SDを引っこ抜きます。


Raspberry Pi 3のセッティング

ここからはPCから離れてRaspberry Piで作業を行っていきます。
まず はじめにMicro SDを差し込みます
入れ口は裏面にあります。
他は特に順番はありませんが、 Micro SDだけは初めに入れてください
電源を挿した瞬間起動し、OSが起動しません。

f:id:AonaSuzutsuki:20160423021324j:plain

次に、HDMI、マウス、キーボード、電源と繋いでいきます。

f:id:AonaSuzutsuki:20160423021522j:plain


プライマリパーティションの拡張

Raspbianだけかどうかわかりませんが、そのままだとSDに余裕があってもパーティションがすごく小さい容量になっています。
このままではほとんど何もできないのでパーティションをSD全体に拡張します。
fdiskコマンドでもできますが、便利な機能が搭載されているのでそちらを使います。

sudo raspi-config

f:id:AonaSuzutsuki:20160423101157p:plain

コマンド発行後、設定画面がターミナルに出てきます。
一番上にある「 Expand Filesystem 」を選択し、エンターを押すといろいろと聞かれますが、YESで進めると自動的にコマンドが生成されてパーティションが拡張されます。

sudo reboot

拡張が問題なく完了できましたら再起動をかけます。

起動後に以下のコマンドでパーティションが拡張されたことが確認できます。

df -h
pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        15G  3.7G   11G  27% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.3M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   60M   20M   41M  34% /boot
tmpfs            93M     0   93M   0% /run/user/1000

/dev/rootのサイズが15GBにまで上がってます。


SSHの設定

ここからはディスプレイに常につなげている状態であれば必要はありませんのでスルーしても問題ありません。
ただし、SSHを使わないのであれば止めてしまうかせめてパスワードだけでも設定しておきましょう。
今回、常にディスプレイに表示してられないのでSSHでメインコンピュータから遠隔操作できるようにします。

今のRaspbianはSSHが既に有効化されていますが、初期設定だと少し不安が残るのでパスワード設定と、IPの確認を行います。

パスワードの変更はGUIまたはターミナルから行うことができます。
GUIでは「 Menu→Preferences→Raspberry Pi Configuration 」の「 Change Password 」で変更が可能です。
今回は面倒なのでターミナルで行います。

passwd
pi@raspberrypi:~ $ passwd
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

次に、Raspberry PiのローカルIPを確認します。
pingで確認する方法もあるみたいですが、画面が見えてるのでターミナルで確認します。

ip route
pi@raspberrypi:~ $ ip route
default via 192.168.1.1 dev wlan0  metric 303
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.42  metric 303

ip routeコマンドで私の場合、srcの部分がローカルIPとなります。
今回は192.168.1.42ですね。

最後にSSHで接続を確認してみます。
外部PCに戻り、LinuxOS Xも入ってる?)ならsshコマンドで、Windowsなら外部SSHクライアント(Tera Termを使ってます)を使用します。
私はCygwinかなにかでSSHコマンドが入っていたのでSSHコマンドの方法を載せます。

ssh -l pi 192.168.1.42
C:\Users\rvv>ssh -l pi 192.168.1.42
pi@192.168.1.42's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Mar 23 23:16:32 2016 from 192.168.1.45
pi@raspberrypi:~ $

このようになれば完了です。
なお、-lオプションはログインIDを示し、引数はそのまま接続先を示します。
アクセスができるとパスワード入力画面となるので先ほど変更したパスワードを入力します。

追記

めちゃくちゃ初歩的な内容ですが、ssh pi@192.168.1.42でもいけます。

追記2

SDXC規格のMicroSDはSDカードフォーマッターでもWindows標準のフォーマッタでもexFATでフォーマットされてしまいます。
Raspberry Pi 3ではFAT32以外認識しないようなので無理やりFAT32でフォーマットできる異なるソフトが必要です。
少なくともFAT32は2TiBまで扱えるのでフォーマットができれば使うことができます。
記事には書きませんが、私はAOMEI Partition Assistant Standard Editionでフォーマットしたところ上手く動きました。


これで一通り別PCで使えるようになりました。
第一回目は全くApacheに触れませんでしたが、次回はFTPの用意とApacheの設定を行っていきます。

次 - Apacheの設定