Windows10でFTPサーバを構築して、DOSコマンドで動作確認までおこなう。

FTP

FTPサーバを使った開発をおこなう場合、各開発メンバそれぞれにFTPサーバを準備するのは骨が折れる作業です。
そういった場合は、Windows10で標準的に使えるFTPサーバを使用する方法が一般的と言えます。


今回は、Windows10上でFTPサーバを構築する方法と、動作確認方法まで紹介していきます。


環境情報


  • Windows10

IISを使ってFTPサーバを構築する


IISはインターネットインフォメーションサービスの略で、Windowsに標準装備されているサーバサービス群になります。
今回は、このIISを使ってFTPサーバを構築します。


IISを有効にする


IISはWindows10に標準搭載されていますが、デフォルトでは無効になっています。
まずはこれを有効にして、IISを使用できるようにします。


「すべてのコントロールパネル項目」→「プログラムと機能」から、『Windowsの機能の有効化または無効化』をクリックして、Windowsの機能ウィンドウをひらきます。


Windowsの機能の有効化または無効化

Windowsの機能ウィンドウにおいて、インターネットインフォメーションサービスの「FTP Service」と「IIS 管理コンソール」の2つをチェックし、OKボタンを押下して終了します。


FTP Service」と「IIS 管理コンソール」

変更の適用が始まりますので、しばらく待ちます。


変更の適用

「変更が完了しました」のメッセージが表示されれば、IISの有効化は完了です。



IISが有効化されたかを確認してみましょう。
Windowsのプログラムバーに「インターネットインフォメーションサービス(IIS)マネージャー」が表示されていれば、IISの有効化は成功です。


インターネットインフォメーションサービス(IIS)の有効化完了

FTPユーザを作成する


FTPのユーザは、Windowsのユーザとして準備する必要があります。
管理ツール → コンピュータの管理からユーザを選択し、新しいユーザを作成します。


今回は、以下の情報を入力しています。


ユーザ名 ftp
フルネーム FTPユーザ
説明 IIS接続用ユーザ
パスワード password

Windowsユーザの作成

作成ボタンを押下したら、ユーザが作成されていることを一覧で確認します。



FTPサイトの作成と設定


FTPサイトを作成し、ファイルの格納場所を確保します。


Windowsのプログラム検索でIISと入力するとIISが表示されるので、アプリケーションを選択してインターネットインフォメーションサービス(IIS)マネージャーを起動します。



接続ペーンで「サイト」を選択し、操作ペーンで「FTPサイトの追加」を選択します。



FTPサイトの追加ウィンドウが表示されます。


FTPサイト名は任意で構いません。
解りやすい名前をつける形でよいでしょう。
コンテンツディレクトリは、接続先のパスとなります。


今回は、以下の情報を入力しています。


FTPサイト情報の作成

FTPサイト名 FTP接続試験
物理パス D:\temp

入力が完了したら次へボタンを押下します。


バインドとSSLの設定ウィンドウに移ります。
バインドするIPアドレスはすべて「全て未割当」を選択します。


FTPサイトを自動的に接続するはチェックでよいです。


SSLは無しにします。


入力が完了したら次へボタンを押下します。


FTPサイトの追加

バインドとは、FTPでの接続を指定したIPでのみ許可する設定となります。


バインドに関しては、複数のNICでIPアドレスを複数所有していなければ、「全て未割当」でよいです。


認証情報の入力に進みます。


認証方法は匿名とし、匿名ユーザに対して読み取り・書き込みを許可するようにします。


入力が完了したら終了ボタンを押下します。



サイトの一覧に追加したサイトが表示されていれば、サイトの追加に成功です。



DOSコマンドを使って動作確認


FTPサーバで想定通りに構築できたかを確認します。
Windowsに標準搭載されているFTPコマンドを使って確認するのが一番早いです。


以下のFTPコマンドは、DOSプロンプトで実行します。


ftpモードにする(ftp)


ftpコマンドで、ftpモードに移行します。


D:\work>ftp
ftp>

サイトに接続する(open)


openコマンドでサイトに接続をおこないます。
「open ※ホスト名」の書式になります。


今回はローカルPC上でFTPサーバを構築しているので、ホスト名はlocalhostになります。


ftp> open localhost
DESKTOP-U7JE3FQ に接続しました。
220 Microsoft FTP Service
200 OPTS UTF8 command successful - UTF8 encoding now ON.

ユーザ名とパスワードを入力すればFTPサーバにログインできます。
最初の手順でWindowsユーザとして作成したユーザ名とパスワードを指定します。


ユーザー (DESKTOP-U7JE3FQ:(none)): ftp
331 Anonymous access allowed, send identity (e-mail name) as password.
パスワード:
230 User logged in.
ftp>

ローカルディレクトリの指定(lcd)


転送するファイルが格納されているディレクトリ(転送元)に移動します。


ftp> lcd d:\work
ローカル ディレクトリは現在 D:\work です。

リモートディレクトリの指定(cd)


転送先ディレクトリに移動します。


ftp> cd ./dest
250 CWD command successful.

現在のディレクトリ位置を確認(pwd)


cdで移動しましたが、意図したディレクトリに移動されているかを確認します。


ftp> pwd
257 "/dest" is current directory.

転送モードを指定(ascii bin)


転送モードはASCIIモード(ascii)とバイナリモード(bin)の二種類があります。
今回はファイルを転送しよう思いますので、asciiを指定します。


ftp> ascii
200 Type set to A.

ローカルディレクトリからFTPサーバへ転送する(put)


ファイルをFTPサイトにアップロードします。
アップロードはputコマンドを使用します。


ftp> put test.txt
200 EPRT command successful.
150 Opening data connection
226 Transfer complete.
ftp: 16 バイトが送信されました 0.01秒 1.60KB/秒。

「Transfer complete.」が表示されれば転送成功です。
実際に転送されているかは、FTPサーバをエクスプローラーで確認可能です。


FTPサイトをエクスプローラーで確認

FTPサーバからローカルディレクトリに転送する(get)


FTPサーバからファイルをダウンロードします。
ダウンロードはgetコマンドを使用します。


ftp> get test.txt
200 EPRT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
ftp: 16 バイトが受信されました 0.00秒 16000.00KB/秒。

「Transfer complete.」が表示されれば転送成功です。
ローカルディレクトリ(lcdで確認)にgetしたファイルが表示されていれば転送成功です。


FTPのコマンドを確認する(help)


この記事で紹介したコマンド以外にも、ftpコマンドは存在します。
全てのコマンドはhelpコマンドで確認できます。


ftp> help
コマンドは省略することができます。コマンド:

!               delete          literal         prompt          send
?               debug           ls              put             status
append          dir             mdelete         pwd             trace
ascii           disconnect      mdir            quit            type
bell            get             mget            quote           user
binary          glob            mkdir           recv            verbose
bye             hash            mls             remotehelp
cd              help            mput            rename
close           lcd             open            rmdir

まとめ


IISでFTPサーバを構築してから動作確認まで解説しました。


まとめ
  • IISはWindowsに標準搭載されているサーバサービス群
  • 構築後の動作確認はFTPコマンドで実施するのが早い

FTPコマンドを使用すると、実際のFTPの挙動を直感的に把握することもできるのでお勧めです。




sakusaku

都内でSIerをやっています。 使用している技術は、Java、PHP、MySQL、PostgreSQL、Oracle、Apache、Tomcat、あたりです。 Pythonやってみたいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください