1.概要
自分の開発用PCにFTPサーバーを構築して動作確認したい
といったようなことがあるかと思います。
選択肢はいろいろとあるかと思いますが
今回はWindowsの機能として既にインストールされている
2.機能の有効化
機能を有効にするには
【コントロールパネル】→【プログラム】→【Windowsの機能の有効化または無効化】
と進み、下図のとおり
【FTP Service】
【IIS 管理コンソール】
にチェックを入れて【OK】をクリックします。
プログレスバーが表示されてしばらくすると完了します。
3.FTPへアクセスするユーザーを作成する。
FTPアクセスする専用ユーザーを作成します。
アプリケーション等ではこのユーザーを使ってFTP通信を行います。
【コントロールパネル】→【システムとセキュリティ】→【管理ツール】
→【コンピューターの管理】と進むと下図のウィンドウが表示されます。
左側のツリーから
【システムツール】→【ローカルユーザーとグループ】→【ユーザー】を選択します。
【ユーザー】を右クリックして【新しいユーザー】をクリックします。
【新しいユーザー】ウィンドウが表示されるので
今回は下図のとおり入力しました。
作成が完了すると下図のとおりユーザーが追加されています。
4.IISの設定
Windowsの標準サーバーといえば【IIS】ですね。
最近は使うことが少なくなりましたが・・・
まずは、FTPユーザーを作成したのと同じように
【コントロールパネル】→【システムとセキュリティ】→【管理ツール】
→【コンピューターの管理】と進み、左側のツリーから
【サービスとアプリケーション】→【インターネットインフォメーションサービ(IIS)スマネージャー】を選択します。
【接続】にある【サイト】をクリックすると
【操作】に【FTPサイトの追加】が表示されるのでこれをクリックします。
【FTPサイトの追加】ウィンドウが表示されます。
今回は下図のとおり設定していきました。
変更した部分だけ解説します。
【サイト情報】
【FTPサイト名】なんでもOK
【コンテンツディレクトリ】FTPのrootパスを設定します。
【バインドとSSLの設定】
【ポート】コントロールコネクションのポート番号です。
【SSL】暗号化の必要がないので【無し】に設定。
【認証および承認の情報】
【認証】anonymous userでのアクセスは禁止したいので基本に設定。
【承認】ftpuserのみアクセス可能なように設定。
5.ディレクトリのアクセス権限の設定
ftpのrootパスへ【ftpuser】がアクセス可能なように設定します。
【コンピューターの管理】で先程作成したFTPサイトの【ftpTest】を選択して
【操作】にある【アクセス許可の編集】をクリックします。
【ftpTestのプロパティ】ウィンドウが表示されるので
【セキュリティ】タブをクリックして【編集】をクリックします。
【ftpTestのアクセス許可】ウィンドウが表示されるので
【追加】をクリックします。
【ユーザーまたはグループの選択】ウィンドウが表示されるので
【詳細設定】→【検索】をクリックします。
【検索結果】に先程作成した【ftpuser】があるので選択し【OK】をクリックします。
【ftpTestのアクセス許可】ウィンドウにもどると
【ftpuser】が追加されているので
【フルコントロール】にチェックを入れて【OK】をクリックします。
6.ファイアーウォールの設定
FTP通信がファイアーウォールを通過するように設定します。
今回はポートを【21】→【60021】に変更しているので下記の手順でポートを開けてあげます。
【コントロールパネル】→【システムとセキュリティー】
→【Windows Defenderファイアーウォール】→【詳細設定】をクリックします。
【セキュリティーが強化されたWindows Defenderファイアーウォール】ウィンドウが表示されるので
【受信の規則】をクリックし【新しい規則】をクリックします。
【新規の受信の規則ウィザード】ウィンドウが表示されるので下図のとおり設定します。
これでポート【60021】が開放されました。
※ポートを変更していない場合
【コントロールパネル】→【システムとセキュリティー】
→【Windows Defenderファイアーウォール】
→【Windows Defenderファイアーウォールを介したアプリまたは機能を許可】をクリックします。
【設定の変更】をクリックし、一覧から【FTPサーバー】を選択しチェックを入れます。
7.確認する
ローカルネットワーク内のPCから設定したPCに接続してみます。
PCのローカルIPは【192.168.0.120】です。
C:\Users\*****>ftp ftp> open 192.168.0.120 60021 192.168.0.120 に接続しました。 220 Microsoft FTP Service 200 OPTS UTF8 command successful - UTF8 encoding now ON. ユーザー (192.168.0.120:(none)): ftpuser 331 Password required パスワード: 230 User logged in. ftp>
上記のようログイン出来れば問題ないかと思います。
今回は試験用に自分の開発用PCにFTPサーバーを構築しました。
なので不要になったら停止する必要があります。
停止の方法は【サービス】にある【Microsoft FTP Service】を停止させて
スタートアップの種類を【手動】に設定すれば安心です。