Linux

【linux】ftpとは?vsftpdをインストールしてftpサーバーを構築してみよう

LinuxをPCで操作している

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、ftpについて解説します。ftpとは、ファイル転送を行うプロトコルです。linuxにvsftpdをインストールしてftpサーバーを構築してみましょう。fitの仕組みなども分かりやすく解説します。ファイル転送を行いftpについて理解を深めましょう。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【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の仕組み

実際に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クライアントはこちらからダウンロードすることができます。

WinSCPとは :: WinSCP

ftpとは?まとめ

今回の記事では、ftpについて解説しました。まとめると以下のようになります。

  • ftpサーバーとはファイル転送を行うプロトコル
  • データコネクションとコントロールコネクションがある
  • linuxでftpサーバーを構築する

ftpは基礎的なプロトコルなので覚えておきましょう。

このようなインフラに関連する技術を当ブログで紹介しているので興味のある方は是非ご覧ください。

さらにlinuxについて勉強したい方はこちらの参考書がオススメです。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST