XSP (Webサーバ)
XSPとは、MonoプロジェクトおよびGNOMEプロジェクトによりオープンソースで開発が行われているWebサーバ用ソフトウェア(またはWebサーバサービス)である。
マイクロソフトがWindows向けに開発・提供しているWebアプリケーションフレームワークであるASP.NETおよびASP.NET MVCを、LinuxやmacOSなどの様々なオペレーティングシステム (OS) 上で動かすことを主目的としている。XSPは、MonoおよびC#を用いて開発されており、Monoが動作する環境であればOSを問わず動作する。なお、Windows上であればマイクロソフト製のランタイムライブラリ (.NET Framework) でも動作する。さらにUNIX拡張機能を用いることでWindows上では動作しなくなるが、Unix系OS固有の機能を用いたWebシステムを構築することも可能となっている。
XSPは安定して動作するため単体のWebサーバとして用いることも可能である。ただし、マイクロソフトのInternet Information ServicesほどWebサーバとしての汎用性は追求していない。このため別途Webサーバなどと連携させて動作させることができ、例えばApache HTTP Serverではmod_monoモジュールを用いて連携を行う。また、MonoDevelopを用いてASP.NETアプリケーションを開発する際に、バックグラウンドで一時的に起動するデバッグ用Webサーバとしても用いられている。
設定例
[編集]Apacheでの設定例
[編集]<IfModule !mod_mono.c> LoadModule mono_module /usr/local/libexec/apache22/mod_mono.so </IfModule> <IfModule mod_headers.c> Header set X-Powered-By "Mono" </IfModule> # MonoServerPathを明示しないと.NET Framework 2.0ではなく # .NET Framework 1.1が動いてしまう。 # .NET 1.1 #MonoServerPath /usr/local/bin/mod-mono-server # .NET 2.0 #MonoServerPath /usr/local/mono/bin/mod-mono-server2 # .NET 4.0 MonoServerPath /usr/local/mono/bin/mod-mono-server4 #### MonoDebug true #### #MonoSetEnv LANG=ja_JP.UTF-8 #### MonoAutoApplication enabled #### AddType application/x-asp-net .aspx AddType application/x-asp-net .asmx AddType application/x-asp-net .ashx AddType application/x-asp-net .asax AddType application/x-asp-net .ascx AddType application/x-asp-net .soap AddType application/x-asp-net .rem AddType application/x-asp-net .axd AddType application/x-asp-net .cs AddType application/x-asp-net .vb AddType application/x-asp-net .master AddType application/x-asp-net .sitemap AddType application/x-asp-net .resources AddType application/x-asp-net .skin AddType application/x-asp-net .browser AddType application/x-asp-net .webinfo AddType application/x-asp-net .resx AddType application/x-asp-net .licx AddType application/x-asp-net .csproj AddType application/x-asp-net .vbproj AddType application/x-asp-net .config AddType application/x-asp-net .Config AddType application/x-asp-net .dll #### DirectoryIndex index.aspx DirectoryIndex Default.aspx DirectoryIndex default.aspx