Webサイトの制作・管理においてよく聞く「FTP」。本来は通信方法をさす言葉ですが、ときにFTPソフトやFTPサーバー、コマンドの意味合いでも使われ、一概に全体を理解するのは困難な言葉です。

ここでは初心者向けに、FTPの基本をわかりやすく解説していきます。

この記事を読めば、レンタルサーバーやFTPをはじめて利用する方でもFTPが使えるようになりますので、ぜひご一読ください。

目次

FTPとは

FTP(File Transfer Protocol)は、ネットワーク上でファイルを送受信する際に使用する通信プロトコル(Protocol:通信規約・決まりごと)の一種です。また文脈によっては、FTPを使用した「FTPサーバー」や「FTPクライアント(ソフト)」を表現するために使われることもあります。

【参考サイト】
FTP(エフ・ティー・ピー)」 総務省 国民のための情報セキュリティサイト「用語辞典(英字)
https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/glossary/11.html#f02

FTPは、Webサイトの制作・公開・管理の現場で多く利用されています。Webサイトを公開するためには、あらかじめ作成した文章や画像などの各種ファイルをWebサーバー上に転送、つまりアップロードする必要があります。

このファイル転送のための通信プロトコルをFTPと呼びます。

近頃はWordPressに代表されるCMS(Contents Management System)が広く使われるようになり、ファイルをパソコンからサーバーへと転送する作業は減っています。しかし、FTPやその改良版であるSFTPなどは、いまだにWebサイトの制作・管理の現場で重宝されています。FTPの歴史は長く、インターネットの誕生と共に使われ始めたといっても過言ではありませんが、現在でも最もよく利用されている通信プロトコルのひとつとして知られているのです。

FTPでできること

FTPでできることは、以下の4点にまとめることができます。

  • FTPサーバーに接続しデータの操作(FTPクライアントソフト利用で容易に可能)
  • 物理的に離れたサーバーにアクセス(わざわざサーバーの設置場所に行く必要がない)
  • データの操作(1) ファイルのアップロード (クライアント→サーバー)
  • データの操作(2) ファイルのダウンロードとバックアップ(サーバー→クライアント)

Webサイトを公開するにあたっては、ファイルをサーバーへ転送する必要があります。FTPは、このファイルの送受信の際に使用するプロトコルです。FTPを通じ、新しいデータの追加、既存データの上書き更新、サーバー上のデータの削除といったデータの操作がおこなえます。

FTPでできることと言えば、まず思いつくのがファイルのアップロードです。FTPサーバーに作成したファイルをアップロードすることで、新規のWebページを追加できます。また、既存ファイルの一部を書き換えたものをアップロードし、サーバー上の既存ファイルに上書きすれば、公開済みのページの内容を更新することも可能です。

FTPサーバーにあるデータを、クライアント側でダウンロードすることもできます。公開中のWebサイトのファイルをダウンロードしておけばバックアップが作れるうえに、パソコン間でのファイル共有にも活用可能です。

ネットワークを介してのやりとりのため、遠隔地のサーバーにも容易にアクセスでき、わざわざサーバーの設置場所まで足を運ぶ必要がありません。

なお、ここで挙げたデータの操作をおこなう場合、FTPクライアントソフトを使うのが便利です。ソフトを利用することで、容易かつ直感的なデータの操作が可能となります。

 FTP通信の仕組み

続いては、FTPの構成とFTPを用いたファイル転送の仕組みを、わかりやすく簡単にご説明します。

FTPは、「FTPサーバー」と「FTPクライアント」の2つで構成されています。このサーバーとクライアント間で通信し、データを受け渡しすることで、ファイルの転送が可能となります。

FTPサーバーはインターネット上に設けられ、Webサーバーと連携しています。そのため、FTPサーバー上でファイルの追加や操作をおこなうと、Webサーバーにもその操作が反映されるのです。

一方、FTPのユーザー側に設置されているのがFTPクライアントです。ユーザーは、クライアントを経由してサーバー上のファイルの操作を指示します。先述のFTPソフトを用いて制御するのが、最も一般的な方法です。

なお、FTPは次に説明する2つのプログラムとコネクションがなければ動作しません。

FTPを構成する大切な仕組み【PIとDTP】

FTPのサーバーとクライアントでは、それぞれ「PI」と「DTP」と呼ばれる2種類のプログラムが稼働しています。

PIとはProtocol Interpreter(プロトコル・インタプリタ)の略です。ユーザーからの指示・命令をプロトコルに翻訳(インタプリタ)する機能を果たしています。ユーザーが出したファイル操作などの指示を、クライアント側はプロトコルに翻訳してサーバーへと伝えます。サーバー側はそのプロトコルを再度翻訳して、ユーザーからの指示を実行に移します。このように、サーバーとクライアント・ユーザー間の操作や指示の翻訳者として働いているプログラムがPIなのです。

一方、DTPはData Transfer Process(データ・トランスファー・プロセス)の略で、実際にデータを転送するプロセスを担っています。クライアント側とサーバー側の両方に設けられたDTP同士で、ファイルを受け渡しするためのものです。

DTPはPIとも連携してデータの送受信をおこなっており、どちらが欠けてもファイル転送は実施できません。

FTPの2つのコネクション【コントロールコネクションとデータコネクション】

さらに、FTPを用いたファイルの送受信では2つのコネクションを利用します。コネクションとは、通信するもの同士の間に仮想的に形成される、専用の通信路を意味する単語です。

FTPでは、先ほどご紹介したPI・DTPという2種類のプログラムに関連し、サーバーとクライアントの通信路(コネクション)にも2種類の異なるコネクションを用意しています。コントロールコネクションとデータコネクションです。

まずコントロールコネクションは、FTPの制御・操作に利用されるコネクションのことをさします。いわばFTPの総合受付です。クライアント側のPIとサーバー側のPIの間に形成され、サーバーへログインするための情報(ユーザー名・パスワードなど)や、ファイル送受信に関する命令・応答などのやりとりに用いられます。

一方、データそのものをやりとりするための通信路がデータコネクションです。サーバーとクライアント、それぞれに設置されたDTP間で、実際のファイルを送信・受信する際に使われます。

PI(プロトコル・インタプリタ)DTP(データ転送プロセス)
コネクション分類コントロールコネクションデータコネクション
ポート番号2120

ポート番号とは

サーバーのアプリケーションごとに、あらかじめ決められた数字です。今回のFTPの場合は、コントロール用の20番とデータ用の21番で2個あります。

一般にサーバーは、余分なポート番号は通過できないように閉じて、使っているアプリケーションの通信のみを通過できるように設定しています。これがファイアウォール(防火壁)運用の基本で、セキュリティを維持するひとつの方法となっています。

データ送受信時の転送モード【バイナリーモードとアスキーモード】

ファイル転送方式には、バイナリーモードとアスキーモードの2種類があります。

バイナリーモードでは、データをそのまま転送します。データの変換などはおこないません。音楽・画像ファイルなどを転送する際にも利用できます。

アスキーモードは、ファイルに含まれる改行コードを自動で変換したうえでファイルを転送します。テキストファイルのみに利用できるため、テキストモードと呼ばれることもあります。

アスキーモードは、使用OSの違いに左右されにくいため、かつてテキストファイル転送の主流として扱われていました。例えば、クライアント側のOSがWindows、サーバー側のOSがLinuxだった場合、OSごとに使用される改行コードの違いでファイルが正常に動作しない可能性がありました。しかしアスキーモードではこの改行コードを自動で変換してくれるため、非常に利便性が高かったのです。

しかし現在では、開発環境やエディタも進化を遂げ、改行コードを意識する必要はなくなりました。それにより、アスキーモードでファイルを転送する必要性も薄れ、今ではテキストファイルもバイナリーモードでの転送が主流です。

FTPにはデメリットも!【安全性が高いSFTPの利用が主流に】

長い歴史を持ち、現代にいたるまで広く利用され続けていたFTPですが、便利な反面、欠点も存在します。そのデメリットを解消するために開発されたのが、SFTPです。

この章では、FTPの抱える問題点を説明するとともに、FTPの改良版であり現在ファイル転送プロトコルの主流となっているSFTPをご紹介します。

FTPのデメリット

FTPのデメリットには、通信経路が暗号化されていないことが挙げられます。そのため、悪意をもった第三者から盗視や侵入される可能性があり、危険があるとされています。

SFTPとは

SFTPとは、FTPをセキュリティの面で、より安全にした改良版のひとつです。SFTPのSとは、SSH(セキュアシェル)の頭文字です。SFTPはFTPの利便性を損なわず、さらにFTPにSSHの安全性を付加しています。

【参考サイト】
「SFTP(エス・エフ・ティー・ピー)」 総務省 国民のための情報セキュリティサイト「用語辞典(英字)」
https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/glossary/11.html#s02

「SSH(エス・エス・エイチ)」 総務省 国民のための情報セキュリティサイト「用語辞典(英字)」
https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/glossary/11.html#s06

SSHとは、FTPに似ているプロトコルです。主な違いとして、SSHは暗号や認証の技術を利用して、安全に通信ができることです。通常SSHを使う場面は、サーバーにログインして設定や管理などの操作するときです。SSHにもサーバーとクライアントがあり、SSHクライアントソフトをPCにインストールして、SSHサーバーにつなぎにいきます。

SFTP以外にも、FTPの改良版としてFTPSというものが開発されています。こちらもデータが暗号化されるタイプのプロトコルですが、SFTPほどの安全性はありません。

FTPは通信が暗号化されていないため、不正アクセスの足がかりになりかねません。そのため、SFTPに代表されるよりセキュアな通信手段の利用が推奨されています。

【参考サイト】
「不正アクセスによる被害と対策」 総務省 国民のための情報セキュリティサイト

https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/business/admin/04.html

FTPサーバーとは

FTPサーバーとは、FTPを用いて接続される側、通信の受け手となる側のコンピュータを示す単語です。ここでいうサーバーとはあくまで「接続される側」の意味であり、FTPのサービスを提供しているというわけではありません。

先ほどもご紹介したとおり、FTPサーバーはWebサーバーと密接に連携しており、FTPサーバー上のファイル操作はWebサーバー上のファイルにも反映されます。

レンタルサーバーを利用する場合、基本的に個人でFTPサーバーを用意する必要はありません。レンタルサーバー側は自社のサーバーにFTPサーバー用のアプリケーションを導入しており、ユーザーがすぐ利用できるようあらかじめ設定してくれているからです。個人でFTPサーバーを構築するのであれば、このアプリケーションを用意する必要があります。

FTPサーバーを利用する際、一般的には、ユーザー名とパスワードを用いた認証(ログイン)が必要となります。第三者が勝手にサーバーへアクセスし、ファイルを操作するのを防ぐためです。

しかし、FTPサーバーには認証なしで利用できるanonymous(匿名)タイプも存在します。主に公的機関や官公庁などが情報公開の目的で利用しており、この場合は誰でも自由にサーバー上のファイルをダウンロードすることが可能です。

このように、一部の例外を除き、FTPサーバーへのアクセスにはIDやパスワード認証による制限がかけられます。しかし「FTPのデメリット」の項でご説明したとおり、通信が暗号化されていない以上は認証情報を盗み見られる危険性が残ります。そのため、レンタルサーバー各社では現在FTPの利用はあまり推奨されておらず、SFTPの利用を標準としています。

FTPを利用する方法

実際にファイルの転送をおこなうには、まずFTPクライアントソフトをクライアント側に導入する必要があります。厳密に言えば、ソフトがなくともFTPは利用できるのですが、ソフトを使えばファイルの送受信がさらに容易になるため、初心者は特にソフトの使用をおすすめします。

ここでは、FTPを利用する方法として定番である、クライアントソフトについてご説明します。

FTPソフト(クライアント)とは

FTPサーバーがFTPを用いて「接続される側」であるのに対し、「接続する側」、つまり通信を持ちかける側のコンピュータやソフトウェアのことをFTPクライアント(ソフト)と呼びます。

中でも「FTPソフト」と表現する場合は、ファイルの送受信をより簡単におこなえるよう開発されたクライアント用のソフトウェアのことをさします。

このFTPソフトをクライアント側のパソコンに導入し、FTPサーバーへと接続することで、ようやくパソコン内のファイル・フォルダなどのアップロードができるようになるのです。

レンタルサーバー利用の場合は、業者から通知された設定情報を正確にFTPソフトに設定してください。一度だけ実施すれば、次回からはクリックひとつでFTPサーバーに接続が可能です。

FTPソフトの設定に最低限必要な情報

FTPソフトの初期設定の際、最低でも下記の情報が必要になります。

  • FTPサーバーのホスト名
  • FTPサーバーにログインするためのユーザー名
  • 上記(2)に対応するパスワード

FTPソフト設定時の注意点

言うまでもなく、上の章で紹介したFTPソフトの設定情報の取り扱いにはくれぐれもご注意ください。情報が外部に知れ渡ってしまうと、第三者からFTPサーバーにアクセスされ、Webサイトの改ざん被害などにつながる可能性があるからです。

よく使われる無料FTPソフトを紹介

FTPソフトには、無料で使えるものから有料のものまで、さまざまなソフトが存在しています。

基本的な機能は無料ソフトにも十分に備わっていますので、慣れるまでの間は無料のFTPソフトを使用することをおすすめします。無料ソフトでFTPへの理解を深めた後、機能面に不足を感じるようになってから、有料ソフトの導入を検討してはいかがでしょうか。

ここでは、無料で使えるFTPソフトの中でも初心者におすすめな、定番かつ使いやすいFTPソフトを4点ご紹介します。

  • Windows/Macどちらでも対応「FileZilla」
  • Windowsの定番その1「FFFTP」
  • Windowsの定番その2「WinSCP」
  • Macならこちらもおすすめ「Cyberduck」

Windows/Macどちらでも対応「FileZilla」

FileZilla

個人・企業問わず広く使われている、人気のFTPソフトです。日本語対応に加え、複数のOSで広く利用できる点が魅力的です。

SFTPおよびFTPSも利用できるため、セキュリティ面でも安心です。機能が豊富で、使い勝手がいいことで知られています。

公式サイト/ダウンロードFileZilla
対応OSWindows/Mac OS X/Linux
SFTP利用

Windowsの定番その1「FFFTP」

FFFTP

Windows用無料FTPソフトの中で最も有名なソフトです。一時期開発終了がささやかれていましたが、開発者が交代し、現在も開発が続けられています。

国産ソフトとして、日本語対応はもちろん、日本語ユーザーに便利な機能も充実しています。SFTPには対応していませんが、FTPSは使えます。

公式サイト/ダウンロードGitHub – sayurin/ffftp
対応OSWindows
SFTP利用不可

Windowsの定番その2「WinSCP」

WinSCP

FTPよりも安全性の高いSFTPやSCPといったプロトコルに対応しているため、セキュリティを重視する方におすすめです。

日本語対応可能で、操作性にも優れています。また、他にない便利な機能として、タブを分けることで複数のFTPに一斉に接続することができるのも特徴です。

公式サイト/ダウンロードWinSCP
対応OSWindows
SFTP利用

Macならこちらもおすすめ「Cyberduck」

Cyberduck

Mac用に開発されたFTPソフトですが、Windowsでも利用できるようになりました。日本語に対応しており、操作も容易です。UIが非常に洗練されている印象を受けます。

接続方法が多い以外にも、テキストエディタ機能が搭載されているのが特徴的です。テキストエディタを使えば、ダウンロードすることなくファイルの中身を書き換えることができます。ちょっとした修正・編集の際に便利な機能です。

公式サイト/ダウンロードCyberduck
対応OSMac OS X/Windows
SFTP利用

FTPソフトの使い方

FTPソフトの使い方は使用ソフトにより異なりますが、基本的かつ一般的な使い方・使用手順は下記のようにまとめられます。

  1. FTPソフトを選ぶ
  2. ソフトをインストール
  3. FTP接続の設定
  4. FTPソフトを通じてファイルをPCからアップロード
  5. アップロードしたファイルの表示確認

手順1および2では、対応OSや言語、セキュリティなどが自らの環境や目的に合っているかを十分確認しましょう。

手順3では、 「FTPソフトの設定に最低限必要な情報」記載の接続情報を入力し、FTPサーバーへ接続します。

手順4の操作方法は、使用するソフトにより異なります。フォルダを参照してアップロードしたいファイルを選択するものから、ドラッグ&ドロップで簡単にファイルを転送できるものまでさまざまです。

ファイルのアップロードが完了したら、手順5のとおり、Web上でアップしたページが正常に表示されているかを確認してください。

FTPで簡単にサーバーへファイルを送受信!

この記事ではFTP初心者を対象に、FTPの仕組みや使い方を簡単にご紹介してまいりました。Webページの制作・公開・管理におけるFTPの重要性や、ファイル転送の仕組み、FTPソフトの便利さなどがご理解いただけたかと思います。

FTPについての理解をさらに深めるには、実際に触って慣れてみることも近道のひとつです。この記事を参考に、FTPの操作にも挑戦してみてはいかがでしょうか。

チェックテスト

チェックテスト下記、コードにおいて、下記表示をするために必要なcssプロパティはどれかdiscordにて共有ください。

TOP