PogoplugをLinuxサーバとしていじる課程メモ

備忘録です。
Pogoplugって普通にはプライベートクラウドを実現するデバイスとかいうものですが、中がLinuxで動いていて、専用のパッケージが色々用意されてて、頑張ればサーバとして運用できちゃいますって話。
※こちらに書いてあることを実行して何かあっても自己責任でお願いします。
また、細かい手順は調べないとできないところがあるかもです。そもそもLinuxの設定に詳しくない方にはお勧めしません。



【Openpogoインストール】
このあたりの手順で。

データ用のハードディスクのマウント位置が変わるのも後々不便なので、mount_optスクリプトにて、外付けドライブを/mnt/<固定フォルダ>に再マウントする処理を作りました。
スクリプトの内容はこんな感じ


【sambaインストール】
Pogoplugのドライブ共有機能だと、Macから日本語のファイルが書き込めないとかいう致命的な不具合があったので、ローカルからは共有ドライブとして見えるように設定する。
ipkg installで簡単にできました。OpenBlockSではあれだけ苦労したのに・・
/opt/etc/samba を編集して前述の外付けHDDを共有。

※追記:最新版のソフトだと、Macからでも日本語ファイルが書き込めるようになってました。


【スワップファイルを作る】
ipkg install busybox
でmkswapコマンドを含むBusyBoxを入れる。
(本体内蔵のものよりバージョンが下がってしまいますので、終わったらremoveすべきでしょうか。うちはそのまま使ってますが)

dd if=/dev/zero of=/opt/pagefile bs=1024 count=524288
※/opt/pagefile という512MBのスワップファイルを作る

mkswap /opt/pagefile
swapon /opt/pagefile
※スワップ有効化

swapon の行をmount_optスクリプトに追記。

用意したUSBメモリが2GBなので、512MBで作りました。
本当はハードディスクに作りたいけど取り外せなくなりますからね・・


【Apacheのインストール】
PogoplugでWebDAVって調べるとlighttpdを使った方法がヒットするんですが、何故かうちではうまくいかなかったので、こちらで挑戦。
スワップファイルを設定しないと重くて動かない。
ipkg install apache

なぜか設定が User = nobody となってて起動しようとするとエラーになるので、/opt/etc/apache2/httpd.confを修正する。
(rootだと起動できないのでadduser httpd などとして一般ユーザを新たに作り、このユーザ名を記載する)
hostnameが取れないらしいので、ServerNameと書いてある行を探し、コメントアウトを解除して"ServerName Pogoplug"に変更。
Include etc/apache2/extra/httpd-dav.conf のコメントアウトを外し、このファイルにWebDAV共有したいフォルダの設定を記述。
(confの書き方は一般的なApacheの設定方法に準じます)

htdigestとかのコマンドを使ってユーザの設定を追加。(これもユーザ指定がrootだとうまくいかないっぽい)
httpd -k restart を実行。

外付けドライブに書き込みたい場合は httpd-dav.conf 内にAliasで指定。
(ApacheのWebDAVはシンボリックリンク不可だそうで)

共有先がFAT32とかのアクセス権が持てないファイルシステムだと、何故かroot以外書き込み不可としてマウントされ、書き込みができないので、他の形式でフォーマットされている必要がある。