Raspberry Piで手のひらサーバーを作ろう(1) [インストール ~ 各種設定SSH接続まで]

ラズパイを使おう


Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Element14版, Clear)-Physical Computing Lab

近年、Arduinoと共に電子工作のフィジカルコンピューティングとして有名になっているのがRaspberry Pi(ラズベリーパイ)です。Raspberry Piとは英国ラズベリーパイ財団が開発した超小型の手のひらサイズのシングルボードコンピューターで、プログラミングや電子工作、果てはIoTにまで手を出すことが出来てしまいます。一時期モノづくり系のブログやまとめサイトを賑わせていたので、存在だけは知っているという人も多いと思います。

さて、このラズパイ(Raspberry Piの略称)は一体何ができるのでしょうか。

性能は低いが軽くて安いから色んな使い方ができる

このラズパイ、何ができるのかと聞かれればコンピューターに関することなら大体できてしまいます。

小さい形をしていますが、この大きさでも立派なパソコンです。パソコンを構成するCPUやメモリなどがボード上に実装されており、コレにディスプレイやマウス・キーボードにSDカードを用意して組み立てれば、MacやWindowsのような使い方をすることもできます。

研究施設においてあるようなスパコンのような大規模な計算処理には向きませんが、ウェブを見るくらいなら普通にできますし、フルHDの動画の再生だってできてしまいます。

更に、ラズパイは非常に小さく安いため、誰にでも手が届きやすく手軽に使う事が出来ます。それこそ、腕に覚えがあれば電子工作用途でもソフトウェア用途でもコンピューターという概念を超えて、全く新しい製品を作り出すことも可能かもしれません。

まずはLinuxのサーバーとして使ってみる

まずはラズパイに慣れるために、比較的使い慣れているLinuxを入れてサーバーを構成してみたいと思います。ラズパイのOSは殆どLinux系のため、まずはハードウェア的なスペックやクセの部分を確認してみます。

個人でも使えるサーバーとしてファイルサーバやウェブサーバなどを入れて、更にPHPとデータベースを動くようにしてWordpress(このサイトの動作環境)が動くまでを目指してみたいと思います。

今回用意するもの

  • Raspberry Pi 2 model B
  • MicroSDカード(8GB)
  • USBキーボード
  • LANケーブル
  • HDMIケーブル(ディスプレイ表示用)
  • MicroUSBケーブル
  • USB充電器
  • Windowsマシン

CentOSのイメージダウンロード

Raspberry Piでは様々なOSが使えるようで、用途に応じて様々なOSを選ぶことが出来ます。今回のサーバー用途に向いたいいOSはないかと調べていたら、CentOSが使えるようなのでこれをベースにサーバーを構築していきます。

まずは、CentOSの公式ページにラズパイ用のイメージがあるのでダウンロードします。

  • Download CentOS Linux ISO images

https://wiki.centos.org/Download

『AltArch Releases』の項目『Arch』の『armhfp(Arm32)』にある『RaspberryPi2 (img)』または『RaspberryPi3 (img)』を選びます。(使用するラズパイに合わせてダウンロードします)

SDカードにイメージをコピー

SDカードのフォーマット

SDカードにCentOSをインストールする前準備として、SDカードのフォーマットを行います。新品のSDカードであればフォーマットしなくても大丈夫ですが、一度使ったSDカードをそのまま使うと色々と問題が残るので、フォーマットはちゃんとしておいた方がいいでしょう。

SDカードのフォーマットにはSDカード専用のフォーマッタを使います。

  • SD/SDHC/SDXC用SDフォーマッター4.0

https://www.sdcard.org/jp/downloads/formatter_4/

8GBのSDカードを接続しているが、表示上は500MBとなっている。このSDカードは一度CentOSをインストールしているので総容量が少なく認識されてしまう。こういう場合はフォーマットが必要になる

SDカードへデータコピー

フォーマットが終わったら先ほどダウンロードしたCentOSのイメージファイルをSDカードにコピーします。

コピーには『DD for Windows』という専用のコピーソフトを使います。

  • DD for Windows

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

DD for Windowsは右クリックで管理者権限で起動しないとSDカードが表示されないので注意。CentOSのイメージファイルを選択したら赤枠の書き込みボタンを押して書き込みを行う。結構時間がかかるので注意。警告がいくつか出るがすべてOKを押す

CentOSの起動と各種設定

コピーの終わったSDカードをラズパイに挿入して電源を入れると、CentOSが起動します。

初回起動時のCentOS。起動が終わるとこの画面になる。(この手前で止まった場合はエンターキーを押すとログイン画面になる)

起動が完了したらログインします。初期パスワードは以下のようになります。

  • login : root
  • password : centos

キーボードの設定

起動直後のCentOSは英語キーボードの設定になっているため、入力したキーと表示されるキーが一部異なってしまいます。そのため、一番初めにキー設定を行います。

下記のコマンドを入力してエンターキーを押すとキーボードの設定が切り替わります。

# localectl set-keymap jp106
# localectl set-keymap jp-OADG109A
# localectl set-locale LANG=ja_JP.utf8

アップデート

次は、CentOSのアップデートを行います。下記のコマンドを実行すると自動でアップデートが始まります。

アップデート中の画面。この時点でラズパイにLANケーブルを刺してインターネットに接続しておく。ダウンロードするファイルは大体100Mくらいになる

SDカードの容量拡張

今回、CentOSのインストールには8GBのSDカードを使用していますが、容量を確認してみると2GBしか使用されていません。残り6GBを有効活用するためにサイズの拡張を行います。

/root/READMEを確認するとパーティション拡張の方法が変わっているようで、今迄の方法(touch /.rootfs-repartition)は有効ではないようです。最新のCentOSでは下記のコマンドを実行することで対応します。

# /usr/local/bin/rootfs-expand

タイムゾーンの変更

ラズパイの時間はUTCになっているので日本時間のJSTに変更します

# timedatectl set-timezone Asia/Tokyo

SSHで接続してみる

SSHとはネットワーク越しに別のコンピューターを遠隔操作する仕組みの1つです。SSHを使えばラズパイにディスプレイもキーボードも不要になって、LANケーブルだけでラズパイを操作することが出来ます。

最新のCentOSでは初めからSSHの設定が有効になっているため、すぐにSSH接続を行うことが出来ます。SSHでラズパイに接続するにはTera Termというソフトを使います。

  • Tera Term

https://ja.osdn.net/projects/ttssh2/releases/

SSHでラズパイを制御するにはIPアドレスを確認する必要があります。ラズパイで下記のコマンドを実行してIPアドレスを確認します。

#ip address

画面赤枠の数字がinetという項目に記載されている数字がIPアドレスになる。

先ほど確認したIPアドレスをホストという項目に入力してOKボタンを押すと接続が始まる

接続できると認証画面になる。先ほどのユーザー名rootとパスワードcentosを入力するとログインできる

認証に成功すると普通にログインした時と同じ画面になる。SSHで接続できたらラズパイからキーボードとディスプレイのケーブルを抜いてOK。

SSHの接続が確認できたら、キーボードやディスプレイのケーブルを抜いてしまっても大丈夫です。この先の操作はSSHのみで行うことができます。

ラズパイまとめ


kksmart Raspberry Pi 3 Model B ラズベリーパイ 3 モデル B コンプリートスターターキット 16GB (class 10)

ラズパイにはGPIOと言う汎用の入出力ポートが付いているので、これを使った電子工作を始めるのもラズパイの醍醐味ではあるのですが、今回はラズパイを使ったサーバーとしての運用を目指します。

また、昨今の電子工作も若干雰囲気が変わってきて、やれフィジカルコンピューティングだIoTだと、電子系や組み込み系の技術者と言えどネットワーク系の知識も求められている感があります。

そんなわけで、電子工作趣味の方や電子系の学生さんでもこの先の電子工作にはサーバについての知識などが求められる時代が来ているとも言えます、そのため、これを機にラズパイでネットワークなどの技術に触れてみるのもいいでしょう。