FTPソフトとは?
FTPソフトとは、サーバにファイルをアップロードしたり、サーバにあるファイルをダウンロードしたりする際に使うファイル転送用ソフトウェアのことです。ウェブサイトをインターネット上に公開する目的で、ウェブページを構成するファイル群をウェブサーバにアップロードする用途にも使います。FTPサーバにアクセスするためのソフトウェアなので、FTPクライアントとも呼ばれます。本記事では、「ウェブサイトを公開するにはFTPソフトらしきモノが必要っぽいけど、そもそもFTPソフトって何なの?」という方々のために、FTPソフトの概要と役割、一般的な使い方を簡単に解説いたします。Windows用の無料FTPソフトとして、初心者にもおすすめな2つのフリーソフトを紹介していますので、ぜひセットアップして使ってみて下さい。
【本記事の目次】
FTPソフトの概要:
- そもそもFTPって何の略?
- FTPソフトの役割は?
- FTPソフトの画面構成
- FTPソフトでウェブページをアップロード
- FTPソフトでウェブページをダウンロード
- FTPソフトのミラーリング機能を使ってPCとサーバを同期させる
1. そもそもFTPって何の略?
FTPとは、File Transfer Protocolの略で、その名の通り「ファイル(File)を転送する(Transfer)通信手順(Protocol)」の意味です。つまり、FTPソフトとは「FTPというファイル転送のための通信手順に従ってファイルを転送するソフトウェア」のことです。FTPとは、File Transfer Protocolの略で、ファイルを転送する通信手順の意味
なお、FTPと似た名称にFTPSやSFTPがあります。どちらも暗号化された安全な方法でファイルを転送する仕組みで、ソフトウェア側とサーバ側の双方が対応していれば利用できます。
■FTPSとは?
FTPSとは「FTP over SSL/TLS」の意味で、FTPによる通信をSSL(TLS)という仕組みを使って暗号化することで、安全にファイルを転送できるようにした規格です。
■SFTPとは?
SFTPとは「SSH File Transfer Protocol」の略で、暗号化と認証機能を使って安全に通信するためのSSH(Secure Shell)という技術を使ってファイルを転送する仕組みのことです。
■FTPは使わずに、FTPSかSFTPのどちらかを使う
FTPSがあくまでも「FTPでの通信」なのに対し、SFTPは「SSHという別の規格を使ってFTPと同様の通信をできるようにした技術」です。通信が暗号化される点はどちらも同じです。FTPは暗号化されない通信ですから、FTPSかSFTPが利用できるサーバと通信するなら、そのどちらかを利用するようにしましょう。
2. FTPソフトの役割は?
FTPソフトの役割は主に、PCとサーバとの間でFTPを使ってファイルを転送することです。PCにあるファイルをサーバへコピーする(送る)ことを「アップロード」、サーバにあるファイルをPCへコピーする(取り寄せる)ことを「ダウンロード」と言います。PCとサーバ間でFTPを使ってファイルを転送するためのソフトウェアがFTPソフト
FTPソフトには、ファイルを転送するだけではなく、サーバ上に置いたファイルのパーミッション(アクセス権)を設定したり変更したりする機能もあります。ウェブ上で掲示板CGIなどのプログラムを動作させる際には、このパーミッションの設定が必要です(詳細は後述)。
■FTP機能を内蔵したウェブ作成ソフトもある
代表的な統合ウェブ作成ソフトには、作成したファイルをウェブサーバにアップロードするためのFTP機能が内蔵されています。それらの統合作成ソフトを使っている場合は、単独のFTPソフトの存在を意識することはないかもしれません。しかし、その場合でもアップロードのためにFTPを使う点は変わりませんから、最初にFTP情報の登録が必要です。
■絶対に必要とは限らないが、ある方が便利
PC上で作成したウェブページなどをウェブサーバにアップロードするためには、何かの内蔵機能であれ単独ソフトであれ、何らかのFTP機能が必要だと考えましょう。サーバによっては、ブラウザでアクセスできるコントロールパネル上からファイルを転送できる場合もあります。しかし、たくさんのファイルを転送するにはFTPソフトを使う方が速くて楽です。
3. FTPソフトの画面構成
FTPソフトの画面構成はソフトウェアによって様々ですが、分かりやすい画面構成としては下図のように、左側にPCの中身、右側にサーバの中身が表示される形態があります。このような画面では、ファイルを左側から右側へコピーすればアップロードになり、右側から左側へコピーすればダウンロードになります。画面の左側がローカルPCの中身を表示、画面の右側がサーバの中身を表示(FFFTPでの表示例)
単にサーバ側の中身だけを表示するFTPソフトもあります。この場合は、PC側のファイルは別途エクスプローラなどで表示しておき、ドラッグ&ドロップでファイルをコピーすることでアップロードやダウンロードができます。
サーバの中身だけを表示した例(WinSCPでの表示例)
PCとサーバの両方を同時に表示するのか、サーバだけを単独で表示するのかを選択できるFTPソフトもあります(後でご紹介するWinSCPもそうです)。分かりやすいと感じる形態を選択すると良いでしょう。どちらが良いか判断できない場合は、「PC側とサーバ側との対応が1画面で分かる」という点で、PCとサーバの両方を同時に表示する画面構成をおすすめいたします。
4. FTPソフトでウェブページをアップロード
作成したウェブページをインターネット上のどこかに置いて公開するためには、ウェブページを構成するファイルをウェブサーバへアップロードする必要があります。FTPソフトを使って、サーバ内の指定ディレクトリ(フォルダ)へファイルをアップロードすれば、その場所に対応するURLを使って誰でもアクセス(閲覧)できるようになる
例えば、
- 自身のウェブサイトのURLが https://www.example.com/ で、
- そこに対応するサーバ内のディレクトリが /user/example/www/
- PCにある webpage.html ファイルを、
- サーバの /user/example/www/ ディレクトリへアップロード
このようにFTPソフトを使ってファイルをアップロードする手順が、ウェブサイトをインターネット上に公開する基本の操作です。ウェブサーバ内のどこへアップロードすればウェブサイトとして公開できるのかは、お使いのサーバによって異なります。それぞれのサーバのヘルプなどをご参照下さい。
5. FTPソフトでウェブページをダウンロード
ウェブ上で掲示板などのCGIを利用すると、そのデータはウェブサーバ上だけに保存されます。何らかのトラブルでデータが消えてしまうような事態に備えて、データファイルのバックアップコピーを手元に置いておくと安心です。そのような場合には、ウェブサーバからデータファイルをダウンロードする必要があります。その目的でも、FTPソフトを使います。例えば、
- CGIのURLが https://www.example.com/bbs/board.cgi で、
- そのURLに対応するサーバ内のパスが /user/example/www/bbs/board.cgi
- CGIのデータが保存されるファイル名が data.dat なら、
- CGIのデータファイルは /user/example/www/bbs/data.dat の位置に出力される
6. FTPソフトのミラーリング機能を使ってPCとサーバを同期させる
ウェブサイトを更新する際は、書き換えたファイルだけを上書きアップロードすれば済みます。しかし、多数のファイルを同時に書き換えた場合には、更新したファイルを手動で選択してアップロードするのが面倒に感じることもあります。FTPソフトによっては、「PC側にあるフォルダの中身」と「サーバ側にあるディレクトリ(フォルダ)の中身」とを同期できるミラーリング機能があります。そのような同期機能を使えば、どれが更新されたファイルなのかを自力で選択しなくても、ファイルの更新日付から自動的に更新されたファイルだけがアップロードされます。ユーザはただ作業完了を待つだけで良いので楽でしょう。
ローカルPC側とサーバ側とでディレクトリ(フォルダ)内のファイルを同期させるミラーリング機能
また、サーバ上で自動生成されたファイルをバックアップしたい場合にもミラーリング機能が使えます。PCとサーバ間で同期するため、PC側に存在しないファイルや、PC側にあるファイルよりも更新日付の新しいファイルだけを一括してダウンロードできます。
7. FTPソフトで設定するパーミッション(アクセス権)の意味
ウェブサーバに置いたファイルには、「そのファイルに誰がどのようにアクセスできるのか?」というパーミッション(アクセス権)の設定が必要です。適切なアクセス権を設定しておかないと、誰も読めなかったり、設置したプログラムが動かなかったりするトラブルが起きます。■3種類のユーザそれぞれに対して、3種類の権限を指定
パーミッションは「644」や「755」などの数値で表され、FTPソフトでも設定できます。FTPソフトによっては数値だけでなく、下図のようなチェックボックスで設定することもできます。どちらでも分かりやすい方を使えば良いでしょう。CGIの設置マニュアルなどでは、たいてい数値が使われています。
FTPソフトには、アクセス権をファイルごとに設定する機能もある
ここでは、実行権、書き込み権、読み取り権の3種類の権限を、所有者(オーナー)、グループ、その他の対象者ごとに設定します。実行権には「1」、書き込み権には「2」、読み取り権には「4」という番号が割り当てられており、3種類の権限の組み合わせは、その番号を足し算した結果で表現します。下表はその一覧です。
実行権・書込権・読取権の3種類の権限があるかないかを、1つの数値で示せる仕組み
例えば、書き込み権と読み取り権だけを割り当てるなら「2+4」なので「6」を指定します。実行権と読み取り権だけを割り当てるなら「1+4」なので「5」を指定します。
このアクセス権を、所有者(オーナー)・グループ・その他の3者ごとに設定するため、「644」や「705」などのように数値3つで表記されます。
例えば、
- パーミッションの設定値「604」なら、所有者には「6=読み取り(4)+書き込み(2)」を許可、グループには権限なし(0)、その他には「4=読み取りのみ」を許可
- パーミッションの設定値「705」なら、所有者には「7=読み取り(4)+書き込み(2)+実行(1)」を許可、グループには権限なし(0)、その他には「5=読み取り(4)+実行(1)」を許可
パーミッション設定値「644」の意味は、所有者が6、グループが4、その他が4
単に読めれば良いだけのファイルは、644や604などで問題ありません。全員に読み取り権をふかした上で、管理者にだけ書き込み権を加える指定です。たいていのサーバでは、デフォルトの設定値は644や604などになっているでしょう。グループに対する権限を「0」にするかどうかは、お使いのサーバによって異なります。
自分で考えて設定しなければならない場合は、
- HTMLや画像のように、アクセス者は読めるだけで充分なファイルは、604 や 644
- CGIのように、アクセス者は読んだ上で実行する必要があるファイルは、705 や 755
- 掲示板データのように、アクセス者が読み書きできる必要のあるファイルは、606 や 666
なお、suEXECという仕組みが使われているサーバでは、プログラムファイルに対するパーミッションを「755」や「705」ではなく「700」のように所有者以外の権限をすべて「0」にしないと動かない場合もあります。詳しくは、お使いのウェブサーバのヘルプをご参照下さい。
8. ドット記号で始まる特殊なファイル名に変更する方法
ウェブサーバにApacheが使われている場合は、サーバに対する様々な設定を記述したファイルに.htaccessという特殊なファイル名が使われます。このようなドット記号「.」で始まるファイル名は、PC上では作成できなかったり、作成できても非表示になってしまう場合があります。そのような場合には、一旦「htaccess.txt」のような適当なファイル名で保存しておき、FTPソフトでサーバにアップロードした後で、FTPソフトの機能を使ってファイル名を「.htaccess」に変更すると良いでしょう。
サーバにアップロードした後で、FTPソフトを使ってファイル名を変更することもできる
FTPソフトにはファイル名の変更機能もありますから、PC上では作成できなかったり、作成すると何らかの不都合があるようなファイル名でも、サーバに置くことができます。
9. 初心者にもおすすめなWindows用FTPソフト(FFFTP、WinSCP)
Windows用の定番FTPソフトを2つご紹介しておきます。どちらもフリーソフトとして無料で使えます。■FFFTP
1997年に初版が公開された代表的な国産FTPソフト。FTPSに対応。国内で広く利用されているため、操作方法などの情報を手に入れやすいメリットもあります。ウインドウは、左側がPCで右側がサーバという分かりやすい2画面構成です。ツールバーがシンプルなので、迷いなく簡単に使えるでしょう。
FFFTPのインストーラをダウンロードするには、窓の杜「FFFTP」ページからが分かりやすくて簡単です。公式サイトはGitHub内にあります。
なお、最新のVer.3系がうまく動かない場合は、OSDNのFFFTPページで配布されているVer 2.00を使ってみて下さい(Ver.3系とは開発者が異なります)。リンク先のページを下方向へスクロールすると現れる「ダウンロードパッケージ一覧」項目から、お使いの環境にあったファイル(※日本語版のほか英語版もあるので注意)をダウンロードして下さい。
■WinSCP
2000年に初版が公開された多言語対応のFTPソフト。SFTPとFTPSの両方に対応。画面は、左側がPCで右側がサーバというFFFTPと同様の表示も選択できますし、サーバの中身だけを単独で表示する設定も選択できます。設定項目もたくさんあり、とても多機能です。
WinSCPのインストーラをダウンロードするには、窓の杜「WinSCP」ページからなら日本語で読めて簡単です。最新版は公式サイトで配布されていますが、ダウンロードページの表記は英語のみです。WinSCPそのものは、インストール時に言語を「日本語」に設定すれば、日本語化された状態で使えます。
■FFFTPとWinSCPのどちらを使うか
もしあなたがPC操作にあまり自信がないなど、できるだけシンプルな画面で使いたいと考えるなら、FFFTPを選択する方が簡単でしょう。しかし、SFTPでしか接続できないサーバと通信する必要があるならWinSCPを選択する必要があります。どちらも無料のソフトウェアですから、迷う場合は両方セットアップしてみて、使い比べてみるのが手っ取り早くておすすめです。
10. FTPソフトの初期設定方法
FTPソフトを使ってサーバに接続してファイルを転送するには、FTP接続に必要な情報を入手してソフトウェアに設定する必要があります。具体的には、下記の3つの情報は最低限必要です。- ホスト名(アドレス): ftp.example.com など
- ユーザ名(ID): sakura など
- パスワード: tomoyo など
ホスト名は、自身のウェブサイトで使っているドメインと同じ場合もありますが異なる場合もあります。サーバの契約時に、サーバ会社などから提供された情報を確認して下さい。そのほか、PASVモード(パッシブモード)を使うかどうか、FTPSで接続するか、SFTPで接続するかなど、サーバ側の指示に従ってオプションを設定する必要がある場合もあります。
「ホストの設定名」には、何でも分かりやすい名称を付けられます。FTPソフトには複数のFTPサーバの情報を登録できるため、それらを識別するために自由に名前を付けておけるようになっています。
「ローカルの初期フォルダ」は、FTPサーバにログインできた直後に(FTPソフトの)PC側画面で自動的に開かれるフォルダを指定します。ウェブサイトのファイルを保存してあるフォルダを指定しておけば便利です。
「ホストの初期フォルダ」は、分からなければ何も指定しなくて構いません。たいていの場合はウェブサイトのファイルをアップロードできる場所が最初から開くでしょう。サーバ会社側から何か指定があれば、そのパス(ルートディレクトリからのフルパス)を入力しておきます。
ウェブサイトを公開するためにも使うFTPソフト
今回は、PCとサーバ間でファイルを転送するFTPソフトについて、その概要や役割、おすすめのWindows版ソフトなどをご紹介いたしました。自分が使いやすいと感じるFTPソフトをインストールして、ぜひ活用してみて下さい。【関連記事】