MVCサイトを実運用している筆者が、その環境の構築方法をレクチャーする連載がスタート。MVCプロジェクト・サーバの構築方法を紹介する。実際にはECMA標準にとどまらず、ASP.NETやADO.NETなどのマイクロソフトのフレームワークと高い互換性のある機能群を提供している。実は筆者の会社Gingerではネココレというソーシャル・ゲームを実際に運用し、安定動作しているという実績がある。MVCプロジェクトを実際にブラウザからアクセスできるようにするところまでを紹介する。このような構成は、Linuxのサーバを運用しているが、.NETが得意な開発者がいる会社にはお勧めだ。Ultimateなどの開発に必要な多くの製品が無償利用できる)も利用できる。この2つを併用すれば、開発から運用までを無償でそろえることも可能となる。実際のサーバ構築に入る前に、これから作成しようとするサーバの全体像を押さえておこう。図1に、マイクロソフト製品で構築した場合と、OSS(オープンソース・ソフトウェア)で構築した場合の環境の比較を示す。左側の環境はInsider.NETの読者にとってなじみ深いものだと思う。環境比較(左:マイクロソフト製品で構築した場合、右:OSSで構築した場合)Webサーバである「Apache」に「mod_mono」を入れてXSP(=C#で書かれた、ASP.NETが動作する軽量アプリケーション・サーバ)を動かし、MySQLデータベースにもアクセスできるようにしている。ここで一番の違いは、IISに相当する部分を見てほしい。IISは、HTTPリクエストを受け付けるWebサーバとしての機能と、ASP.NETなどのアプリを実行するアプリケーション・サーバとしての機能を一括して提供しているが、Monoで動かす場合には、この2つは明確に分離されることになる。本稿ではWebサーバとしての機能をApacheで、アプリケーション・サーバの部分はXSPというプログラムが担当することにする(XSPはWebサーバとしての機能もあり、開発用に使うこともできるが、アクセス制御などの機能面で実運用に適しているとはいえない)。本連載の第2回では、MySQLデータベースへの接続も紹介する予定なので、そちらも参考にしてほしい。ソースを取って来てコンパイル&インストールLinuxの各ディストリビューションにはMonoのパッケージが含まれているものもあるが、バージョンが古い場合もあるので、なるべくなら最新のソース・ファイルを取ってきてインストールすることをお勧めしたい。Monoのソースは「http://download.mono-project.com/sources/」にまとめられている。実行には、以下のパッケージが必要だ。System.Drawing系の処理を行う場合に必要。Monoの最新バージョンは3.0系がリリースされているが、XSPはまだ2.10なので、ここではバージョンを合わせて2.10系を使用する。XSPmod_monoまずはこれらをダウンロードして展開しよう。Linuxのターミナル上で(rootで)下記のコマンドを実行する。xsp-2.10.2.tar.bz2各パッケージ(圧縮ファイル)をLinux上にダウンロードして、展開するために実行するコマンド上記のコマンドを全て実行すると、以下のようなファイルやディレクトリができているはずだ。次に実際にこれらのパッケージをコンパイルするわけだが、その前にこれらのパッケージに依存するパッケージを先にインストールしてしまおう。各パッケージのディレクトリ内で「./configure」コマンドを実行すれば足りないパッケージが指摘されるので、逐次、インストールしてもよいのだが、面倒なので以下に必要なパッケージを列記しておく。6(64bit)上での実行を前提とするが、ほかディストリビューションでも必要とするものは大差ないので、適宜読み替えてほしい(※コマンドや配置先などが一部異なる場合もある)。全てのコンパイルのために。libgdi+のコンパイルに必要。libgdi+でベクトルデータを扱うために必要。PNGファイルを扱うために必要。GIFファイルを扱うために必要。JPEGファイルを扱うために必要。TIFFファイルを扱うために必要。EXIFを扱うために必要。mod_monoのコンパイルに必要。monoのコンパイルに必要。monoのコンパイルに必要。上記のパッケージをインストールするには、下記のコマンドを実行すればい。<適切なパッケージ名(libjpeg-turbo-devel.x86_64など)>」というコマンドでパッケージをインストールし直せばよい。以上の手順により必要なパッケージがインストールできたら、各パッケージを順にコンパイルしていこう。●libgdi+パッケージのコンパイルまずはlibgdi+パッケージからだ。Monoでは画像処理関係の機能(=System.Drawing名前空間に所属する機能)はMono本体とは独立して、「libgdi+」として提供されている。画像関係の処理を行わないのであれば、この項は飛ばしてもよいが、せっかくなのでコンパイルしておこう。install」というコマンドを実行することだ。OSSはこれでインストールできる。ここでも基本にのっとって進めていく。configureスクリプトを実行するためのコマンドを次の例のように実行する。configureスクリプトは、環境をチェックしてコンパイルに必要な設定を構成してくれる。./configure「./configure」コマンドの実行(libgdi+パッケージ)最後に、以下のように表示されれば成功だ。yes「./configure」コマンドの実行結果(成功例)(libgdi+パッケージ)パッケージの一部がインストールされていない場合は、(「yes」の部分が)「no」と表示され、その形式はサポートしない形でコンパイルされる。$PATHなどと表示されるので(このエラー・メッセージはgccがインストールされていない場合の例)、エラー・メッセージの内容から必要なパッケージをインストールして、configureコマンドを再実行しよう。makeコンパイルを行うコマンドの実行(libgdi+パッケージ)というコマンドで実際のコンパイルを実行しよう。環境によるが、コンパイルには数分かかることもあるので、気長に待つことにしよう(筆者の環境では約7分かかった)。installインストールを行うコマンドの実行(libgdi+パッケージ)というコマンドで、コンパイル後のパッケージが「/usr/local/lib」ディレクトリにインストール(=コピー)される。......というメッセージが表示されるが、今回はMono本体のコンパイル時にパスを明示的に指定するので、取りあえず無視してもらって構わない。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。