Webアプリを創る

ActiveWeb に nopCommerce をインストール

2009年7月4日

nopCommerce の日本語パッケージが公開されています。詳しくは、nopCommerce を使ってみる をご覧ください。

nopCommerce は、ロシアで開発されたオープンソースのショッピングカートのプログラムで、2008年10月に初版が公開された新進気鋭のソフトウェアです。nopCommerce だけでオンラインショップを立ち上げることはできますが、日本語化はできていません。ランゲージパックがあるので、日本語のランゲージパックを作ってくれる人がいるといいなと思っています。日本人の場合は日本語で使いたいという場合が多いと思いいます。こちらがインストールしたnopCommerceのデモのページです。(2010年7月25日一部修正)

1.動作条件
  • ASP.NET 4.0 (ver 1.70)  、ASP.NET 3.5 (ver 1.60以前)
  • MS SQL Server 2005以上
2.インストール

インストールの手順の概要は、次のとおりで、インスト―ルは簡単です。

2-1.データベースの用意

MS SQL Server 2005 または MS SQL Server 2008 のデータベースを用意します。作成するテーブル等には、接頭辞Nop_がつけられるので他のアプリケーションと共用は可能です。ActiveWeb の場合は、DotNetNukeインストールマニュアルの2.SQLデータベースの設置をご覧ください。

2-2.仮想ディレクトリの設置

nopCommerseをインストールする仮想ディレクトリを作成します。ActiveWeb の場合は、DotNetNukeインストールマニュアルの3.仮想ディレクトリの設置をご覧ください。仮想ディレクトリを、IISから変更できるように権限を設定します。ActiveWebの場合は、マニュアルに記載のようにパーミッション設定画面で、「Plesk IIS User」と「Plesk IIS WP User」にそれぞれ編集の権限を付与します。

2-3.nopCommerce のダウンロードする。

nopCommerce のダウンロードのページから、ダウンロードします。プログラムをしないのであれば、no sourceの方を選択します。ダウンロードのためにはユーザー登録を求められます。

image

2-4.ファイルの解凍及びアップロード

ダウンロードしたnopCommerceを解凍して、サーバーにアップロードします。rarで圧縮されているので、rarに対応した解凍ソフトを用意します。

2-5.インストーラの起動

インストールしたディレクトリにアクセスします。インストーラが起動して、下のような画面が立ち上がります。
image

2-6.インストール作業

インストールの2の画面でSQL Server の設定をします。サーバー名を入力し、「Use SQL Server account」を選択して、2-1で設定したデータベースのユーザー名とパスワードを入力します。

image

インストールの3の画面では、データベースの入力をします。データベースは作成済なので、「Use an existing empty database」を選択して、2-1で作成したデータベース名を入力します。empty となっていますが、使用中のデータベースを利用しても、問題はありませんでした。

image

2-7.インストール完了

以下のような画面がでれば、インストールは完了です。Adminの初期設定は、以下のとおりです。ログインしてパスワードの変更をしておきましょう。
E-Mail Address: admin@yourstore.com
Password: admin

image

mojoPortal が 2.3.1.0 にバージョンアップ

2009年7月1日

mojoPortal が2.3.1.0 にバージョンアップされています。今回のバージョンアップは、バグフィックスが中心です。mojoPortal の日本語の翻訳が古くなってきたので、日本語の翻訳を更新しようと思っています。

mojoPortal が 2.3.0.8にバージョンアップ

2009年6月21日

mojoPortal が2.3.0.8 にバージョンアップされています。新しく追加された機能の概要は以下のようなものです。今回のバージョンアップは、地味な機能ですが、内容は結構いいと思います。

1.検索機能の改善
検索機能が改善されて検索結果が見やすくなりました。新検索機能を有効にするには、以下の設定をuser.configに追加して、検索インデックスを更新する必要があります。検索インデックスの更新は、/Data/Sites/[SiteID]/index フォルダー内のファイルを削除してから検索を実行することで行います。
<add key="DisableSearchFeatureFilters" value="false" />
<add key="SearchUseBackwardCompatibilityMode" value="false" />
<add key="EnableSearchResultsHighlighting" value="true" />

2.SEO (検索エンジン最適化)の改善
Microsoft の IIS SEO Toolkit を利用してSEOの改善がなされたそうです。また、ページタイトルのフォーマットの設定及び拡張子(.aspx)なしのURLが使用できるようになりました。ページタイトルについては、今まで、標準で「サイト名-ページ名」で、それ以外のタイトルにしようとするとページタイトル(オーバーライド)で設定する必要があったのを、設定で「ページ名」、「サイト名-ページ名」、「ページ名-サイト名」を標準にできるようになったということです。

3.コンテンツ・テンプレート・エディター
前回のバージョンアップで、FCKEditor にコンテンツ・テンプレートが登場したが、今回のバージョンアップでは自分でコンテンツ・テンプレートを作成できるようになったというものです。

4.コンテンツ・スタイル・エディター
FCKeditorのツールバーから、フォントファイス、フォントのサイズ、色、背景の色の設定項目を削除したが不満が多いので、管理者がスタイル・テンプレートを作成して対応するようにしたそうです。

5.スキンの改善
スキンの多くが、800×600ドットのスクリーン用であったので幅を広くしたそうです。mitchinson-earthy スキンは、jQuery Superfishメニュー(階層メニュー)を使って改善し、mitchinson-earthy-alt1は、縦のsuperfishメニューを使っているそうです。

6.その他
NeatUploadとAjaxControlToolkitを新バージョンにアップグレード

Umbraco サイトで他のアプリケーションを実行

2009年6月20日

Umbracoは、サイトのドキュメントルートにインストールする必要がありますが、Umbracoをドキュメントルートにインストールすると、同一サイトのバーチャルディレクトリやサブフォルダにインストールしてあるアプリケーションに下の図のようなエラーが発生して動作しなくなります。エラーが発生する原因は、構成ファイルWeb.configがすべての子ディレクトリに適用されるため、不要なものまでが子ディレクトリに適用されるためです。なお、以下の修正は、IIS7の統合モードを使用している場合で、それ以外のモードを使用している場合は、system.webの修正になります。

参考:
web.config and other IIS applications
入れ子になった ASP.NET アプリケーションを動作させる!

修正方法1 inheritInChildApplications属性を使用して継承をしないようにする

ドキュメントルートのWeb.configのsystem.web及びsystem.webServerセクションを以下のように修正してinheritInChildApplications属性をfalseにして、子ディレクトリへの承継をしないようにする。

<location path=”.” inheritInChildApplications=”false”>
<system.web>

</system.web>
</location>

<location path=”.” inheritInChildApplications=”false”>
<system.webServer>

</system.webServer>
</location>

なお、ActiveWebでは、各バーチャルディレクトリを作成すると生成されるWeb.configの<system.webServer><handlers>…</handlers></system.webServer>の内容については、通常は承継されるので省略できますが、この方法を使用すると承継されなくなるので省略することができなくなります。

修正方法2 clear要素または、remove要素を使用して継承した参照を削除

各バーチャルディレクトリのWeb.configについて、system.webServerセクションのmodulesセクションの承継をclear要素を追加して承継を削除します。ActiveWebでは、Clear要素でうまくいかず、remove要素で、UrlRewriteModule、umbracoRequestModule、viewstateMoverModule、umbracoBaseRequestModuleの4つもモジュールを指定してはずすとうまく動作しました。なお、アプリケーションにより他のモジュールについても承継を削除する必要があります。
<system.webServer>
  <modules>
    <clear />
    ————–
    ————–
  </modules>
</system.webServer>

以上でうまくいかない場合
<system.webServer>
  <modules>
    <remove name=”UrlRewriteModule” />
    <remove name=”umbracoRequestModule” />
    <remove name=”viewstateMoverModule” />
    <remove name=”umbracoBaseRequestModule” />
    —————————————————-
    —————————————————-
  </modules>
</system.webServer>

image

ActiveWebにUmbracoをインストール

2009年6月20日

ActiveWeb共用ホスティングサービスのホストにUmbracoをインストールしました。インストールはできましたが、問題点があって苦労したところもあるので以下にインストールの手順の概要をまとめておきます。なお、Umbraco のweb.configをアップロードした時点で、同一サイトの他のアプリケーションがエラーになって見えなくなってしまうので注意してください。回避方法は、Umbraco サイトで他のアプリケーションを実行に記載しました。

1.MSSQLかMySQLどちらかのデーターベースを用意します。

2.umbracoをダウンロードして、解凍する。ActiveWebは、標準ではIIS7の統合モードで動作しているため、CodePlex のダウンロードサイトから、Web.config file to use with .NET 3.5+ をダウンロードしてWeb.config ファイルを置き換えます。

3.通常のようにインストールをしていると、ActiveWebではWebページからのドキュメントルートへの編集を許可していないため、以下のようにインストール中にエラーが発生し、インストールを続行できなくなります。インストールを続行できるように修正したinstall/steps/detect.ascxのバージョンをここからダウンロードして置き換えます。
参考:Installing v4.0.0 on a Plesk shared host
image

4.Web.config ファイルについても修正します。通常は、インストール画面でデータベースの設定ができますが、3に書いた理由でWebページからWeb.configファイルの修正ができません。そのため事前に<appSettings>セクションにあるumbracoDbDSNの設定を手作業で行っておく必要があります。umbracoDbDSNの設定は、以下のようになり、赤字の部分をActiveWebのコントロールパネルで設定したデータベース名、データベースユーザーの名前、パスワードに変更します。

SQL Server を利用する場合
<add key=”umbracoDbDSN” value=”datalayer=SqlServer; server=dwprdb01.dataweb.ne.jp;database=DATABASE;user id=DBUSER;password=PASSWORD” />

MySQL を利用する場合
<add key=”umbracoDbDSN” value=”datalayer=MySQL; server=dwpmysqldb01.dataweb.ne.jp;database=DATABASE;user id=DBUSER;password=PASSWORD” />

また、<system.webServer>セクションに、ActiveWebのドキュメントルート(httpdocs)にある既存のweb.config内の<handlers>…</handlers>をコピーして追加してやります。
(以下、2009/8/23追加)ただし、以下の行については、Umbraco側でも”*.asmx”が定義されていて衝突するので、削除するかコメントアウトします。
<add name=”Plesk_Handler_xxxxxxxxxx” path=”*.asmx” verb=”GET,HEAD,POST,DEBUG” type=”System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” scriptProcessor=”C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll” resourceType=”Unspecified” />

5.ドキュメントルート(httpdocs)の直下に、以上で修正したApp_Browsersほか14のフォルダーとdefault.aspx、site.py、web.configファイルをアップロードします。Umbracoは、バーチャルディレクトリでは、動作しないことに注意してください。

6.コントロールパネルのファイルマネージャを使って、app_code, bin, config, css, data, masterpages, media, python, scripts, umbraco, usercontrols, xsltのフォルダーに対して、Plesk IIS User と Plesk IIS WP User にアクセスパーミッションで編集を許可に設定します。

7.Webサイトにブラウザーでアクセスするとインストールが始まります。画面にしたがってインストールをすすめます。通常のインストールとの違いは、detect.ascxを入れ替えたことにより、データベースの設定画面で「install」ボタンが追加されているので「install」ボタンをクリックするとエラーが発生せずインストールを継続できます。
image

8.インストールの完了の前に以下のようなエラーが発生します。インストールはできていて、web.config ファイルへの書き込みに失敗しているだけなので、web.configファイルを手作業で修正します。修正は、web.configファイルの<appSettings>セクションのumbracoConfigurationStatusの値をインストールしたUmbracoのバージョンにします。

<add key=”umbracoConfigurationStatus” value=”4.0.2.1″ />

image

9.管理画面で、Stylesheets、Templates、Scripts、XSLT を保存するときに、javascriptエラー「umbraco is not defined」が発生して保存ができません。Umburaco のフォローラムによるとIISの設定でwildcard script mapping を使用していることが原因のようですが、ホスト側の設定の問題なのでActveWebで設定してもらうしかありません。原因がはっきりすれば要望を出そうと思っています。現在のところは、ローカルにインストールしたUmbracoで作成・修正して、作成・修正したファイルをアップロードして対応しています。
参考:Cannot save templates or stylesheets: “umbraco is not defined” JavaScript error
(2009/8/23削除、4の追加でWeb.configを修正することにより問題が解消したため)