「webで何か」作るブログ

35歳という遅すぎるスタートをなんとかする為のブログです。基本的に自分にとっての役立ちメモ。

FTP?サーバー?なんか怖いんだけど・・を解消しよう

github.ioへ移転しました。

私の周りではFTPやサーバーについて、どうも恐怖心を持っているように見える人が多くいます。

FTPソフトにはいろいろな設定項目があるので、それも無理ないのかなと思いましたが、正直個別に説明していくのは・・。

というわけで今回の記事を書いています。

ちょっと面倒なお話も出てきますが、少しでもサーバーやFTPへの恐怖心を軽減出来たら嬉しいです。

サーバーはパソコンと一緒

サ―バーに恐怖心を持っている方の多くは、サーバーは特別なマシンであり、自分の知らない色々なことがあると感じているのではないでしょうか?FTPで接続するという事に限って言えば実際はそうではなくて、普段使っているPCと変わりありません。

ちなみに以下の記事では余りもののマシンをWebサーバーに仕立てる、という事を行っています。

 

pochiweb.hatenablog.com

 

サーバーとPCの違うところは、とにかくファイルを保存、提供することに最適化されていること。

そして、この保存や提供は専用のソフトによって行われています。

Web用の情報を管理するのは、WebサーバーソフトであるApacheやNginxなどのWebサーバーソフトであり、メール用のサーバーであればPostFixなどのメールサーバーソフトです。

FTPとは何か?

文章が続いたのでちょっとここで視覚的に類似点を見てみましょう。

以下の画像は、Macのファイル管理ソフト「Finder」(Windowsで言う所の「エクスプローラー」に当たるもの。)の画面です。

ちなみに私はよく、階層の深いところにあるファイルを移動させる場合に、こうやって二つのウィンドウでFinderを開いて移動させたりします。

f:id:pochiweb:20170703213331p:plain

 続いてこちらが人気のFTPソフトの一つ「Filezilla」の画面です。

f:id:pochiweb:20170704084006j:plain

FileZillaでは、左半分に手元のPCのファイルが、右半分にアップロード先のファイルが一覧で表示されています。

どうでしょう。どちらもフォルダやファイルが並んでいて、見た目にもかなり似ていますよね。それもそのはずで、どちらも同じコンピュータであり、FTPで行うファイルの移動とPCの中でファイルを移動することは、やっていること同じです。

違うのは、移動先が外部のコンピュータであることだけです。

FTPってなんの略?プロトコルについて

ご存知の方も多いと思いますが、FileTransfar Protocolの頭文字をとったものです。

FileとTransfarはファイル(File)の移動(Transfar)と分かり易いかと思いますが、Protocolってなんでしょう?ということでまずはメジャーなProtocolを列記してみます。

  • HTTP( Hyper Text Transfar Protocol )
  • IP(Internet Protocol)
  • FTP (File Transfar Protocol)

ご覧の通り、さまざまなところでProtocolという言葉が使用されています。

Protocolというのは「規格」を意味する言葉で、インターネットの世界においては通信規格という意味になります。

インターネットは世界中の様々な機器が結びつくことによって成り立っているため、通信ハードウェア各社がそれぞれ独自の規格を持っていては色々な面で不都合がありますよね。その不都合を解消し、データのスムーズなやりとりを実現するため、世界的に統一した規格である(OSI参照モデル)が策定されています。※実際には、規格というよりはモデル、基準、といった言葉が適しているかもしれません。

ファイルのやりとりにはFTP、アドレスのやりとりにはIPを使いましょう、それぞれはこういう方法、手順でやりとりするようにしましょうと決めることで、世界がネットで繋がることが出来ているとも言えます。

そんなルール、規格がプロトコルです。

FTPの設定項目を知ろう

少し話が逸れてしまいました。続いて、FTPの設定項目がそれぞれ何を意味しているのか、FileZillaを例に紹介していきます。 

f:id:pochiweb:20170712081731j:plain

ホスト

接続先はどこか、を指定する部分です。この辺がわかりにくくさせている原因かと思いますが、この欄はFilezillaFFFTPだとホスト、CyberDuckDreamWeaver内臓のFTPだとサーバーと言ったりして、FTPソフトによって呼び名が違います。

 

ホスト欄に入力する内容はサーバー契約時に、FTPアドレス、FTPホスト名、サーバーアドレス、などという名称でこの情報が発行されることが多いです。ここでも呼び方が違いますが、同じものを表しています。

 プロトコル

画像がおかしな事になっていますが、ご容赦ください。(データ量オーバーで変えられない)

ここでは前述のプロトコルの指定ができます。

FTPプロトコルでは簡単に接続が可能ですが、暗号化がされません。多少手間ではありますが、セキュリティ対策は何かが起きてからでは遅いです。なるべくSFTPなどの暗号化されるプロトコルで利用しましょう。

filezillaで選択可能なのは、FTPとSFTPの二つです。

暗号化

filezillaでは、FTPSを利用する際にはこちから設定する仕様ですが、暗号化の種類によって入力欄が分けられているのはちょっと珍しいかもしれません。他のFTPソフトではプロトコルの選択と暗号化の選択を兼ねたタイプが多いです。

ポート

通信に使用する窓口を指定します。プロトコルとポート番号は基本的に組み合わせが決められているので、プロトコルに合わせた数値を入力する必要があります。

ただし、多くのFTPソフトではプロトコルに併せて自動的に設定してくれますので、実際にこの部分を入力するケースは少ないでしょう。

代表的なポート番号は以下の通りです。

  • FTP:20
  • SFTP:22
  • http:80
  • https:443

ログオンの種類

FTP接続は、サーバーへのログインともいえます。普段会社等で使うPCと同様、サーバーにもログインにいくつかの種類があるので、どの権限でログインするのか、を選択します。

使用する事が多いのは

  • 通常
  • アカウント

となるでしょう。「アカウント」はサーバー管理者によって作成され、作業可能なディレクトリが制限されていたりします。

ユーザ

ログインの際に使用するユーザー名もしくはアカウント名を入力します。

パスワード

ログインパスワードを入力します。

 

おわりに

FTPソフトの設定項目はまだまだたくさんありますが、通常のweb制作業務であればこの程度の知識で十分ではないでしょうか。

同じものを表すのに呼び名が違うというのはどうにかして欲しいものですが、統一するような動きもありません。悲しい。