記事の方には書かなかったけど、Linux の大文字・小文字を区別するファイルシステムの仕組みにひっかかる部分が NerdDinner にもいくつかあって、
「プロジェクトルート/Web.config」から抜粋:
<authentication mode="Forms"> <forms loginUrl="~/Account/Logon" /> </authentication>
何の手当てもせずに実行すると、
ここで MONO_IOMAP の出番なんだけど、どうもうまくいかない。というのは MonoDevelop 上で
という設定をしたけど、まったく効果がなく、「MONO_IOMAP 効かねぇwww」と、いくつか該当する箇所を、直接シコシコ修正したりした(上記「Web.config」の場合は、Logon -> LogOn、ちなみに記事に添付したサンプル資源は修正済みのもの)。
で、後日、コンソールから
$ export MONO_IOMAP=all $ xsp2 --root /path/to/NerdDinner --port 8080
という感じで、直接 xsp2 コマンドを使用して実行してみたら(「Web.config」の該当の記述を元に戻して)、
まったく問題なかったので、「やらなくていい修正をまたやったwww」ということが分かった。
また、同様にコンソールから
$ export MONO_IOMAP=all $ monodevelop
MonoDevelop を実行し、NerdDinner を実行してみたら、当然問題はなかった。
MonoDevelop 2.0 上での環境変数の設定は、どうもいまいちらしい。
ということで、Mono 用の環境変数として、MONO_IOMAP を(「~/bin/mono_env」とかに)設定しておけばいいよねという話。
Configure Apache Mod_Mono で設定ファイルを生成した場合、MonoSetEnv ディレクティブによる MONO_IOMAP の設定を行っているけど、「/etc/apache2/envvars」で MONO_IOMAP の設定をしているので、これらはコメントにしている(問題はなかった)。
あと、この設定ファイル(例:NerdDinner 用設定ファイル「/etc/apache2/sites-available/include/nerddinner」)には、「mod_deflate」用の設定もあるけど、Ubuntu 9.04 では、「apache2」パッケージ導入時の依存パッケージ「apache2.2-common」に含まれていて、標準で有効なモジュールとなっている。「mod_deflate」の詳細については、こちらを。
ASP.NET MVC 2 のリリースも近く、
周回遅れ感、機を逸している感もあるけど、何かの参考になればいいかなと思う次第。
ちなみに、エントリータイトルはホッテントリーメーカーを利用したもの。面白いので使わせていただいた。他意はない。
0 件のコメント:
コメントを投稿