ラズパイ(Raspberry Pi)で開発用のWebサーバ(LAN内専用)を立ち上げたんだけど、もっと使い勝手を良くしようと思って、下記の機能を実装してみたら、思いのほか最強になった。
追加した機能
-
SVNサーバ化によるソース管理(Windows/Mac間での共有可)
便利度:
(Win/Macで同時開発していてSVNでソース管理したい人は満点)
共有ファイルサーバ化してFTP転送を不要にする
前回(LAMP環境構築)の最後にSFTP転送を確認したが、LAN内環境で毎回FTPソフトを立ち上げて転送するのもバカらしいので、開発用Webサーバのwwwルートフォルダを共有フォルダ化し、エクスプローラ(Windows)/Finder(Mac)上でファイル操作を出来るようにする。
Sambaのインストール
-
ラズパイにSSH接続し、以下のコマンドを入力して「Samba」をインストールする。
sudo apt-get install samba
-
ufwでファイアウォール設定している場合、以下のコマンドを入力してSambaで使用するポートを開放する。
sudo ufw allow 137/udp sudo ufw allow 138/udp sudo ufw allow 139/tcp sudo ufw allow 445/tcp sudo ufw reload
-
以下のコマンドを入力して、変更するファイルのディレクトリへ移動する。
cd /etc/samba
-
以下のコマンドを入力して、変更するファイルのバックアップを取得する。
sudo cp -p smb.conf smb.conf.org
-
以下のコマンドを入力して、viエディタを起動する。
sudo vi smb.conf
-
以下の部分を変更、記載がなければ追加する。
[global] workgroup = WORKGROUP interfaces = 192.168.1. 127.0.0.0/8 eth0 bind interfaces only = yes hosts allow = 192.168.1. max log size = 100 security = user unix charset = UTF-8 dos charset = CP932 [public] comment = Public path = /var/www/html/ public = yes read only = no browseable = yes force user = pi [homes] browseable = no [pi] browseable = no
共有ユーザーは例として「pi」。
interfaces、hostsにあるIPアドレスはLAN環境に合わせる。
[public]以下のpathには、共有フォルダにしたい開発用のwwwルートフォルダにする。 -
以下のコマンドを入力して、piユーザーをsambaに登録する。
sudo smbpasswd -a pi
ENTERするとパスワードを求められるので、piユーザーのパスワードを入力する。(確認含めて計2回)
-
以下のコマンドを入力して、ラズパイを再起動する。
reboot
動作確認
Windowsの場合:
エクスプローラを開いて、アドレスバーに「\\ラズパイのIPアドレス」を入力する。
ユーザー認証を求められるので、ユーザー「pi」とそのパスワードを入力する。
「public」フォルダが表示されて、読み書き出来れば成功。
もし書き込みが出来なければ、ルートフォルダのパーミッションを変更すること。
Macの場合:
Finderメニューの「移動」→「サーバへ接続」を選択し、「smb://ラズパイのIPアドレス」を入力する。
以降はWindowsと同様。
参考サイト
Raspberry Piでファイルサーバ、Part1 Samba基本編(ものづくりエクスペリメント)
↑Part2~4で外付けHDD対応も詳しく書かれており、外付けHDD対応時にはまた参考にさせてもらいます。
長くなったので、SVNサーバ化は別記事にします。