というわけで、Raspberry Piの話です。
といっても、まだ完全に思うとおりの形になっていませんが。
Raspberry Pi 2B(以下単にラズパイ)のスペックは。
CPU...... ARM cortex-A7 900MHz
メモリ...... 1GB
ストレージ......内蔵は無し。microSDカードを取り付けて使える。
LAN......100bps
USB2.0 4ポート
といったところ。凄い高性能ではありませんが、というかかなり最低レベルのマシンですが、むちゃくちゃ安いところが最大の売りです。なにしろ5000円切っていますからね。microSDカード考えても6000円しない。そしてこの最低レベルでも、サーバ用途とLinuxデスクトップの文字書きや音楽用途くらいは軽くこなせます。たぶん動画再生もそれなりに出来るはずです。試していませんが。動画編集や3DCGレンダリングや3Dゲームをやらないなら、充分なはずです。CPUパワーとソフトの関係って、最近はそんな感じらしいです。
残念ながらCPUがインテル系ではないので、通常のWindows10は動きません。ラズパイ用のWindowsもあることはあるのですが、IoTの為のテストバージョンみたいなもので普通のアプリは動かないみたいです。Linuxはその点、ARM系のものも多く、それならば動きます。またラズパイ専用のLinuxOS、raspbianというのがあります。
今回はそのrasbianを使ってサーバ化をしてみました。
raspbianには2バージョンあって、raspbianとraspbian Liteです。さらにそれらにはインストーラー付きのとイメージファイルまんまのやつとあります。今回はLiteのインストーラー付きを使いました。イメージファイル書き込みソフト導入するのが面倒だったから。
基本的には、デスクトップのraspbianのNOOBS版導入と同じです。ダウンロードがLiteの方のNOOBSを落とすだけ。展開したファイルをmicroSDカードに書き込み、ラズパイ本体につけて電源投入。あとは勝手にインストール。
途中でパスワード聞かれるから、キーボードとディスプレイは繋げておかなくてはなりませんがね。
Liteが通常版とどこが違うかというと、本当に最小限のものしか入ってないと言うこと。逆に言うと、そこしか違わないから、いろいろアプリやファイルを入れると通常版と同じ構成にも出来ます。手間はかかるけど。サーバにすると決め打ちするので、こっちの方が便利です。当然ストレージ容量少なくて済みますし。
で、まず、なにはなくともsshサーバ導入。
sudo apt-get install
さらにras-configというソフトを立ち上げ、この中の設定で、SDカードの全容量を使えるようにする。初期設定だとなぜか半分程度しか認識しないんですよね。
以上が終わったら、sshで他のパソコンから繋げられることを確認した後、キーボードとディスプレイを取り外し。ラズパイ本体もディスプレイの後ろにでも隠しちゃいます。本体から出ているケーブルは電源供給用のUSBケーブルとLANケーブルのみ。最新機種のラズパイB3だとwifiが内蔵されているので(設定をすれば)LANケーブルも無しで済むのですけどもね。
日本語化に関しては、sshで操作するので特にやる必要なし。どうせコマンドしか打たないし。一応、ロケールを日本、キャラセットをUTF-8にはしておきましたが。あと時間もセット。
次にnginxの導入。データベースmysqlと、それを管理するphpmyadmin、及びそれらを動かすphpを導入。ついでにapache2も入れました。が。
トラブったのはここらへんから。
まずは、nginxでね。phpがね。動かないわけですよ。
apacheだと最近はインストールしただけでだいたい基本的な設定をやってしまって、デフォルト設定で良いのならすぐにでも使える状態になるのですが、nginxはそうもいかない。特にCGIには向いていないこともあって、自動的に設定はしてくれない。CGI使いたいならnginx使うなってことですね。
そこを横車押してCGI動かそうってんだから、苦労しますし自業自得です。いいんです。わかってますから。
というわけで、phpが動かない。たぶんunixソケットの設定が悪いんだと思うんだが。他のCGIは(別項目にして)動いているので、そっちにおとなしくつけてしまえば良いんだろうけど......。
と思って、ふと何の気なしにnginx停止中にTCPアクセスしたらなんかapache2動いてた。そしてapache2ならphp動いてphpmyadminが動いた。
......まあ、そんなに年中使うソフトじゃないし、いいか。apache2の方でアクセス出来れば。php、それ以外に動かさないし。
と、だらけた決定をして、適当にMovableTypeのためのデータベースを作成。ところが、rasbian用のリポジトリからインストール出来るのはmysql5.5、本サーバの方に入っているのは5.7。データに互換性がありません。
ま、MovableTypeの方でバックアップデータを取って、それをラズパイのほうに移して、試しにブログ環境を構築してみたんですがね。
で、またnginxに戻して、MovableTypeをインストール、ブログを構築。これは案外支障なく進みました。ブログページの書き出しにはもっと時間がかかるかと思ったのですが、案外そうでもなく、1.5倍くらいの時間で済みました。まあ、ガマン出来る範囲。
そしてブラウザでアクセスしてみると、全然問題なく、高速な表示。問題なし。ブログ環境だけだったら、ラズパイで充分事足りそうです。
あとはどどんとふ(動的コンテンツ)+apache2がどれくらい実用に耐える速度で動いてくれるか、ですねえ。
......もしラズパイで充分だって結果が出たら、ひょっとしたらラズパイに切り替えて、beeboxはwindowsマシンにしちゃうかも。3出力ディスプレイと完全静音マシンは魅力的だ。
コメントする