web 2008 導入 (46) AtomSite。。。あきらめた

atomsite.net-The AtomPub server for .NET を試します。

 

AtomSite 1.1 Binary.zip をダウンロード。

手元で解凍。

FTP でアップロード

物理を仮想に対応付け

統合モードのアプリにする

また DotNetOpenId だ!

bin/DotNetOpenId.dll を削除。

SecurityException だ!

bin/AtomSite.Plugins.OpenIdPlugin.dll を削除。

というか、色々削除しまくって残っているのは

  • bin/AtomSite.Domain.dll
  • bin/AtomSite.WebCore.dll
  • bin/StructureMap.dll (Version 2.5.2.0)

の三つだけ。

 

StructureMap.dll がキーか?

StructureMap.dll があると SecurityException。

StructureMap.dll が無いと FileNotFoundException。

 

そもそもこの StructureMap って何?

 

How do you deploy an ASP.NET MVC site using StructureMap 2.5.3 in a medium trust hosting envrion

 

あきらめる。

web 2008 導入 (45) Kentico CMS 。。。試すのやめておく

ASP.NET CMS .NET open content management system portal C# free – Home

を試します。

Trial Version ではなく Free Version をダウンロード。

 

あれ? .exe なインストーラーですか?

試すのは止めだ。

web 2008 導入 (44) Graffiti CMS。。。あきらめた

Graffiti CMS を試します。

GraffitiCMS – Demo, Download, or Buy ここから Express Edition をダウンロード。

.zip を解凍し、Graffiti\New Install\Web ディレクトリを FTP でアップロード。

物理と仮想の対応付け

クラシック モードのアプリにする

 

web.config を書き換える。

変更前

<!– Helps ensure good SEO and stops duplicate content. Many search engines treat www. and no www. as two seperate links. –>
<add key="Graffiti::RequireWWW" value="false"/>

 

変更後

<!– Helps ensure good SEO and stops duplicate content. Many search engines treat www. and no www. as two seperate links. –>
<add key="Graffiti::RequireWWW" value="true"/>

 

 

アプリケーションのルートのアクセスする。

ログインしましょう。user は admin を入れて、password には web.config を DefaultPassword で検索したら出てくる文字列を入れます。

パスワードを変更しましょう。admin というユーザー名も変更しておきましょう。

 

 

。。。記事を投稿しても、記事が表に出てこないんですよ。なんでだろう。Graffiti の利用はあきらめます

 

 

Embedded SQL database engine for .NET developers – VistaDB

謎のデータベースエンジン VistaDB

Graffiti はこれを使っているらしい。MS-SQL Server に変更することも可能らしい。

web 2008 導入 (43) アクセス カウンター

http://www.tutorial.useiis7.net/b008/counter.htm に載せてあるアクセス カウンターを設置します。

 

設置

http://www.tutorial.useiis7.net/b008/CounterWebTest.zip をクリックしてソース コードをダウンロード。

.zip の中身

│  index.htm             サンプル HTML 文書。削除しても大丈夫です。
│  MyCounter.ashx    カウンターの本体
│  Web.config           ASP.NET アプリケーションの設定ファイル

├─App_Data        この中にカウンターの数値や桁数を書いた設定ファイルを置きます。
│      apple.txt           サンプル設定ファイル その 1
│      banana.txt        サンプル設定ファイル その 2

└─image              この中に数字の画像を置く
        0.png
        1.png
        2.png
        3.png
        4.png
        5.png
        6.png
        7.png
        8.png
        9.png

 

.zip の中身を /webapps/counterapp にアップロード

物理と仮想のマッピング

フォルダをアプリにする

MyCounter.ashx?n=(カウンター名) でカウンターが出ます。

このように <img src=”○○○○/MyCounter.ashx?n=カウンター名" /> の書き方で使ってください。

 

○○するには?

カウンターの画像を変更するには?
image フォルダの中の画像ファイルをお好きな画像に入れ替えてください。

 

カウンターの値を変更するには?
App_Data フォルダの中に設定テキストファイルがあります。一行目がカウンターの現在値です。

 

カウンターの桁数を変更するには?
App_Data フォルダの中に設定テキストファイルがあります。二行目がカウンターの桁数です。

 

カウンターの数を増やすには?
App_Data フォルダにサンプルとして apple.txt と banana.txt が有りますが、App_Data フォルダに新たにファイルを設置してください。
たとえば、App_Data/lemon.txt を作ると、MyCounter.ashx?n=lemon が利用可能になります。
新たに設置するテキストは中身空っぽで構いません。中身が空っぽの場合 0 からカウントが始まります。

 

トラブルシューティング

ERROR 1 と画像が出る。

カウンター名に利用不可の文字を使っています。利用可能文字は数字 (0 ~ 9) と小文字 (a ~ z) です。

  この例では大文字 A が利用不可なので、ERROR1 と出ています。

 

ERROR 2 と画像が出る。
カウンターの設定ファイルが存在しません。App_Data フォルダに設定ファイルを設置してください。
この例ではApp_Data フォルダに blueberry.txt (中身空っぽで構いません) を設置すればカウンターが 0 から開始します。

 

ERROR 0 と画像が出る。
重症です。エラー情報を書いたテキストが App_Data フォルダに生成されるので、ASP.NET がわかる人を捕まえて、彼に原因究明してもらってください。

 

 

web 2008 導入 (42) w3wp.exe 終了後のポストバックでエラー (は発生しない)

 

 

viewstate MAC の検証フィールドです。このアプリケーションが Web Farm またはクラスタによってホストされている場合、<machineKey> 構成が同一の validationKey および検証アルゴリズムを指定していることを確認してください。AutoGenerate をクラスタで使用することはできません。

 

例外の詳細: System.Web.HttpException: viewstate MAC の検証フィールドです。このアプリケーションが Web Farm またはクラスタによってホストされている場合、<machineKey> 構成が同一の validationKey および検証アルゴリズムを指定していることを確認してください。AutoGenerate をクラスタで使用することはできません。

 

[HttpException (0x80004005): データを検証できません。]
   System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +289
   System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +140

 

ViewStateException: 無効な viewstate です。

 

HttpException (0x80004005): viewstate MAC の検証フィールドです。このアプリケーションが Web Farm またはクラスタによってホストされている場合、<machineKey> 構成が同一の validationKey および検証アルゴリズムを指定していることを確認してください。AutoGenerate をクラスタで使用することはできません。

 

asp.net 鯖を借りて、このエラーを体験したことのある方は、日本に数人はいらっしゃると思う。

以下のような何の特徴もない普通のコードをサーバーに設置し、一回ポストバックして、20 分程度待ってから (w3wp.exe が終了するまで待ってから) もう一回ポストバックすればこのエラーを体験できる。

<script language="C#" runat="server">
void btn1_click(object sender, EventArgs ev)
{
    lbl1.Text = DateTime.Now + "";
}   
</script>

<html>
<body>
<form runat="server">
<asp:label id="lbl1" runat="server" />
<asp:button id="btn1" runat="server" onclick="btn1_click" />
</form>
</body>
</html>

 

この問題は、サーバー側のソフトがエ○シムでも発生するし、プ○スクでも発生する。

この件をふと思い出して、tryiis7 ではどうかを試してみたら、tryiis7 では問題は発生しなかった。

 

tryiis7 と商用 asp.net 鯖で何が違うか?

  • tryiis7 の場合 「Medium の asp.net のみホストする」 → 「NTFS ACL しばりをガチガチに固める必要がない」 → 「問題が出ない」
  • 商用の asp.net 鯖が使う鯖管理ソフトの場合 「asp.net に限らず、その他もホストすることが求められる」→「NTFS ACL でガチガチに縛る必要がある」→「問題が出る」

こんな感じかも、違うかも。

 

もうひとつ。

tryiis7 は temporaly asp.net files フォルダを共有せず、利用者ごとに個別に設けているので、それが良い影響を与えているのかも、関係ないかも。

web 2008 導入 (41) nopCommerce

通販サイト構築用ソフト nopCommerce を試します。

nopCommerce – open source shopping cart

にアクセスしてユーザー登録後に nopCommerce_1.20_NoSource.rar を入手。

.rar を解凍して約 2,400 個のファイルを得る。

約 2,400 個のファイルを FTP でアップロード。

物理と仮想をマッピング

/nop を統合モードのアプリにする

データベース DB_xtest3_nop を新規作成。

/nop にアクセスするとウィザードが起動する

SQL Server インスタンス名に mssql2008 を入れる。SQL 認証でなく Windows 認証を選ぶ。

作成済みのデータベースを指定する

なぜだろう?編集できないとエラーが出た。

仕方がないので ConnectionStrings.config を編集してから、Next をクリック。

おめでとうございます

こんな感じ

インストールした場所 + /administration/ を開くと管理ページが出ます。その際、アカウントとパスワードが求められるので admin@yourstore.com の admin で突破します。

この初期アカウントはパスワード変更するなり、無効にするなり、削除するなりしておきましょう

掲示板

/install フォルダは消さずに残していても大丈夫っぽい

web 2008 導入 (40) subtext あきらめた

subtext を試します。

subtext はブログのエンジンです。

インストール方法は ここ に書いてあるのでざっと目を通します。

 

subtext – Google Code

を開いて ページの右側にあるリンクをクリックして subtext-2.1.1.zip を手元にダウンロードし、zip を解凍。

 

subtext 用にデータベースを新規作成。データベースの名前は DB_xtest3_subtext にしました。

 

手元の web.config を書き換える。

変更前

<add name="subtextData" connectionString="Data Source=.\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\Subtext2.1.mdf;User Instance=true;"/>

 

変更後

<add name="subtextData" connectionString="Data Source=mssql2008; Integrated Security=True; database=DB_xtest3_subtext; "/>

 

App_Data フォルダを残してほかのすべてを FTP アップロード

物理と仮想の対応付け

とりあえず /subtext をクラシック プールに対応付ける

 

 

なんだよ?これは? 500? FREB(Failed Request Error Buffering) の出番だ。

失敗した要求トレースの規則 (Failed Request Tracing Rules) をダブルクリック

こんなかんじで 500 を拾うように設定する。

もう一回 500 を発生させる。

/FailedReqLogFiles の中にレポートができるので、それらを FTP で手元に持ってくる。

ハンドラ "UrlRewriteHandler" のモジュール リストにあるモジュール "ManagedPipelineHandler" が正しくありません

。。。わからん。。。プールをクラシックでなく統合にしてみる。

[FileLoadException: ファイルまたはアセンブリ 'DotNetOpenId, Version=2.3.1.8219, Culture=neutral, PublicKeyToken=2780ccd10d57b246'、またはその依存関係の 1 つが読み込めませんでした。操作はサポートされません。 (HRESULT からの例外: 0x80131515)]

 

。。。わからん。。。mojoPortal を medium 信頼で使う際に、DotNetOpenID.dll (DotNetOpenAuth.dll )を消したので、今回もそれを試してみる。

bin/DotNetOpenID.dll を削除

ウィザードが出ました。Install Now ボタンをクリック。

Host Administrator を作る

Create! ボタンをクリック

ファイルまたはアセンブリ ‘DotNetOpenId’、またはその依存関係の 1 つが読み込めませんでした

 

断念する