Apache 1.3.17 に FrontPage Server Extensions を導入

SERVER

Apache 1.3.17 へ FrontPage 2000 Server Extensions を導入してみました。


FrontPage Server Extensions

Microsoft FrontPage Server Extensions は、Microsoft 社が提供しているサーバ拡張システムで、これを搭載することでさまざまな恩恵を得ることができます。特に FrontPageVisual InterDev といった同社の Web 開発ツールで威力を発揮してくれます。

この FrontPage Server Extensions という仕組みを導入することで、Web サイトは Web というあるひとつの集合体として捕らえられるようになります。Web サイトはこの Web をひとかたまりとして、参照可/作成可といったセキュリティ情報やアクセス制限が管理されます。また Microsoft 社の Web Server である IIS においては、1つの Web アプリケーションとしての意味もなしてきます。

そしてなにより、FrontPage 2000 や Visual InterDev 6.0 などを使用した場合の作業効率が格段に良くなる点も見逃せません。FrontPage Server Extensions によって提供される Web を直接編集することが可能となりますので、アップロード作業が必要なくなります。

またサイトを直接に編集しなくても、Web 発行機能を使用すれば、公開サイトと作業サイトとの同期を取ることができ、ボタン一発で更新のあったファイルのアップロードが行われます。

 

こういった機能をもつ FrontPage Server Extensions が、Linux の Apache 用にも提供されていますので、今回はそのインストールを行ってみることにしました。

 

FrontPage 2000 Server Extensions の入手

UNIX プラットフォーム用が http://msdn.microsoft.com/workshop/languages/fp/2000/unixfpse.asp で提供されていますので、今回はここからつぎのファイルをダウンロードしました。

  • fp40.linux.tar.Z
  • fp_install.sh

なお、これらを /usr/local/src/ にダウンロードしたものとして話をすすめていくことにします。

いよいよインストールに入るわけですが、それに先立っていくつかの設定項目を確認しておくことにします。

 

まず、Web を所有するユーザに関してです。

これらのユーザは Linux の場合、UID が 15 よりも大きい値を、GID が 21 よりも大きい値に所属している必要があるそうです。ユーザアカウントを作成する場合はこのあたりに気をつけて作成しましょう。

 

さらに、Apache サーバ周りの設定状況もいくつか確認しておく必要があります。

Apache の設定ファイル httpd.conf の位置を把握しておきましょう。通常は /usr/local/apache/conf/httpd.conf あたりにあると思いますが、環境によっては異なるので注意しましょう。

またこの httpd.conf の設定内容にも少し注意が必要で、この設定の中で記述されている DocumentRoot ディレクトリの設定部分、<Directory "/usr/local/apache/htdocs">AllowOverride ディレクティブの設定が All になっている必要があるのだとか・・・。ということなので AllowOverride の値を All にしておくことにします。

あと、ServerRoot ディレクティブと DocumentRoot ディレクティブの値がダブルクォーテーション ( " ) でくくられていると FrontPage Server Extensions が認識できないそうなので、ServerRoot /usr/local/apache とか、DocumentRoot /usr/local/apache/htdocs というように、引用符を取り除いておきます。

 

念のため、Apache まわりのバックアップを取りましょう。

拡張というものは時として破壊活動にいたりますので、ねんのため /usr/local/apache/ ディレクトリあたりをバックアップしておくことにしましょう。その他のコンテンツも必要に応じてバックアップをしておいたほうが、後々のためになるかもしれません。

 

Server Extensions のインストール

では FrontPage Server Extensions 本体のインストール作業に入ります。

FrontPage Server Extensions のインストールでは、特に自分で圧縮ファイルの展開作業を行う必要はないようです。fp_install.sh と fp40.linux.tar.Z が同一ディレクトリ上に存在していれば、fp_install.sh が自動的に展開作業を行ってくれます。

 

次のようなコマンドを入力して、インストールを開始します。

sh fp_install.sh

するといくつかの質問事項が表示されますので、順次適切に答えていくことにしましょう。

 

Are you satisfied with your backup of the system (y/n) [N]?

バックアップを取ったかということでしょう。バックアップはとったので y と答えることにしました。

FrontPage Extensions directory [/usr/local/frontpage/]:

つづいて、どこのディレクトリに FrontPage Server Extensions をインストールするかをたずねられます。特に理由がなければディフォルトの /usr/local/frontpage/ でいいでしょう。そのままでよければ Enter を、そうでなければ適切な場所を入力して Enter をします。

Do you want to install a root web (y/n) [Y]?

ルート Web、つまり一番上の Web を作成するかどうかをたずねられます。とりあえず y と答えて、ルート Web を作成することにします。

Server config filename:

Apache の設定ファイル httpd.conf がある場所を入力します。ひとそれぞれ環境によって異なるので、自分の環境に適した場所を入力します。今回は、/usr/local/apache/conf/httpd.conf と入力しました。

FrontPage Administrator's user name:

この Web を管理するユーザ名を入力するようです。ここに入力するユーザ名は、Linux が管理しているユーザアカウントではなく、Web へ接続する際に入力することになるユーザ名だそうです。今回は administrator にしてみることにします。

Unix user name of the owner of this new web:[]

この Web の所有者を指定します。ここは Linux が管理しているユーザアカウントの中から、任意のアカウントを指定します。この Web として使用されるディレクトリは、ここで指定したユーザの所有者となります。

今回は webuser というアカウントがあるものとして、そのユーザアカウントを指定することにしました。

Unix group of this new web: []

この Web を所有するグループを指定します。これも Linux の管理下にあるグループです。この Web で使用されるディレクトリの所属グループは、ここで指定したグループに設定されます。

今回は webgroup というグループがあるものとして、それを指定することにしました。

What type of Server is this:

Apache サーバの種類を指定します。今回使用している Web サーバは通常の Apache ですので 2 番の apache を選択します。もしも FrontPage 用のパッチを当てた Apache を使用している場合は 3 番の apache-fp です。

Password for user "administrator":

上記で入力した、Web の管理アカウントのパスワードを指定します。上記の管理アカウントは、このパスワードを使って Web にアクセスすることになります。

Confirm password:

先ほど入力したパスワードの確認です。同じパスワードを間違えずに入力してあげることにしましょう。

Which local character encoding does your system support: [1]

どのようなキャラクタエンコードをサポートしているかたずねられましたが、詳しいことがわからなかったので、1 番の LATIN1 (ISO 8859-1) を選択することにしました。

What should the default language be: [1]

ディフォルト言語の選択です。日本語の 5 番を選択しました。

Install new sub/per-user webs now (y/n) [Y]?

ユーザごとやサブディレクトリへの Web インストールを行うかどうかたずねられます。今はとりあえず n と入力してインストールを行わないようにしました。設定する必要があれば y と答えて設定を続けることもできます。

Do you want to install Virtual Webs (y/n) [Y]?

仮想 Web のインストールを行うかをたずねられます。ここでも今回は n と入力してインストールを行わないことにしました。必要に応じて y と入力して設定を行いましょう。

Installation completed! Exiting...

 

これで FrontPage Server Extensions のインストールは完了しました。

 

Server Extensions を管理する

FrontPage Server Extensions を管理するためのツールとして fpsrvadm.exe というプログラムがあります。

/usr/local/frontpage/version4.0/bin/fpsrvadm.exe

を実行すると、いくつかのメニューが表示されます。それぞれの役割もわかる範囲でとなりに書いてみることにしました。

 

0) quit  
1) install (Server Extensions の設定)
2) upgrade (Server Extensions のアップグレード)
3) uninstall (Server Extensions の削除)
4) check and fix (Server Extensions の確認)
5) enable authoring 認証の許可
6) disable authoring 認証の非許可
7) change security settings (Server Extensions の管理者)
8) recalculate links ハイパーリンクの更新?
9) delete Sub Web の削除
10) rename Sub Web 名の変更
11) set directory executable ディレクトリ内の実行許可
12) set directory no executable ディレクトリ内の実行不可
13) putfile ファイルのアップロード
14) recalcfile ファイル内のリンク更新?
15) create a subweb Sub Web の作成/変換
16) merge a subweb into its parent web Sub Web をフォルダへ戻す
17) full uninstall of all FrontPage information Server Extensions の完全削除
18) chown ディレクトリの所有権変更

 

これらの中から、作業を行いたい項目を番号で選択することになります。

 

1. install

root web のインストールを行います。

 

Your choice [0]:

まずはインストールの対象となる Web サーバの選択を求められます。純粋な Apache を使用している場合には 0) apache、FrontPage 用のパッチを充てた Apache の場合は apache-fp を選ぶなど、環境に応じて適切なものを選ぶ必要があります。

 

Enter server config filename:

httpd.conf のある場所を指定します。これも環境に応じて /usr/local/apache/conf/httpd.conf など、適切なパスをしていします。

 

Enter host name for multi-hosting []:

Virtual Domain を識別するためのホスト名を入力します。www.ez-net.jp などを入力しますが、Virtual Domain を使用していない場合や、ディフォルトのサイトへ Web をインストールする場合には何も入力しなくていいようです。

 

Enter UNIX username []:

Web を所有するユーザアカウントを指定します。

 

Enter UNIX group []:

Web を所有するグループを指定します。

 

User name to add to FrontPage group "administrators" [administrator]:

この Web の管理グループとして所属させる FrontPage ユーザアカウント名を指定します。このアカウントは FrontPage Server Extensions が独自に管理するものなので、Linux に登録されているユーザとはとくに関連がなく、自由に設定することができます。

 

Password for user "administrator":

上記で設定した管理権限の FrontPage ユーザにパスワードを設定します。

 

Confirm password:

先ほど入力したパスワードを、もう一度入力します。

 

2. upgrade

すでに導入されている Extension Web のバージョンアップをおこなうようです。

きっと、新しいバージョンの FrontPage Server Extensions をインストールした際に、既存の Web を新しいバージョンに更新するために使用するのだと思います。

 

3. uninstall

導入した FrontPage Web を root web ごと削除します。削除の対象となっているのはその Web の root web 機能だけであって、その他の Web やコンテンツファイル自体は削除されないようです。

Enter port [80]: に対して root web を削除したい Web のポート番号 (または、"ホスト名:ポート番号") を入力すると、その Web の root web の削除が行われます。

 

4. check and fix

このメニューを選択すると、FrontPage Web のチェックと修正ができるようです。

Enter port [80]: に対してチェックしたい Web のポート番号を入力すると、その Web のチェックが行われます。

 

5. enable authoring

FrontPage Web に認証アクセスできるようにします。

ここでいう認証アクセスとは、FrontPage 2000 などで編集しようとするときの認証です。認証が許可されていて初めて、FrontPage 側でユーザ認証のためのダイアログボックスがあらわれます。ブラウザで参照するほうにはとくに影響はないようです。

Enter port [80]: に対して認証を許可したい Web のポート番号を入力すると、その Web への認証アクセスが許可されます。Web のインストール直後はこの状態になっているようです。

 

6. disable authoring

FrontPage Web への認証アクセスを拒否します。

ここでいう認証アクセスとは FrontPage 2000 などで編集しようとするときに発生する認証です。認証が許可されていないと FrontPage 2000 などで接続することができなくなります。ただし、ここで認証が無効になっているからといって、一般のユーザがブラウザから見れなくなるというわけではありません。

Enter port [80]: に対して認証を拒否したい Web のポート番号を入力すると、その Web への認証アクセスが拒否されます。

 

7. change security settings

FrontPage Web の管理権限の追加を行います。この機能は FrontPage 2000 の 「ツール」 → 「セキュリティ」 → 「権限」 から簡単に行うことができるので、そちらから作業することをお勧めします。

 

Enter port [80]:

権限の設定を行う Web のポート番号を指定します。

 

Enter web name []:

権限の設定を行う Web の名前を指定します。先ほど入力したポート番号の中に存在している Web フォルダの名前を指定します。何も入力しなければ "root web" を指定したことになります。

 

User name to add to FrontPage group "administrators" [administrator]:

追加したい管理グループの FrontPage ユーザアカウント名を指定します。ここは FrontPage Server Extensions が独自に管理するアカウントなので、Linux に登録されている必要はありません。

 

Password for user "administrator":

上記で入力したユーザアカウントに対するパスワードの入力を求められますので、このアカウントに関連付けたいパスワードを入力します。なお、上記の "administrator" の部分は、直前に入力したユーザ名に置き換えられていると思います。

 

Confirm password:

先ほど入力したパスワードの入力です。パスワードの入力ミスがないかを確認するためのものですので、間違えないようにもう一度、設定したいパスワードを入力してください。

 

Enter IP address []:

管理を許可したい IP アドレスを指定できます。ここには 192.168.0.1 などといったもののほかに、ワイルドカードを使用して 192.168.*.* という指定も可能です。

 

8. recalculate links

Web 内のハイパーリンクの再確認を行うようです。

Enter port [80]: にチェックしたい Web のポート番号を、Enter web name []: にはチェックしたい Web フォルダ名を指定すると、そのサイトのハイパーリンクのチェックが行われます。

しかしながら、実際にどういったことをしているのかはわかりませんでした。わざとリンクをはずしてみてもとくに何も指摘されないし・・・。自動的に修正されるというわけでもなさそうだし・・・。

 

9. delete

Sub Web を削除するためのものです。

Enter port [80]: に削除したい Sub Web を持つホストの "ポート番号" または、"ホスト名:ポート番号" を、Enter web name []: には削除したい Web フォルダ名を指定します。

Sub Web が削除されると、その Sub Web に割り当てられていたディレクトリも、コンテンツごと削除されるので気をつけてください。

 

10. rename

Sub Web の名称を変更します。

Enter port [80]: に変更したい Sub Web を持つホストの "ポート番号" または、"ホスト名:ポート番号" を、Enter web name []: には変更したい Web フォルダ名を指定します。そして、Enter destination URL []: に変更後の Web フォルダ名を指定すれば、Sub Web の名称を変更することができます。

web name として、Web フォルダではない通常のディレクトリを指定することはできません。また、変更後の名称と同一のディレクトリがすでに存在している場合には、エラーメッセージが表示され、変更を完了することができません。また、移動先に / を含めて深い階層を指定することもできませんでした。

深い階層の Sub Web の名前を変更する場合には、Enter web name: Dir/SubWeb1、Enter destination URL: Dir/SubWeb2 というように、変更前と変更後の両方に同一のディレクトリ階層を指定する必要があります。

 

11. set directory executable

目的のサイトの指定したディレクトリに対して、スクリプトの実行権限を与えます。

まずは Enter port [80]: に対して、実行権限を与えたいディレクトリのあるサイトを、"port" または "host:port" の形で指定します。つづいて Enter web name []: には、どの Web フォルダを対象としているかを指定します。あくまでも Web フォルダ名なので注意してください。そして最後に Enter destination URL []: に対して、その Web フォルダが所有していて、実行権を与えようとしているディレクトリ名を指定します。

これで、"host:port/web/destination/" におかれたファイルが実行可能となりますが、通常の HTML ファイルなども実行対象になってしまってページが見れなくなってしまうようです。

 

12. set directory no executable

目的のサイトの指定したディレクトリから、スクリプトの実行権限を取り下げます。

まずは Enter port [80]: に対して、実行権限を取り下げたいディレクトリのあるサイトを、"port" または "host:port" の形で指定します。つづいて Enter web name []: には、どの Web フォルダを対象としているかを指定します。あくまでも Web フォルダ名なので注意してください。そして最後に Enter destination URL []: に対して、その Web フォルダが所有していて、実行権を取り下げようとしているディレクトリ名を指定します。

これで、"host:port/web/destination/" からプログラムの実行を行うための許可が取り下げられます。

 

13. putfile

目的のサイトの目的の Web フォルダへファイルをアップロードします。

Enter port [80]: にはアップ先のサイトを "port" または "host:port" の形で、つづいて Enter web name []: には、どの Web フォルダを対象としているかを指定します。そして最後に Enter destination URL []: に対して、アップロード先を最終的なファイル名も含めて指定します。たとえば、TargetDir/sample.html のようにします。

注意点は、アップ先にファイルが存在していても警告されずに上書きされてしまうことでしょうか。ということなので、間違ってアップロードしてしまわないように注意しましょう。また、うっかりアップ先のファイル名を忘れてしまうと、ディレクトリがファイルに置き換えられてしまうので注意が必要です。幸い(?)、ディレクトリが置き換えられる場合には、てきとうな拡張子がつけられたものがバックアップされますので、取り返しはつきますけど。

 

14. recalcfile

ファイル内のハイパーリンクの再計算を行うようです。

Enter port [80]: には目的のファイルのあるサイトを "port" または "host:port" の形で、つづいて Enter web name []: には、どの Web フォルダを対象としているかを指定します。そして最後に Enter destination URL []: に対して、チェックしたいファイルを指定します。たとえば、TargetDir/sample.html のようにします。

これでリンクのチェックを行えますけど、実際にどのような効果があるのかは不明でした・・・。

 

15. create a subweb

既存の Web フォルダ内に新しい Sub Web を作成します。これで作成した Sub Web には FrontPage 的には親と同じアクセス権限が継承されるようです。

すでに存在しているフォルダを Sub Web に指定した場合には、その既存のフォルダが Sub Web に変換されます。

 

Enter web name []:

まずは作成したい Sub Web の名前を入力します。

Dir/SubWeb や SubWeb/SubWeb2 といったように、/ を使って深い階層に Sub Web を作成することも可能です。

 

Enter port [80]:

続いて Sub Web を作成するサイトを指定します。ホスト名:ポート番号と指定するか、または単純にポート番号だけを指定します。

 

Enter UNIX username []:

新しい Sub Web を所有する Linux のユーザアカウントを指定します。ここでとくに何も指定しなかった場合には、親のアカウントが継承されるようです。

 

Enter UNIX group []:

新しい Sub Web を所有する Linux のグループを指定します。ここでとくに何も指定しなかった場合には、親のグループが継承されるようです。

 

16. merge a subweb into its parent web

Sub Web を通常のディレクトリに変換します。この作業を行うには Seb Web が、親ディレクトリと同じ UID, GID を持ち、FrontPage の権限も、親の権限を継承している必要があります。

Enter port [80]: に対して、変換したい Sub Web のあるサイトを "host:port" か "port" という形式で指定し、Enter web name []: に Sub Web の名前を指定すると、その Sub Web が通常のディレクトリに変換されます。なお、Sub Web 名には Dir/SubWeb といったように / を含めて深い階層を指定することも可能です。

 

17. full uninstall of all FrontPage information

導入した FrontPage Web を root web ごと削除します。削除の対象となっているのはその Web の root web 機能だけであって、その他の Web やコンテンツファイル自体は削除されないようです。

Enter port [80]: に対して、削除したいポート番号を (場合によってはホスト名も含めて) 指定すれば、そのホストの FrontPage Server Extensions の情報を削除してくれます。

3) の uninstall とは違い、Web の設定情報をすべて削除しますので、再び 1) install を行ったときには、以前の情報は復元されません。

18. chown

root web のオーナーを変更します。

最初に変更を加えたい root web があるポート番号を指定して、Enter UNIX username []:Enter UNIX group []: にそれぞれ、Linux が管理しているユーザ名とグループを指定すると、指定されたアカウントの所有ディレクトリとして設定してくれます。なお、ポート番号には、"host:port" の形でも指定することができるようです。

 

Server Extensions の設定例

Virtual Domain の root web 作成

  • Please enter command:
    Your choice [1]: 1
  • Please enter server type:
    Your choice [0]: 0
  • Enter server config filename: /usr/local/apache/conf/httpd.conf
  • Enter host name for multi-hosting []: www.komine-kenta.org
  • Enter UNIX username []: webuser
  • Enter UNIX group []: webgroup
  • User name to add to FrontPage group "administrators" [administrator]: administrator
  • Password for user "administrator": xxxxxxxx
  • Confirm password: xxxxxxxx

root web に Sub Web ( SubDirs ) を作成

  • Please enter command:
    Your choice [1]: 15
  • Enter web name []:
  • Enter UNIX username []: subweb_user
  • Enter UNIX group []: subweb_group

 

Sub Web ( SubApps ) 内の scripts/cgi/ ディレクトリでスクリプトを実行可能にする

  • Please enter command:
    Your choice [1]: 11
  • Enter port [80]: 80
  • Enter web name []: SubApps
  • Enter destination URL []: scripts/cgi

 

Virual Domain ( www.komine-kenta.org ) を編集不可にする

  • Please enter command:
    Your choice [1]: 6
  • Enter port [80]: www.komine-kenta.org:80

 

UNKNOWN PORT 奮闘記

さて、今回の実験で使用していた Apache は、ネームベースのバーチャルドメインを構成していました。それがトラブルの元になるとは・・・。

今回、標準以外のポートで提供されているサイトにたいして、FrontPage Server Extensions をインストールしようとしました。というか、ほんとは SSL の標準ポート 443 番なのですけどね。

というのも、せっかくだから安全にアップロードしたいではないですか。いまどき FTP もはやらないしということで、FrontPage Server Extensions を導入したのです。IIS の場合、NTLM 認証でパスワード自体はいわゆる暗号化されるじゃないですか。

で、Linux でもこの便利で安全な FrontPage Server Extensions を使うことにしたのですけど、インストール中に疑問がひとつ。もしかして、FrontPage でもクリアパスワードを流すのでは・・・?

「疑わしきは、罰せよ」、ってぜんぜん意味が違いますけど、ということで目をつけたのが SSL だったのでした。

 

そしていきなり壁にぶつかります。

なんと、メニュー操作の fpsrvadm.exe には、なぜか install からポート番号が選べないのです。いろいろと思い当たる表記を試しましたがどれもだめ。幸いコマンドラインからやればポート指定ができるということがわかったのでやってみることにしました。

普通はこれで完了なのですが、なぜか別のポート番号へインストールするということができませんでした。

fpsrvadm -o install -s /usr/local/apache/conf/httpd.conf -m xxxx.xxxx.xxx.jp -p 443 -t apache -xu xxxx -xg xxxx

おぉ、うまくいきました。

っと、ところがところが、今度はその先が進みません。Sub Web の追加もできないし、なにやら挙動が不審です。fpsrvadm.exe では完全な削除もできなくなるし、もはや見失われてしまっているようです。

なんだかんだ苦戦しているうちに、エラーメッセージでちらほら現れている /usr/local/frontpage/we443.cnf がかぎを握っていることがわかりました。本来、インストールされた Web はここにそれぞれ保存されて、次からの情報にしているようです。

標準ポート以外だとなぜか、このファイルが作られないのです。

そうとわかれば、コピーでしょう。ということで、httpd.conf 上で 80 番ポートに設定して Extensions をインストール。そして出来上がった we80.cnf を we443.cnf に名前を変えて、再び httpd.conf 上で 443 番ポートに変更しました。

すると、お、FrontPage 2000 からちゃんと接続できるではないですか。FrontPage 2000 の接続先に https:// とあるのがなんとも新鮮な感じです。

・・・っと、また壁にぶつかります。やはりうまく Sub Web がつくれないのです。どうも Document Root の位置関係がばらばらでどうしようもなさそうな予感です。しょうがないのでいったん Extensions を削除することにしたのですが、消えません・・・。

 

結局なんだかんだやっているうちに、なんとなくですけど仕組みが見えてきて、24時間以上戦いつづけた結果、ようやく解決策が見つかりました。

経験則上、どうやら FrontPage 2000 Server Extensions は NameVirtualDomain、つまりネームベースのバーチャルドメインには完全には対応していないようです。以前にはちゃんとネームベースでも大丈夫だったと思ったのですが、ポート番号が絡んでくると若干事情が異なるようです。

このせいで、自分の意図したところと違うバーチャルドメインに Sub Web が登録されてしまったのでした。なお、普通のバーチャルドメインには対応しているようなので、問題なく <VirtualDomain> ディレクティブ内に設定してくれます。

不透明な点をいろいろ探ってみたところ、興味深い(?)事実が浮上してきました。

なんと、FrontPage Server Extensions は、ネームベースバーチャルドメインのポート番号を区別しなそうなことが判明しました。つまり、いくら 443 番を指定しても、fpsrvadm.exe は何食わぬ顔でそのバーチャルドメインが適用されている最初の <VirtualDomain> ディレクティブ内に設定を施してしまうのでした。ただし、同一名称のバーチャルドメインで、ポート番号に 80 番が存在する場合は、それが優先されてしまうような傾向がありましたので、なるべくならば ServerName ディレクティブをほかとぶつけないほうがよさそうです。

 

ここまでくれば、この性質をうまくつかって、問題を回避することができます。

ポート無視ということなので、80 番よりも先に 443 番ポートが現れるようにしました。また、おそらくは ServerName がいっしょのものの中で最初に出ればいいのでしょうけど、念のためネームベースのドメインの中で一番最初にくるようにしました。

こうすることによって、ServerName:80 をつかって、今度はこっちが何食わぬ顔で 443 番に Sub Web を作成することができるようになりました。さらに、/usr/local/frontpage/ServerName:80.cnf というファイルを /usr/local/frontpage/ServerName:443.cnf という名前でコピーしてあげることで、これまた不思議と ServerName:443 で平気に Sub Web の追加ができるようになりました。

それでもやっぱり、なんとなく挙動不審が残りますので、ポート番号は知らん顔して 80 番を使用するのが無難のようです。