※この記事はかつて、わんくまBlogで書いていたものです。こちらに移行します
Community Server 2007 を去年の11月に、http://techbank.jp/Community/ で導入しましたが、
インストール時に素直にいかなかった点があるので、下記にまとめておきます。
■http://get.communityserver.org/ から、最新版のCommunity Server 2007をダウンロードする
※Freeの「Express Edition」(Web Install用をダウンロードしました。
■インストール先の仮想ディレクトリをIISで作成する
■CS2007.1_3.1.20917.1142.web.zip を適当なフォルダに解凍する
■解凍した後、「CS2007.1_3.1.20917.1142.web」というフォルダができるので、CS2007.1_3.1.20917.1142.web\Web\Installer\Default.aspx を下記のように修正する
bool INSTALLER_ENABLED = true;
bool updatedConfigFile = true;
bool use20Membership = true;
private const string QSK_DATABASE = "使用するDB名";
Community Server 2007の新規インストールの場合、INSTALLER_ENABLED を
「true」にするだけというやり方を公開しているWebサイトも多いですが、
私が使っているサーバでは、上記のようにしないとインストーラーが起動しませんでした orz
■さらに、CS2007.1_3.1.20917.1142.web\Web\Web.config を修正します。
また、使用しているサーバーや環境によっては、インストールに失敗することがあるので、
インストールが無事完了するまで、エラー発生時、エラーページを表示するのではなく、
一時的に例外表示するように修正します。
<!-- Permit detailed errors to be displayed for remote clients -->
<customErrors mode="Off">
<!--一時的にコメントにして、エラーページにリダイレクトさせないよ!-->
<!--<customErrors mode="RemoteOnly" defaultRedirect="~/error.htm">-->
<!--<error statusCode="404" redirect="~/error-notfound.aspx" />-->
</customErrors>
インストールが終わったら、コメントを解除して、エラー発生時、エラーページにリダイレクトするように修正します。
■さらに、使用するデータベース(SQL Server)の環境に合わせて、
CS2007.1_3.1.20917.1142.web\Web\connectionStrings.config
も修正します。
<connectionStrings>
<add name="SiteSqlServer"
connectionString="
server=DBサーバ名かIPアドレス;
uid=DB接続ユーザID;
pwd=DB接続パスワード;
Trusted_Connection=yes;
database=接続先DB名" />
</connectionStrings>
■これで、普通は、終わりなんですが、私が使っているレンタルサーバでは、
何故か、「Microsoft.Web.Preview.dll」がGAC(グローバルアセンブリキャッシュ)に
登録されていないので、「Microsoft.Web.Preview.dll」を別途入手し、
「CS2007.1_3.1.20917.1142.web\Web\bin」 の下に、「Microsoft.Web.Preview.dll」を置いてください。
■また、「Microsoft.Web.Preview.dll」をBinの下に配置した関係で、
「CS2007.1_3.1.20917.1142.web\Web\Themes\default\Common\home.aspx」がエラーになります。
これを防止すべく、「CS2007.1_3.1.20917.1142.web\Web\Themes\default\Common\home.aspx」の
20行目を下記のように修正します。
(SearchQueryが、あいまいです と怒られます)
protected override void OnInit(EventArgs e) List recentPosts = CSCache.Get("HomePageSearch-" + CurrentCSContext.User.RoleKey) as List; if (recentPosts == null)
{ //SearchQuery query = new SearchQuery();
CommunityServer.Components.SearchQuery query = new CommunityServer.Components.SearchQuery();
query.StartDate = DateTime.Now.AddDays(-10);
query.EndDate = DateTime.Now.AddDays(1);
query.PageSize = 5;
recentPosts = CSSearch.Search(query).Posts;
CSCache.Insert("HomePageSearch-" + CurrentCSContext.User.RoleKey, recentPosts, CSCache.MinuteFactor * 5); }
RecentPostList.DataSource = recentPosts;
base.OnInit(e);
}
■レンタルサーバ等の外部サーバに公開するには、IISで仮想ディレクトリを作成した後、
「CS2007.1_3.1.20917.1142.web」フォルダの配下にあるファイルをFTPを使って、仮想ディレクトリ宛にUploadします。
また、既に、公開予定のサーバにファイルを配置済みの場合は、「CS2007.1_3.1.20917.1142.web」に対し、
サーバ上で、IISの仮想ディレクトリを作成します。
■仮想ディレクトリ&Uploadが完了したら、
http://インストール先サーバ名 orIPアドレス/[インストール先の仮想ディレクトリ]/Installer
にアクセスするだけで、インストールするためのウィザードが立ち上がります。
■後は、ウィザードに従い、インストールします。
・I Agree にチェックON

・SQL Server に接続するタイプ(Windows認証 or SQL Server 認証)を選びます。
SQL Server 認証の場合は、SQL Server接続用ユーザ名とパスワードを入力します。

※注意事項
SQL Server は、2005 でないとインストールできません。
(2000で無理矢理インストールすると、
cs_Usersというテーブルに外部キーが貼れないと怒られます)
また、SQL Server への接続が、Windows認証の場合、
Community Serverをインストールする先のDBに対して、
ASPNETユーザに、接続権限&テーブル・外部キー作成権限&ビュー・ファンクション・スキーマ作成権限を
与えておく必要があります。
ASPNETユーザに権限がないと、インストール中に赤字でエラーメッセージが表示されてしまい、
ウィザードを先に進めることができません。
・インストール先のDBをドロップダウンリストから選択し、Nextボタンを押す
・そのままNextボタンを押す

・Community Server に関する情報を入力します。
Community Url : サーバ名(またはドメイン名かIPアドレス/上記で作成した仮想ディレクトリ名)
UserName: 管理者として登録したいユーザID
Password: 管理者として登録したいユーザのパスワード
Confirm Password : 上記と同じパスワード
Admin Emai Address : 管理者のメールアドレス
を入力し、Nextボタンを押す

・すると少し時間がかかりますが、インストールが開始され、インストールが完了すると、
下記の「インストール完了」画面が表示されます。
・後は、http://インストール先のサーバ/上記で作成した仮想ディレクトリ にアクセスし、Community Server が起動されればOKです。
■日本語化パッチ
USERS GROUP の原水さんが、http://www.users.gr.jp/forums/t/6317.aspx 上で、日本語リソースファイルを提供しています。
ただ、USERS GROUP に登録&ID登録申請許可がおりないと、入手できないため、許可されるまでに時間がかかるみたいです。
後は、ASP.NETとC#がわかる人であれば、直接ソースをいじって、日本語化対応するのもおもしろそうです。
(techbank.jp コミュニティは、直接リソースいじって、日本語化しました。現在も対応中です)
■最後に
他のWebサイトやBlogで紹介している程、簡単ではなかったので、インストールエラーに対する適切な対処
(ASP.NETとSQL Serverの基本知識)がないと、Community Serverのインストールは、初心者では、難しいなと思いました。
ここに記載した情報が今後のお役に立てば、幸いです。
※インストールが終わったら、Web.Configの設定(コメント)を元に戻して、
CS2007.1_3.1.20917.1142.web\Web\Installer\Default.aspx の
bool INSTALLER_ENABLED も false に戻すのをお忘れなく!!!