2012年9月18日火曜日

Raspberry pi (Raspbian “wheezy”) をファイルサーバに

最近ではすっかり市民権を得たNASの専用製品があるのであまり需要はないかもしれませんが、
Raspberry pi (Raspbian “wheezy”)をファイルサーバー化してみました。

まずはhttpサーバにします。以下を実行します。
$ su -
# apt-get update
# apt-get install apache2
# echo 'ServerName <サーバ名>' >> /etc/apache2/apache2.conf
# /etc/init.d/apache2 start
# update-rc.d apache2 defaults
これで"/var/www/"ディレクトリ以下がウェブサーバで公開されます。
デフォルトで開くコンテンツは"/var/www/index.html"です。

次にhttpサーバをWebDAVに対応させます。
以下を実行します。
# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/dav.load dav.load
# ln -s ../mods-available/dav_fs.conf dav_fs.conf
# ln -s ../mods-available/dav_fs.load dav_fs.load
# ln -s ../mods-available/dav_lock.load dav_lock.load
例えば、"/opt/dav"ディレクトリをストレージとして公開するなら
設定ファイル"/etc/apache2/sites-enabled/000-default"に
Alias /dav "/opt/dav"
<Location /dav>
        DAV on
</Location>
を追加し、
# /etc/init.d/apache2 restart
でapacheを再起動すれば完了です。
より詳しいことは過去記事のこれとかこれとかこれとかをご覧ください。
ただ、WindowsXPのネットワークプレイスからのアクセスの調子がよくなく、
アクセスしようとして失敗することが多いです。
リロードを繰り返していると成功するのですが、原因は把握できていません。

今度はより一般的なWindows共有(samba)サーバを立てます。
# apt-get install samba
を実行すればインストールできます。
そして、"/opt/samba"ディレクトリを"\\<IPアドレス>\sdcard"に割り当てて
誰でも自由に読み書きできるようにするには
# cd /opt
# mkdir samba
# chmod 777 samba
を実行後、設定ファイル"/etc/samba/smb.conf"に
[sdcard]
path=/opt/samba
read only = no
guest ok = yes
を追加すれば完了です。

最後にftpサーバについて。
# apt-get install proftpd
を実行し、途中の選択肢で"standalone"を選択(まあどっちでもいいんですけど)すれば、
リモートからログイン可能になります。

ついでに言えば、sshdが動いていればsftpも当然使えます。

追加情報ですが、Raspberry piにUSB接続のHDD
(USBメモリやUSBアダプタ経由によるSDカードも同様)を挿すと
"/dev/sda1"などとして認識させられます。
オートマウントは働いていない(必要性もない?)ので手動で
# cd /mnt
# mkdir hdd
# mount /dev/sda1 hdd
などと実行すれば"/mnt/hdd"ディレクトリへのアクセスがHDD宛になります。
SDカードだと容量や寿命の面でストレージとしては使いたくないという方は
このHDDを割り当ててやればいいでしょう。

0 件のコメント:

コメントを投稿