BlogEngine.NETチームが、
マルチブログに関する情報を公開していました。
http://www.dotnetblogengine.net/post/Multiblog-on-IIS-7.aspx
今朝、Daniel Frostが、BlogEngine.NETとIIS7でマルチブログをする方法について投稿しました。これは、本当にシンプルで使いやすい方法だと思います。新しいブログを作る度にサーバでつまらない作業をする必要がないので、ブログのインストール時に役立ちます。もっとも良い点は、簡単なことと、BlogEngine.NET側のコード変更が必要ないことです。
私は、この機能が多くの人にとって求められている機能であることを知っています。しかし今のところ、私はDanielの解決策を使うことをお奨めします。
BlogEngine.NETはマルチオーサー(複数人による1つのブログの記述) をサポートしています。しかし、この場合、URL、ページ、ブログ、テーマは同じものとなります。そのため、これらを分割したい場合、新たにBlogEngine.NETをセットアップする必要があります。しかしこの作業は手作業になってしまうため、コミュニティサイトやイベントサイトを運用する場合には、手間がかかってしまいます。そこでIIS7を使えば、これらを簡単に自動化できるよという内容が下記でブログ(デンマークのMSのDanielさん)で説明されています。
http://blogs.msdn.com/danielmf/archive/2008/09/22/eng-blogengine-multiblogging-made-easy.aspx
上記ブログの一番下にサンプルソースがありますので、これをダウンロードして、説明通りにセットアップすれば、マルチブログを試すことができます。この仕組みを利用すると1つのポート、1つのアプリケーション、1つのプールで、複数のBlogEngine.NETを実行することができます。
一応、手順と概要を簡単に書いておきます。
-
ダウンロードして解凍したフォルダをIISでWebサイトとして登録する(例:MultiBlogs)
-
C:\Windows\System32\inetsrv\configフォルダにIISユーザのセキュリティ権限を追加する(例:NETWORK_SERVICEに読み書き権を追加)
-
コピー元となるBlogEngine.NETのWebフォルダを「BlogCleanInstallDirectoryPath = @"C:\WebSites\BlogFiles\BlogEngine.Web\"」の部分に設定する。
-
コピー先となるフォルダを「IISSiteDirectoryPath = @"C:\WebSites\MultiBlogs\"」の部分に設定する。
-
http://<サーバ名>:<ポート番号>/MultiBlogsにアクセスする
-
テキストボックスに新たに作りたいサブURL名を入力してFyyyr(Fire)ボタンを押す。これによって、BlogEngine.NETフォルダがコピーされ、C:\Windows\System32\inetsrv\config\applicationHost.configファイルにサブURL名が追記される
-
http://<サーバ名>:<ポート番号>/<サブURL名>と入力すると新しいBlogEngine.NETを利用できる。
-
5~7を繰り返すことで、簡単に複数のブログを設置することができる。
これは、BlogEngine.NETに関する内容ですが、同様の仕組みを利用すれば、DotNetNukeやCommunityServerなどのASP.NETアプリケーションでも同じことができる気がします。ただ、これらのアプリケーションのほとんどはデータ領域にXMLでなくDBを利用するので、その辺の自動化の仕組みは別途考える必要があるかと思います。