こんにちは、フルスタックエンジニアのryuです。
今回の記事では、ftpについて解説します。ftpとは、ファイル転送を行うプロトコルです。linuxにvsftpdをインストールしてftpサーバーを構築してみましょう。fitの仕組みなども分かりやすく解説します。ファイル転送を行いftpについて理解を深めましょう。
目次
【linux】ftpとは?
ftpってなに?どうやって構築するの?
今回の記事では、ftpについて解説します。ftpの概要からftpサーバーの構築方法まで解説します。
記事の内容は以下の通りです。
- ftpサーバーとは?
- ftpの仕組み
- linuxでftpサーバーを構築する
ftpサーバーとはファイル転送を行うプロトコル
まず、ftpサーバーの概要について解説します。
ftpサーバーとはファイル転送のプロトコルです。
ftpはFile Transfer Protocolの略です。Webサーバーにftpを導入して、HTMLなどのWebコンテンツを転送します。
しかし、ftpにはセキュリティ面で脆弱性があります。SSHと合わせたSFTPもあるので覚えておきましょう。
また、ファイル転送をするSCPというコマンドもあるので併せて覚えておきましょう。SCPについては、こちらの記事で解説しています。
scpコマンドでファイルを送信する方法【linuxコマンドを現役エンジニアが解説】
ftpの仕組みについて
ここからは、ftpの仕組みについて解説します。ftpは、2つのコネクションを用いてファイル転送を行います。コネクションには以下の役割があります。
- データコネクション
- コントロールコネクション
データーコネクションとは、データーを転送するためのコネクションです。コントロールコネクションは、ユーザー認証やファイルの転送方法を制御するためのコネクションです。
データコネクションはtcp/20番ポート、コントロールコネクションはtcp/21番ポートを使用します。それぞれのポート番号が違うので覚えておきましょう。
実際にftpを構築してみると仕組みも良く分かると思います。Linuxにftpサーバーをインストールして確認してみましょう。
Linuxにftpサーバーを構築してみる
では、Linuxにvsftpdをインストールして、ftpサーバーを構築してみましょう。
vsftpdのインストール
まず、vsftpdというパッケージのインストールを行います。コマンドは以下の通りです。
apt-get install vsftpd
パッケージのインストールが完了するまで、1分程度待ちましょう。
設定ファイルの編集
次に設定ファイルの編集を行います。
vi /etc/vsftpd.conf
そして、以下の設定値を設定します。
anonymous_enable=NO
ascii_upload_enable=YES (←行頭にある # を削除)
ascii_download_enable=YES (←行頭にある # を削除)
設定が完了したら、vsftpdを再起動します。
service vsftpd restart
これで設定が完了です。あとは、クライアントからftpで接続できれば完了です。ftpクライアントはこちらからダウンロードすることができます。
ftpとは?まとめ
今回の記事では、ftpについて解説しました。まとめると以下のようになります。
- ftpサーバーとはファイル転送を行うプロトコル
- データコネクションとコントロールコネクションがある
- linuxでftpサーバーを構築する
ftpは基礎的なプロトコルなので覚えておきましょう。
このようなインフラに関連する技術を当ブログで紹介しているので興味のある方は是非ご覧ください。
さらにlinuxについて勉強したい方はこちらの参考書がオススメです。