FTPサーバの出力先をファイルサーバに設定したい(仮想ディレクトリUNCパス)

最終更新日付: 2021年1月22日

FTPで接続し、ファイルをアップロードしたいのですが、そのアップロードしたファイルをファイルサーバーの共有フォルダに配置したいです。

  • WindowsでFTPサーバーを構築し、
  • そのFTP接続先ディレクトリをファイルサーバーの共有フォルダに指定する

ことは可能でしょうか?

環境・前提条件

  • FTPサーバーをWindows Server 2016
  • ファイルサーバーをWindows Server 2016

で用意し、FTPでログインするユーザーアカウントとしましてはAD(Active Directory)を使用しました。
ADはFTPサーバーをドメインコントローラーとし、ファイルサーバーはAD参加し動作を確認しました。

結論、FTP接続先ディレクトリをファイルサーバーの共有フォルダに指定できる!

構築設定個所としましては、
FTPサーバーの「仮想ディレクトリ」の設定で、「物理パス」にファイルサーバーの共有フォルダUNCパスを指定しますと、

FTP接続先ディレクトリをファイルサーバーの共有フォルダに指定できます。

詳細を説明します。

FTPサーバーの構築(FTPサイトの追加)方法

「サーバーマネージャー」の「ツール」等から「インターネットインフォメーションサービス(IIS)マネージャー」(上記画像)を起動させます。

「FTPサイト」がまだない場合は、「サイト」を右クリックし、「FTPサイトの追加」をしてFTPサーバーを構築します。

FTPSサーバーを構築したい場合は、こちら画面のSSLの設定(「SSL」「SSL証明書」)を行う必要があります。
FTPSとSFTPは違うのご注意を。

※ 役割の追加より、IISのコンポーネントやFTPのコンポーネントは追加されている前提です。

FTPサーバーの「仮想ディレクトリ」設定にUNCパス

作成したFTPサイト(上の画像では「ftpsite」)を右クリックし、「仮想ディレクトリの追加」をクリックします。

※仮想ディレクトリとは、通常のFTPサイトの「コンテンツディレクトリ」とは別に、仮想的に枝分かれしたディレクトリを追加したい時に使います。

  • エイリアス(FTPサーバー上のディレクトリ名)
  • 物理パス(実際のコンピューター上のディレクトリ)

を指定します。
この時、物理パスにファイルサーバーのUNCパスを指定します。

パススルー認証の「接続」と「テスト設定」とは?

上記仮想ディレクトリ設定画面の「パススルー認証」の設定個所についてです。

「接続」画面

パススルーの認証は、デフォルトでは「アプリケーションユーザー(パススルー人認証)」となっています。

これはどういう意味かといいますと、
「FTPサーバーにログインしてきたユーザーで、そのまま仮想ディレクトリの物理パスに認証させアクセスさせる」
という意味です。

逆をいいますと、「特定のユーザー」設定にしますと、
「FTPサーバーにログインしてきたどんなユーザーでも、仮想ディレクトリの物理パスにアクセスする時は、ここで設定した特定のユーザーにスイッチさせて認証させアクセスさせる」
という意味です。

「テスト設定」画面

「テスト設定」では、上記「接続」で設定した設定をテストすることが出来ますが、パススルー設定のままでは上記のような認証にビックリマーク(警告マーク)が出ますが、問題ないです。

コマンド(powershell)でFTP仮想ディレクトリを作成する方法

以下のようなコマンドで、FTP仮想ディレクトリもCUI作成可能です。

New-WebVirtualDirectory -Site "ftpsite" -Name "file02" -PhysicalPath "\\file01.ad2016.internal\共有フォルダ"

上記コマンドで

  • 仮想ディレクトリ名:file02
  • 物理パス:\\file01.ad2016.internal\共有フォルダ

のFTP仮想ディレクトリが作成できます。

FTP仮想ディレクトリのコマンド(powershell)で確認方法

上記のようにpowershellのコマンドでFTP仮想ディレクトリの一覧の確認も可能です。

コメントを残す

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