こんにちは、アリスです。
Windows10でWindowsの機能を使ってFTPサーバを構築する方法を紹介します。
FTPとはファイルトランスファープロトコルの略で、直訳すればファイル転送ルールのことです。インターネット上で他のPCに任意のファイルを送ったり、取り出したりするための通信の規約ですね。
Windows10でFTPサーバを構築すれば、他のPCからFTPサーバ上にファイルをアップしたり、FTPサーバからファイルをダウンロードすることができます。
本記事では、Windows10でFTPサーバを立ち上げる方法を、最初から順を追って説明します。
Windows10でFTPサーバを立てる手順
Windows10のコントロールパネルを開き、「プログラム」を選択する。
プログラムと機能の「Windowsの機能の有効化または無効化」を選択する。
インターネットインフォメーションサービスの項目内にある「FTPサービス」と「IIS管理コンソール」にチェックを付け、OKをクリックする。
FTPサイトの追加
コンパネを開き、管理ツールを選択する。
インターネットインフォメーションサービス(IIS)マネージャーを選択する。
左パネルのサーバーアイコンを右クリックして、「FTP サイトの追加」を選択する。
FTPサイトの追加ダイアログが表示されますので、FTPサイト名と物理パスを入力し、次へボタンをクリックする。
FTPサイト名は好きな名前をつけてください。
物理パスは、「…」ボタンを選択して、「C:\inetpub\ftproot」を設定してください。
直接物理パスを書いてもいいですが、「C:\inetpub\ftproot」のフォルダが作成されることの確認のため、「…」ボタンから設定してみてください。
※「C:\inetpub\ftproot」は、下記ダイアログが開かれた時点で自動で作成されます。
SSLは「無し」に設定し、次へボタンをクリックする。
SSL無しの場合、FTPサーバとPCのファイルのやり取りの通信が暗号化されません。もしFTPサーバを外部に公開したりする場合、SSLの設定はしておくべきです。設定方法は別途調べてください。
認証は「基本」を選択し、承認は「すべてのユーザ」を設定する。アクセス許可は「読み取り」、「書き込み」ともチェックを付け、終了ボタンをクリックする。
承認の設定は、通常「指定のユーザ」にしますが、簡略化のため全てのユーザにアクセス権を付与しています。誰でもアクセスできるのはセキュリティ的によろしくありませんので注意して下さい。
ファイアーウォールの設定
コントロールパネルで、システムとセキュリティメニューから「Windowsファイアーウォール」を選択する。
Windows10では、「Windows Defender ファイアーウォール」と表示されているかもしれませんが同じものです。
ファイアーウォールとは、直訳で炎の壁のことです。外からの不正アクセスなど、通過させてはいけない通信をブロックするためのものです。ブロックしなければ、外部からの不正アクセスなどでコンピュータに侵入されてしまいます。
セキュリティ上の理由から、デフォルト設定ではFTPの通信はWindowsのファイアーウォールで遮断されます。そのため、ファイアーウォール設定でFTPの通信を許可する必要があります。
左サイドメニューから「詳細設定」を選択する。
左サイドメニューから「受診の規則」を選択する。
画面中央のメニューにFTPサーバ(FTPトラフィック)」と「FTPサーバーパッシブ(FTPパッシブトラフィック受信)」があるので、それらを右クリックして表示されるメニューから「規則の有効化」を選択する。
以上でFTPサーバが立ち上がりました。これで、他PCからも接続できます。
FTPサーバにアクセスする(エクスプローラ編)
FTPサーバが立ち上がったら、他PCのエクスプローラからアクセスしてみましょう。他PCがなければ、FTPサーバを構築したPCからでも構いません。
エクスプローラに「ftp://IPアドレス」と入力してください。私のIPアドレスは192.168.3.3だったので、「ftp://192.168.3.3」と入力しました。
IPアドレスを調べるには、コマンドプロンプトで「ipconfig」と打つと表示されます。
下記のログイン画面が表示されますので、ユーザ名とパスワードを入力します。ユーザ名とパスワードは、Windows起動時にログインするときのユーザ名とパスワードのことです。
ログイン時に下記のダイアログが表示されますので、アクセスを許可するをクリックします。
エクスプローラ上で、適当なフォルダを作ったり、ファイルを置いてみてください。
すると、「C:\inetpub\ftproot」の下に作ったフォルダやファイルがそっくりそのままありますので、確認してみて下さい。
つまり、FTPサーバ上のデータが格納される場所が「C\inetpub\ftproot」なのです。
FTPサーバにアクセスする(コマンドプロンプト編)
コマンドプロンプトからコマンドで操作できる人向けの説明です。上級者向けの説明になります。FTPサーバが立ち上がったら、コマンドプロンプトからアクセスしてみましょう。
コマンドプロンプトを起動し、「ftp」と入力し、Enterキーを押します。
するとftp用のプロンプトが出ますので、次に「open IPアドレス」でログインします。IPアドレスは、コマンドプロンプトで「ipconfig」コマンドを実行するとわかりますので、事前に調べておきましょう。
私の場合は、「192.168.3.3」になっていましたので、「open 192.168.3.3」を打ちました。そのあと、ユーザ名とパスワードを入力すればログインできます。ユーザ名とパスワードは、Windowsにログインするときのユーザ名とパスワードのことです。
別のクライアントPCから、コマンドプロンプトでFTPサーバにアクセスし「dirコマンドや、cdコマンド」を打つと「150 Opening ASCII mode data connecton.」と表示されて、通信が止まる場合があります。
その時は下記の記事に従ってクライアントPCのファイアーウォール設定を変更してください。