BBBにWordPressを導入してみた – BeagleBone BlackでUbuntuServerテスト編

 昨日書いたとおり、自宅の制御系マスターとしてBeagleBone Blackを購入したわけだけど、どのくらいの能力があるのか試したくて1台のBBBにWordpressを導入してみた。

 環境セットアップの手順をメモっておく。
1,Ubuntu導入
 BBBのデフォルトOSはAngstromLinuxだけど、マイコン最適化で色々削られているし、ユーザ情報が少ないので、最近いじり始めたUbuntuを導入してみることに。
 組み込み系の物でOSを入れると言えば、ソースコードかき集めてきてビルドしてライターで焼いてとなるわけだけど、BBBについては、事前にパッケージングされたイメージが結構出回っていて、これをSDカードに書き込んでやるだけでいい。

 今回は、こちらから、Ubuntu12.04LTSのイメージを取得してきた。
 xz形式なので、いったんVPS上にダウンロードして展開して(新しい圧縮形式で、xzプログラムが必要なので。 apt-get install xz とか、 yum install xz とかする)、gz圧縮し直してPCにダウンロードした。

 展開したファイルは約2GBで、ディスクのローイメージ(パーティション情報なんかも含むイメージ)なので、Win32DiskImagerでmicroSDHCカードに書き込む。

2,Ubuntu起動
 BBBの基板上にあるmicroSDHCカードを挿入して電源を投入すると、BBBのローダーがmicroSDHCにブート処理を回して起動してくれる。

 EoUは動作しないので、HDMI(uHDMI)にディスプレイ、USBにキーボードを接続しておいた方が便利だが、とりあえずなら、DHCPサービスが動いているネットワークにLAN接続しておけばDHCPクライアントが動作してsshがデフォルトで使える。 Angstromほど起動は速くないから、コンソールを繋いでいない場合は2分くらい?待つ。

 起動が完了したら、sshで接続する。 ポートは通常の22で、ユーザとパスワードはubuntu/ubuntuがデフォルトである。 ubuntuユーザはsudo出来る。

3,普通にUbuntuとして使う
 まぁ、ここまで来れば、殆ど普通のUbuntuが入ったサーバと変わらない。 KDEとか設定すればHDMIでXも出来るけどもっさりだし、おとなしくルータの横に並べて設置(ルータのUSBポートから電源取れるし)して、リモート操作だ。

 まずは、パスワード設定
#passwd
 ネットワークのアドレスを固定する場合は
#vi /etc/network/interfaces
で設定を書く。
我が家ではDHCPサーバの方にこちらのMACアドレスを書いて固定払い出しにした(別のネットワークに繋ぐのにDHCPのが楽だから)

 SDカードの空き領域を何とかする(パーティションを切っているから、2GBより大きいSDカードに入れている場合、空き領域がもったいない) rootファイルシステムを拡張しちゃうのもありだけど、今回は、新しいパーティションを切って/varにポイントした。
#fdisk /dev/mmcblk0
#mkfs.ext3 /dev/mmcblk0p3
※通常の/dev/sdとかじゃなく、/dev/mmcblkになる。 ここにはmicroSDスロットとeMMCがぶら下がっていて、起動に使ったデバイスがmmcblk0で使わなかった方が1になる。 この状態でmmcblk1に下手に手を出すとROM焼きしないといけなくなる可能性もアルので注意。
今回はプライマリの3番パーティションにすべての残り領域を設定した。

#mv /var /var.tmp
#mkdir /var
#mount /dev/mmcblk0p3 /var
#mv /var.tmp/* /var/
#vi /etc/fstab
/dev/mmcblk0p3 /var auto defaults 0 1

 色々導入する。
 普通にaptでパッケージ管理出来るので、とりあえずリストを更新。
#apt-get update

aptで普通に入れたい物を入れていく。
今回入れた物
vim 定番エディタ
libtime-format-perl, make, gcc UnixBenchに必要
telnet, inetutils-tools, inetutils-traceroute, dnsutils, dstat, sysv-rc-conf 管理系のコマンド類
php5, php-apc, php5-mysql, mysql, nginx WordPressに必要(Apache2でも一応動くけどそれなりに重い。 lightを使うほどひどくも無いのでnginxを入れた)
postfix, munin 何となく入れてみた

 SDカードのフラッシュの耐久性でsqlとかおそらく即死するとは思うんだけど、更新とかtmp_to_diskを押さえれば大丈夫かな・・・ 本格的にやるなら、高耐久性のデバイスをUSBにぶら下げる(SLCのSSDとか)か、データファイルを一定期間ごとに移して、アドレスをずらしていくとかしないと厳しいとは思う。

 後は普通にWordpress導入手順
#mysql -p
で、wordpressユーザとDBを作成。

#cd /usr/share/nginx/www
#wget http://ja.wordpress.org/wordpress-3.6.1-ja.tar.gz
#tar xzf wordpress-3.6.1-ja.tar.gz

 nginxの設定は、/etc/nginx/sites-available/defaultsとかを修正。
 自動起動設定とかは、sysv-rc-configで設定。 今回は、mysql, nginx, postfix, munin-nodeを自動起動化。
 後は、普通にブラウザで繋いでセットアップ完了。
 iptablesのルールも無いから、ちゃんと使うなら入れた方が良いかもしれない? まぁ、うちはNetscreen管理のDMZ配置でポリシー管理されているから、こっちに入れる必要も無いだろうな。

 そんなわけで、こちらで公開してみます。
 案外、いけるでしょ?

(327)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP]   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です