目次
ラズパイでLinuxサーバー運用を目指してみる
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の公式ページにラズパイ用のイメージがあるのでダウンロードします。
『AltArch Releases』の項目『Arch』の『armhfp(Arm32)』にある『RaspberryPi2 (img)』または『RaspberryPi3 (img)』を選びます。(使用するラズパイに合わせてダウンロードします)
SDカードにイメージをコピー
SDカードのフォーマット
SDカードにCentOSをインストールする前準備として、SDカードのフォーマットを行います。新品のSDカードであればフォーマットしなくても大丈夫ですが、一度使ったSDカードをそのまま使うと色々と問題が残るので、フォーマットはちゃんとしておいた方がいいでしょう。
SDカードのフォーマットにはSDカード専用のフォーマッタを使います。
SDカードへデータコピー
フォーマットが終わったら先ほどダウンロードしたCentOSのイメージファイルをSDカードにコピーします。
コピーには『DD for Windows』という専用のコピーソフトを使います。
CentOSの起動と各種設定
コピーの終わったSDカードをラズパイに挿入して電源を入れると、CentOSが起動します。
起動が完了したらログインします。初期パスワードは以下になります。
- login : root
- password : centos
キーボードの設定
起動直後のCentOSは英語キーボードの設定になっているため、入力したキーと表示されるキーが一部異なってしまいます。そのため、一番初めにキー設定を行います。
下記のコマンドを入力してエンターキーを押すとキーボードの設定が切り替わります。
# localectl set-keymap jp106
# localectl set-keymap jp-OADG109A
# localectl set-locale LANG=ja_JP.utf8
アップデート
次は、CentOSのアップデートを行います。下記のコマンドを実行すると自動でアップデートが始まります。
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というソフトを使います。
SSHでラズパイを制御するにはIPアドレスを確認する必要があります。ラズパイで下記のコマンドを実行してIPアドレスを確認します。
#ip address
SSHの接続が確認できたら、キーボードやディスプレイのケーブルを抜いてしまっても大丈夫です。この先の操作はSSHのみで行うことができます。
ラズパイまとめ
ラズパイにはGPIO汎用の入出力ポートが付いているので、これを使った電子工作を始めるのもラズパイの醍醐味ではあるのですが、今回はラズパイを使ったサーバーとしての運用を目指します。
また、昨今の電子工作も若干雰囲気が変わってきて、やれフィジカルコンピューティングだIoTだと、電子系や組み込み系の技術者と言えどネットワーク系の知識も求められている感があります。
そんなわけで、電子工作趣味の方や電子系の学生さんでもこの先の電子工作にはサーバについての知識などが求められる時代が来ているとも言えます、そのため、これを機にラズパイでネットワークなどの技術に触れてみるのもいいでしょう。