Solaris のシステム管理 (資源管理とネットワークサービス)

仮想ホスティング

仮想ホスティングにより、FTP サーバーは同一マシン上の複数ドメインをサポートできます。各仮想ホストには、独立した論理インタフェースと IP アドレスが必要です。

FTP サーバーは、限定完全の 2 種類の仮想ホスティングをサポートします。 限定仮想ホスティングでは、すべての仮想ホストが同じ構成ファイルを使用します。完全仮想ホスティングでは、各仮想ホストは個別の構成ファイルを使用できます。


注 –

デフォルトでは、実ユーザーとゲストユーザーは、仮想ホストへのログインを拒否されます。次に示す ftpaccess 指令を設定すると、デフォルトを上書きできます。


特定のユーザーにアクセスを許可する場合
virtual address allow username
匿名ユーザーのアクセスを拒否する場合
virtual address private username


詳細は、ftpaccess(4) のマニュアルページを参照してください。

限定仮想ホスティングを有効にする方法

限定仮想ホスティングでは、仮想 FTP サーバーの部分的なサポートを提供します。限定仮想ホスティングのサポートを有効にするには、仮想ルートディレクトリを指定します。必要であれば、次に示す仮想ホストのパラメータを ftpaccess ファイルに設定することもできます。

ftpaccess ファイル内のすべての指令は、すべての仮想サーバーによりグローバルに共有されます。

  1. スーパーユーザーになります。

  2. 次のエントリを ftpaccess ファイルに追加します。


    virtual address root|banner|logfile path
    virtual address hostname|email string
    

    virtual

    仮想サーバー機能を有効にするために使用するキーワード 

    address

    仮想サーバーの IP アドレス 

    root

    仮想サーバーのルートディレクトリ 

    banner

    仮想サーバーへの接続が確立したときに表示されるバナーファイル 

    logfile

    仮想サーバーに対するファイル転送の記録 

    path

    仮想サーバー上のディレクトリとファイルの場所の指定に使用する変数 

    email

    メッセージファイルと HELP コマンドで使用される電子メールアドレス

    hostname

    グリーティングメッセージやステータスコマンドで表示されるホスト名 

    string

    email パラメータまたは hostna me パラメータの指定に使用する変数


    注 –

    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 ディレクトリ、bannerlogfile の場所を設定します。


注 –

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(4)ftpusers(4)ftpgroups(4)ftphosts(4)ftpconversions(4) のマニュアルページを参照してください。


注 –

構成ファイルの個別のバージョンが見つからない場合は、/etc/ftpd ディレクトリに置かれた構成ファイルのマスターバージョンを使用します。


  1. スーパーユーザーになります。

  2. 次のエントリを /etc/ftpd/ftpservers ファイルに追加します。


    address /config-file-dir
    

    address

    仮想サーバーの IP アドレス 

    config-file-dir

    仮想ホスト用にカスタマイズされた構成ファイルが置かれるディレクトリ 


    注 –

    hostname を仮想サーバーの address として使用することは可能ですが、それよりも IPv4 アドレスの使用を強く推奨します。hostname に一致するホストが見つかるためには、FTP 接続を受信するときに DNS が使用可能である必要があります。IPv6 ホストの場合は、IPv6 アドレスよりもホスト名を使用します。


  3. 仮想ホスト用にカスタマイズされた 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