仮想ホスティングにより、FTP サーバーは同一マシン上の複数ドメインをサポートできます。各仮想ホストには、独立した論理インタフェースと IP アドレスが必要です。
FTP サーバーは、限定と完全の 2 種類の仮想ホスティングをサポートします。 限定仮想ホスティングでは、すべての仮想ホストが同じ構成ファイルを使用します。完全仮想ホスティングでは、各仮想ホストは個別の構成ファイルを使用できます。
デフォルトでは、実ユーザーとゲストユーザーは、仮想ホストへのログインを拒否されます。次に示す ftpaccess 指令を設定すると、デフォルトを上書きできます。
特定のユーザーにアクセスを許可する場合 virtual address allow username 匿名ユーザーのアクセスを拒否する場合 virtual address private username |
詳細は、ftpaccess(4) のマニュアルページを参照してください。
限定仮想ホスティングでは、仮想 FTP サーバーの部分的なサポートを提供します。限定仮想ホスティングのサポートを有効にするには、仮想ルートディレクトリを指定します。必要であれば、次に示す仮想ホストのパラメータを ftpaccess ファイルに設定することもできます。
banner
logfile
hostname
ftpaccess ファイル内のすべての指令は、すべての仮想サーバーによりグローバルに共有されます。
スーパーユーザーになります。
次のエントリを ftpaccess ファイルに追加します。
virtual address root|banner|logfile path virtual address hostname|email string |
virtual |
仮想サーバー機能を有効にするために使用するキーワード |
address |
仮想サーバーの IP アドレス |
root |
仮想サーバーのルートディレクトリ |
banner |
仮想サーバーへの接続が確立したときに表示されるバナーファイル |
logfile |
仮想サーバーに対するファイル転送の記録 |
path |
仮想サーバー上のディレクトリとファイルの位置の指定に使用する変数 |
|
メッセージファイルと HELP コマンドで使用される電子メールアドレス |
hostname |
グリーティングメッセージやステータスコマンドで表示されるホスト名 |
string |
email パラメータまたは hostname パラメータの指定に使用する変数 |
hostname を仮想サーバーの address として使用することは可能ですが、それよりも IPv4 アドレスの使用を強く推奨します。hostname に一致するホストが見つかるためには、FTP 接続を受信するときに DNS が使用可能である必要があります。IPv6 ホストの場合は、IPv6 アドレスよりもホスト名を使用します。
virtual 10.1.2.3 root /var/ftp/virtual/ftp-serv virtual 10.1.2.3 banner /var/ftp/virtual/ftp-serv/banner.msg virtual 10.1.2.3 logfile /var/log/ftp/virtual/ftp-serv/xferlog |
この例では、仮想 FTP サーバー上の root ディレクトリ、banner、logfile の位置を設定します。
ftpaddhost(1M) スクリプトを -l オプション付きで使用して、限定仮想ホストを構成できます。
次の例では、ftpaddhost を -l -b -x オプションとともに実行して、テストバナーと、仮想ルート /var/ftp/virtual/10.1.2.3 の下にあるログファイル /var/ftp/virtual/10.1.2.3/xferlog を使用する限定仮想ホスティングを構成します。
ftpaddhost -l -b -x /var/ftp/virtual/10.1.2.3/xferlog \ /var/ftp/virtual/10.1.2.3 |
完全仮想ホスティングでは、各仮想ドメインは個別の構成ファイルを使用できます。FTP サーバー上の仮想ホスティングの完全サポートを有効にするには、特定のドメインについて次に示す FTP 構成ファイルを作成または変更します。
ftpaccess
ftpusers
ftpgroups
ftphosts
ftpconversions
詳細は、ftpaccess(4)、ftpusers(4)、ftpgroups(4)、ftphosts(4)、ftpconversions(4) のマニュアルページを参照してください。
構成ファイルの個別のバージョンが見つからない場合は、/etc/ftpd ディレクトリに置かれた構成ファイルのマスターバージョンを使用します。
スーパーユーザーになります。
次のエントリを /etc/ftpd/ftpservers ファイルに追加します。
address /config-file-dir |
address |
仮想サーバーの IP アドレス |
config-file-dir |
仮想ホスト用にカスタマイズされた構成ファイルが置かれるディレクトリ |
hostname を仮想サーバーの address として使用することは可能ですが、それよりも IPv4 アドレスの使用を強く推奨します。hostname に一致するホストが見つかるためには、FTP 接続を受信するときに DNS が使用可能である必要があります。IPv6 ホストの場合は、IPv6 アドレスよりもホスト名を使用します。
仮想ホスト用にカスタマイズされた FTP サーバー構成ファイルを作成するには、/etc/ftpd ディレクトリにある構成ファイルのマスターバージョンを /config-file-dir ディレクトリにコピーします。
詳細は、ftpservers(4) のマニュアルページを参照してください。
# # FTP Server virtual hosting configuration file # 10.1.2.3 /net/inet/virtual/somedomain/ 10.1.2.4 /net/inet/virtual/anotherdomain/ |
この例では、仮想サーバー上の 2 つの異なるドメインの IP アドレスを指定します。
ftpaddhost(1M) スクリプトを -c オプション付きで使用して、完全仮想ホストを構成できます。
次の例では、ftpaddhost を -l -b -x オプションとともに実行して、テストバナーと、仮想ルート /var/ftp/virtual/10.1.2.3 の下にあるログファイル /var/ftp/virtual/10.1.2.3/xferlog を使用する限定仮想ホスティングを構成します。
ftpaddhost -l -b -x /var/ftp/virtual/10.1.2.3/xferlog \ /var/ftp/virtual/10.1.2.3 |