fc2ブログ

ぽよメモ

2015年05月

DATE

  • このページのトップへ

RasPiをDLNAサーバにする


SambaとNetatalkを設定し、ファイル共有を行える環境になったところで、RasPiからデータを配信できるようにminiDLNAを突っ込みます。

sudo apt-get install minidlna

簡単でいいですね。
設定ファイルは/etc/minilna.confです。ここで参照するフォルダや、データベースの更新頻度を決めます。
sudo vim /etc/minidlna.conf

#変更箇所のみ記述しています
#V=Videos(動画ファイル),P=Pictures(画像ファイル),A=Audio(音楽ファイル)など、
#メディアの種類ごとでフォルダ分け出来ます
media_dir=V,/var/nas/videos
media_dir=P,/var/nas/pictures
media_dir=A,/var/nas/music

#DBの自動更新。デフォルトではコメントアウトされている。
inotify = yes

#DBの更新頻度。デフォルトではコメントアウトされている。
notify_interval = 895
ポートはデフォルトで8200になっています。これもmiinidlna.confの中に記述箇所があるので変更可能です。その他の細かい項目についてはよく知らないので言及を控えます。

とりあえずLAN内のその他のデバイスから"http://[ローカルホスト名]:8200"にアクセスしてみましょう。
おそらく指定したフォルダ内にメディアファイルがあったとしても、
MiniDLNA status
Audio files:0
Video files:0
Image files:0
と表示されると思います。これはDBが更新されていないからです。DBの更新方法は
minidlna -R
または
sudo service minidlna restart
でできます。普段の更新は自動更新の間隔で十分でしょう。もっと大量のファイルを扱うなら、遅めの間隔が良いようです。

あとはLAN内にあるデバイスにDLNAクライアントを入れてたのしむだけです。

最近Xperia Z Ultra SOL24を中古で購入しました。かっこいいですねこれ。画面が大きいので動画等のコンテンツをかなり楽しめます。地味についてるフルセグ/ワンセグが便利ですw



SOL24なのでUQ mobileのSIMを契約しようとしたのですが、まさかの未成年なので契約不可という壁に行き当たってしまいました…
しばらくはiPhoneのテザリングと学内Wi-Fiでの運用になりますね…悲しい…
スポンサーサイト



カテゴリー:RaspberryPi


SambaとNetatalkの設定


つい先日久しぶりにRaspberryPiをいじったところ、「急にホスト名及びユーザ名がコンソール画面でハイライトされなくなる」、「.vimrcの設定が飛んだのかvimの挙動がおかしくなる」、挙句の果てには「ほとんどのコマンドがNot foundになる」という不具合が発生し、泣く泣くRasPiの再セットアップ(3回め)を行うことになりました。

さすがに3回めにもなるとだいぶ慣れたもので、公開鍵認証でSSH通すまでに1時間強しかかかりませんでした。とりあえずパッケージのアップデート等を済ませ、とりあえずSDカード上でシステムを再構築していきました。
まずはsamba
sudo apt-get install samba
これだけで入ってくれるので非常にありがたいです。
Sambaにはwebブラウザから設定を変更できるSWATというものがあります。今回の設定はこれで行いたいと思います。
sudo apt-get install swat
あとはLAN内にある他のデバイスからhttp://[ホスト名 又は IPアドレス]:901と打ち込むだけです。するとユーザ名とパスワードを尋ねられるのでログインします。

が、

ここでpiユーザでログインするといくら頑張ってもWindowsからアクセスできなくなります(正確に言うとrootしか入れなくなる)。
RasPiには初期ではrootにパスワードが設定されておらず使えません。そこで、
sudo psswd root
を使ってrootユーザにパスワードを設定、それでswatにログインします。
その後パスワードタブからpiユーザを新規ユーザとして追加すると、piでログインできるようになります。細かいディレクトリとかパラメータの設定は適当にググって出してください。
これでとりあえずSambaは終了です。

次は鬼門のNetatalkです。大量のライブラリをインストールし、自分でソースからビルドしなければならない厄介なヤツです。
まず必要なライブラリをインストールしていきます。
sudo apt-get -y install libssl-dev libgcrypt11-dev libpam0g-dev libwrap0-dev libdb-dev libavahi-client-dev libacl1-dev libldap2-dev libevent-dev
また、RasPiに初期から入っていないavahi-daemonを突っ込みます。こいつがないとMac上からタイムマシンサーバを見つけることができなくて苦労します。
sudo apt-get install avahi-daemon
ここまではすんなり簡単に行けます。次からが少々厄介です。
Berkeley DBをインストールします。パッケージも有りますが古いため今回は自分でソースからビルドします。
cd /usr/local/src
sudo wget http://download.oracle.com/berkeley-db/db-6.1.19.tar.gz
sudo tar xvzf db-6.1.19.tar.gz
cd db-6.1.19/build_unix
../dist/configure
sudo make
sudo make install
おそらくこれでうまくいけます。うまくいけば/usr/local/db.6.1.19にインストールされます。

次にNetatalkをインストールしていきます。ここでは本当に最小限のことしかしていないので、例えば共有するディレクトリをSpotlightで検索したいとか、そういったことはもう少し色々イジる必要があります。頑張ってください。
cd /usr/local/src
sudo wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.7.tar.bz2
sudo tar jxvf netatalk-3.1.7.tar.bz2
cd netatalk-3.1.7
sudo ./configure --with-init-style=debian-sysv --without-libevent --without-tdb --with-pam-confdir=/etc/pam.d --with-dbus-sysconf-dir=/etc/dbus-1/system.d --with-bdb=/usr/local/db.6.1.19

ここでもしエラーが出れば、その内容をよく読んでください。だいたいこういう場合のエラーはライブラリが足りていない場合に起こります。適宜、
sudo aptitude search [検索したいフレーズ]
などを用いて調べてみてください。-devのついたパッケージなどをインストールすると解決することが有ります。
最後に結果が一覧になって出てきます。ここで自分の使いたい機能がyesになっているかを確認して下さい。もしすべてOKならば、
sudo make
sudo make install
とし、インストールしてください。
何度も./configureやmakeをしていると、まれにバグるのかいくらやってもNo such file or directuryなどの警告が出ることが有ります。ライブラリのインストールでは解決せず、他に心当りがない場合は一度.tar.bz2の展開からやり直してみるといいと思います。
Netatalk3より、設定ファイルは/usr/local/etc/afp.confだけになりました。sambaのsmb.confと同じようなもので、非常に管理しやすいです。一応下に自分のを貼っておきますが、よく理解しないまま使っていることが多く、コピペは推奨しません。「
;
;Netatalk 3.x configuration file
;

[Global]
mac charset = MAC_JAPANESE
uam list = uams_cleartxt.so uams_dhx.so uams_dhz2.so uams_guest.so
log file = /var/log/netatalk.log
vol preset = my default values

[my defalt values]
file perm = 0660
directory perm = 0770

[Homes]
basedir regex = /var

[Time Machine]
path = /timemachine
time machine = yes

[NAS]
path = /var/nas
veto files = /Thumbs.db/desktop.ini/
delete veto files = yes
編集し終わったら
sudo service netatalk restart
として再起動させるとMacからアクセスできると思います。

TimeMachineからうまくバックアップが開始されると、おそらく途方もなく時間がかかります。僕の環境で130.48GBぶんのバックアップデータがありました。次回以降は差分のみバックアップを取られるのでそれほど時間はかかりませんが初回だけはとにかく遅いです。一晩かかります。

本当はSambaとNetatalkで同じディレクトリを指定するのは良くないのですが、それほど頻繁にデータを書き換えるわけではないので別にいいかなぁと()なにか不具合が生じればまた報告します。

カテゴリー:RaspberryPi