たった1分でFTPサーバーを作る Raspberry Pi コピペ道場

      2018/05/14

たった1分でFTPサーバーを作る Raspberry Pi コピペ道場




筆者はその昔、高校時代3年間を水球にささげ足が付かない水の上で浮きながら飯を食える体育会系です。
そうです。
細かいこと言わずにさっさとやれ!というのが体育会系のノリです。

ということで細かい説明は後にしてコピペで一発!! コマン道場を開きます。

入門したからにはdo-you-linux.com読者のみんなも15kgの重りを身体に縛り付けて浮きながら飯を食えるまで海に入ってもらいます。

というのは冗談! 前置きです。

FTPサーバーをインストールした背景,環境

ネットワークカメラのデータ保存先にローカルなFTPサーバーが必要になったのでRaspberry PiとPure-FTPdを使ってこれを実現します。

筆者自身、FTPサーバーなんぞ手っ取り早く作ったるわと思ったのですがいざリサーチすると良い文献が見つからず結局
Raspberry Pi Foundation公式サイトに載っていたPure-FTPdインストレーションを真似ます。

そこでこれから先、FTPサーバーを手っ取り早く欲しい人の為にコマンドをまとめて一発コピペで行けるようにしました。

ここで一行ずつコマンドの説明は後にして
以下の設定で構わない方はコマンド欄に行きましょう。

確認環境

Raspberry Pi 1,2,3 model B
OS: Raspbian Wheezy, Jessie Lite

今回作成するFTP

FTPディレクトリ: /home/pi/FTP
FTPユーザー: uploader

作業時間

1分ほど

コピペで一発FTP作成コマンド

Raspberry PiにSSH接続します。
pi@raspberry.local

※接続方法がわからない場合は以下を参考にしてください。
Raspberry Pi3を購入したらセットアップ 【保存版】HDMI不要!ヘッドレスSSH

以下のコマンドをコピペでターミナルに貼り付ければものの1分でFTPサーバーのセットアップは完了します。
※以下のコマンドの詳しい解説は記事下に記載しました。

sudo apt-get -y install pure-ftpd && sudo groupadd ftpgroup && sudo useradd ftpuser -g ftpgroup -s /sbin/nologin -d /dev/null && sudo mkdir /home/pi/FTP && sudo chown -R ftpuser:ftpgroup /home/pi/FTP && sudo pure-pw useradd uploader -u ftpuser -g ftpgroup -d /home/pi/FTP -m && sudo pure-pw mkdb && sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb && sudo service pure-ftpd restart

入力後にキーボードのエンターキーを押せばインストール作業が開始されます。

パスワードを聞かれたら今回新しく作成するFTPユーザー:uploaderの新しいパスワードを入力しエンターキーを押します。

例:

Enter it againと表示されたら確認のため再度FTPユーザー:uploaderのパスワードを入力しエンターキーを押せば自動でインストールが完了します。
※もしpassword for piと表示された場合はRaspberry Piのログインパスワードを最初に入力→FTPユーザーのパスワード設定となる場合があります。

パスワードはプライバシー保護のため表示されませんがきちんと入力されているので入力後エンターキーを押しましょう。
※このパスワードはFTPクライアントで使うのでしっかり覚えておきましょう。
またはメモ。

FTPクライアントで確認

一分でFTPサーバー作成完了したでしょうか。
早速お好きなFTPクライアントで動作を確認してみましょう。
筆者はfilezillaを使用しました。

たった1分でFTPサーバーを作る Raspberry Pi コピペ道場

Ubuntuに限らずFedoraやその他のLinuxデスクトップでも
ファイルマネージャーがFTPに対応しているのでFilezillaをインストールせずに
FTPサーバーに接続出来ます。

UbuntuのNautilusファイルマネージャーで作ったばかりのラズベリーパイFTPサーバーに接続します。

デスクトップ画面からファイルマネージャーをクリック。

左項目の”他の場所”をクリック

ラズベリーパイのipアドレスを入力します。

ftp://ラズベリーパイのipアドレス


※ラズベリーパイのipアドレスはssh接続後
コマンドip aで確認できます。

筆者のラズベリーパイは192.168.11.103なので
ftp://192.168.11.103と入力し接続をクリックします。

接続方法は登録ユーザーを選択します。
FTPのユーザー名と
FTPのパスワードを入力し左上の接続するをクリックします。

無事に接続できるとFTPの中身を確認できます。

一度接続した後はnautilusファイルマネージャーに接続履歴があるので
そこから簡単に再接続できます。

コマンドの解説

細かい説明を待望されていた方のために
先程の一発コピペコマンドを一つ一つざっくりと説明します。

sudo apt-get -y install pure-ftpd

apt-getにてpure-ftpdをインストールします。
-yオプションでインストール確認にyesとなりスムーズにpure-ftpdのインストールができます。

sudo groupadd ftpgroup

ftpgroupというグループを作成します。

sudo useradd ftpuser -g ftpgroup -s /sbin/nologin -d /dev/null

ftpuserに/homeディレクトリとログイン権限を付与しない設定にします。

sudo mkdir /home/pi/FTP

/home/pi/ディレクトリにFTPディレクトリを作成します。
このディレクトリがFTPサーバーの保存先になります。

sudo chown -R ftpuser:ftpgroup /home/pi/FTP

先程作ったディレクトリ:/home/pi/FTPにchownコマンドで所有者:ftpuserとグループ:ftpgroupと設定します。

sudo pure-pw useradd uploader -u ftpuser -g ftpgroup -d /home/pi/FTP -m

FTPユーザー:uploaderを作成しグループ:ftpgroupに所属させます。
FTPユーザー:uploaderのホームに/home/pi/FTPを指定します。
このコマンドを入力するとFTPユーザー:uploaderが作成され新たにパスワード入力が必要になるので適当に入力します。

sudo pure-pw mkdb

FTPユーザーをデーターベースに登録します。

sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb

認証方法を設定するため/etc/pure-ftpd/auth/60puredbに/etc/pure-ftpd/conf/PureDBをリンクします。
60はデモ用の数値ですが、更に小さい数値を推奨とのことです。

sudo service pure-ftpd restart

サービスpure-ftpdを再起動して設定は完了です。

最後に

今回は細かい説明は後回しにFTPサーバーをたった一分で作成しましたが、皆さんのRaspberry Piでもうまくいったでしょうか。
FTPサーバーはPure-FTPdの他にもVFSPTDもありますが筆者の手元にあったネットワークカメラがVSFTPDに非対応だったためPure-FTPdを用いました。
一発でコピペできるコマンドで皆さんの時間短縮になれば筆者も幸いです。

それではdo-you-linux.com読者の皆さんも良い週末を!







 - RaspberryPi , , , ,