Windows Server 2016 にFTPサーバをインストールし、ファイル転送してみた

#■はじめに
ファイル転送用に、Windows Server 2016 にFTPサーバをインストールします。
併せて、FTPクライアントからCUIにて転送(FTP-Get)の確認を行います。

なお、あくまでクローズド環境用の簡易手法のため、
**Web公開等のセキュリティは一切考慮していない**点をご了承ください。

#■手順
・FTPサーバ側の設定
手順①　IIS/FTPサーバのインストール
手順②　FTPユーザの追加
手順③　FTPルートディレクトリの作成
手順④　FTPサービスの設定
手順⑤　Windowsファイアウォールの受信設定

・FTPクライアント側の設定および転送確認
手順①'　FTPクライアント側のWindowsファイアウォールの受信設定
手順②'　FTPクライアント側のディレクトリ作成
手順③'　FTPサーバ側のファイル配置
手順④'　FTPクライアント側のからFTP-Get



#■手順① IIS/FTPサーバのインストール
役割と機能から、IIS/FTPサーバのインストールを行います。

①-1　「サーバマネージャー」の「管理」から、「役割と機能の追加」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/b6ab7810-48f8-73ef-15cd-a2f999c9e617.png)

①-2　「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/a73b21f4-cb50-5df5-f9fb-ba1eeec2e56d.png)

①-3　「役割ベースまたは機能ベースのインストール」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/2a7446ed-ee12-90e5-3640-b5b61e5262e8.png)

①-4　「サーバープールからサーバーを選択」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/62ffda54-75cd-212f-7c7f-f375ed1cf725.png)

①-5　「Webサーバー(IIS)」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/398870b1-33ea-d7f6-6d4f-ca12f0205693.png)

①-6　「管理ツールを含める」を選択し、「機能の追加」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/fa0790aa-2291-b0ed-99bd-0ef58764ead9.png)

①-7　「機能」の画面については、何も選択せずに「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/b98ce9d0-8275-0340-49f7-8f97590b98ce.png)

①-8　「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/b4164149-9998-e9fe-fe73-843b1c2fba25.png)

①-9　「FTPサーバ」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/ba112426-de17-112b-427e-c802dd9e69d8.png)

①-10　「インストール」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/97e01176-1fd9-a01b-451c-86d32b88ee58.png)


①-11　10分ほど待つと、インストールが完了します。
併せて、IISがインストールされ、localhostが表示されるようになります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/844bfd28-2bbf-1c02-4695-867625e6f362.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/7dbb1b6f-ee34-d0fa-16c8-9b0dafa1dae8.png)

#手順②　FTPユーザの追加

②-1　「コントロールパネル」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/e56804c6-18e8-4b98-0011-c5eabd6a689c.png)

②-2　「ユーザーアカウント」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/4a3b34ce-0101-8557-38ac-8f54d22f216c.png)

②-3　「ユーザーアカウント」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/10889213-657a-1105-4dc7-e652b73d051e.png)

②-4　「別のアカウントの管理」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/acd40071-a2b9-c85b-eb3e-bfe1d7f15110.png)

②-5　「ユーザアカウントの追加」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/2f091a7d-37e1-1ed3-7cfc-73214b3fe68c.png)

②-6　ユーザ名、パスワード、パスワードの確認入力、パスワードのヒントの全てを入力し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/3d33dc99-d550-3b21-b1d0-2bab505e2412.png)

②-7　ユーザが作成されました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/634e079d-de4a-59f3-6fa5-c5c5a40aa067.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/1d9240f9-f53a-3869-def0-6bfd9b74d277.png)


#■手順③　FTPルートディレクトリの作成
どこでも良いのですが、今回はCドライブ直下に作ります。

③-1　C:\直下に「ftproot」ディレクトリを作成します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/5c8c28c0-b2e7-165c-dba4-710a33438d46.png)

③-2　「ftproot」ディレクトリのプロパティを開きます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/ec53d7c7-2323-3207-33e8-b91242dac847.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/9f9cd45d-1a99-54d3-0bd0-3b1357333ebf.png)

③-3　「セキュリティ」タブの「編集」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/a0e8f092-792c-c0aa-5106-6ef1f5fc9fb8.png)

③-4　「アクセス許可」にて、「追加」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/31baaa45-25d3-eed4-f533-eb7dbde62269.png)

③-5　ftpにて利用するユーザを「選択するオブジェクト名を入力してください」欄に入力し、「名前の確認」を押下したのち、「OK」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/3138edad-1364-65d5-d0ce-9c38034d2462.png)

③-6　ユーザが追加されたことを確認します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/d70641bd-3ec5-5665-89c7-2ee4688e0657.png)

③-7　「アクセス許可」の「フルコントロール」を選択し、「OK」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/75638cf8-e7c8-4377-baa0-92496b15f33e.png)


#■手順④　FTPサービスの設定

④-1　「サーバーマネージャー」の「ツール」より、「インターネットインフォメーションサービス(IIS)マネージャー」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/5e21b977-495e-86d7-1816-1bea15c79ed8.png)

④-2　左ペインのホスト名を右クリックし、「FTPサイトの追加」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/6bce13f2-ef10-5369-9738-24cadbb1efb0.png)

④-3　FTPサイト名(任意)、および物理パス(FTPルートディレクトリ)を入力し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/b395cd83-9ba7-318c-b5f7-658500374869.png)

④-4　IPアドレスを「すべて未割り当て」(デフォルト)、ポートを「21」(デフォルト)、SSLを「無し」(デフォルト:必要)に選択し、「次へ」を押下します。
**Web公開する場合、SSL認証の設定を行ってください。**本記事では割愛します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/3ed07c17-d938-4f36-7b0e-f51a809227af.png)

④-5　認証を「基本」、承認を「指定されたユーザー」、「(FTPユーザ名)」、アクセス許可は「読み取り」および「書き込み」を両方チェックし、「終了」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/e56ffb6f-f4fb-30bf-3d85-0cb934508eb1.png)

④-6　これで、自ホストからFTP接続は出来るようになります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/5f3ee2df-fc93-4bf9-1875-2f2950c2c426.png)


#手順⑤　Windowsファイアウォールの受信設定
FTPで利用するTCP22の受信許可設定をします。

⑤-1　コントロールパネルを起動します。

⑤-2　「システムとセキュリティ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/c16eb54c-8fc3-1220-479d-3d0048902dc7.png)

⑤-3　「Windowsファイアウォール」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/74ed0321-6615-91c3-58e5-b059f3b0a40e.png)

⑤-4　左ペインの「詳細設定」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/ef88dbad-a51c-37d7-738c-929ddb473bf1.png)

⑤-5　左ペインの「受信の規則」を選択し、右ペインの「新しい規則...」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/2f45ee57-5e94-5889-fcfa-eeb0b07cf303.png)

⑤-6　「ポート」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/a7d64738-e6fb-ab7a-c4cc-e249dd71e799.png)

⑤-7　「TCP」を選択し、「特定のローカルポート」－「21」を設定し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/f72afd43-a43d-c923-7c13-704924da70fa.png)

⑤-8　「接続を許可する」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/0e72f299-4d70-076e-61f6-5bea9773ffaa.png)

⑤-9　「ドメイン」、「プライベート」、「パブリック」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/6725df92-c6f7-8f12-d4b2-029441140acf.png)

⑤-10　「名前」を入力し、「完了」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/cb25b56a-0a7e-0f25-32cb-562992616cdb.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/55947ba7-ff33-5e51-bd28-bb6890097171.png)



#■FTPサーバの動作確認
以下は、FTPクライアントからファイルダウンロード(FTP-Get)を行い、動作確認を実施する手順となります。なお、クライアントもWindows Server 2016を利用し、FTPクライアントは標準のCUI(コマンドプロンプト）を利用します。

#■手順①'　FTPクライアント側のWindowsファイアウォールの受信設定
FTPのアクティブモードの場合、FTPサーバ→クライアントへは20ポートを利用してデータ転送を行うため、クライアント側にて対向サーバが20番を利用している場合の受信許可設定を行います。
（FTPサーバ[TCP20] -> (転送データ) -> FTPクライアント[TCP1024-65535のどれか]）

①'-1　コントロールパネルを起動します。
①'-2　「システムとセキュリティ」を押下します。
①'-3　「Windowsファイアウォール」を押下します。
①'-4　左ペインの「詳細設定」を押下します。
①'-5　左ペインの「受信の規則」を選択し、右ペインの「新しい規則...」を押下します。
※ここまでは手順⑤と同じ。

①'-6　「カスタム」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/c2886782-680a-5b96-cc4b-9909660ddb08.png)

①'-7　「すべてのプログラム」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/c600092d-d202-9a01-242e-d2f7cfc72c5a.png)

①'-8　プロトコルの種類は「TCP」、ローカルポートは「すべてのポート」、リモートポートは「特定のポート」－「20」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/d6c0924a-c327-5ad6-c2f8-26ab47e9eee2.png)

①'-9　ローカルアドレスおよびリモートアドレスは、「任意のIPアドレス」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/0e656e4a-9078-9d7a-3390-3694f0439f52.png)

①'-10　「接続を許可する」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/51b2b10c-b7dd-649d-08ae-521cdfeef6f7.png)

①'-11　「ドメイン」、「プライベート」、「パブリック」を選択し、「次へ」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/a0368c5d-9096-1f50-ea0f-7c98ea3c1e4c.png)

①'-12　「名前」を入力し、「完了」を押下します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/d310f698-dfd9-1295-3c6e-9597a10e8bed.png)

#■手順②'　FTPクライアント側のディレクトリ作成
今回はCドライブ直下に「ftpclient」ディレクトリを作成しました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/cc61fa5b-0df7-da9d-5423-a00e2aa1b855.png)

#■手順③'　FTPサーバ側のファイル配置
FTPルートディレクトリに、適当なファイルを置きます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/159c6ba8-0f1f-37f1-6fee-8fefe98045c8.png)


#■手順④'　FTPクライアント側のからFTP-Get
④'-1　FTPクライアントからFTPサーバへ接続
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/fd419ee6-1aaa-9d3f-fa48-0d83058f5f5b.png)

④'-2　FTPクライアント側のディレクトリ移動
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/be614d75-2ff0-03b7-b0f4-42db4c79ed90.png)

④'-3　FTPサーバ側のディレクトリ/ファイル確認
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/4a9b34ba-a325-ac15-b2ed-bc7f8a248c88.png)

④'-4　FTPクライアント側からFTP-get
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/9e5d155b-2cfa-6dfc-8d87-de1f2765ef05.png)

④'-5　FTPクライアントのディレクトリにファイルが転送されたことを確認
![image.png](https://qiita-image-store.s3.amazonaws.com/0/201787/7e6bce80-d44c-ae73-0259-89c0e08a7927.png)


#■出典/参考
Windows Server 2016でFTPサイトの構築手順
http://g-network.boo.jp/wiki/2018/09/post-1545/

Windows Server 2016 のFTPサーバを利用する場合のファイアーウォール設定
https://www.ipentec.com/document/windows-server-2016-setup-ftp-firewall

【FTPの基本】　「アクティブモード」と「パッシブモード」の違いとは？
https://go-journey.club/archives/545

MS-DOS(コマンド)プロンプト用 FTPの使い方 - コマンド解説
http://www.urban.ne.jp/tech/dosftp/reference.html