Apache による ASP.NET

提供: ArchWiki
ナビゲーションに移動 検索に移動

このページでは Mod_Mono を使用して Apache で ASP.NET サイトを表示する方法を説明します。

Mod_Mono のウェブサイト より:

"Mod_Mono は人気のウェブサーバー Apache (https://httpd.apache.org/) に ASP.NET のサポートを追加する Apache 2.0/2.2 モジュールです。"

インストール

monomod_monoAUR パッケージをインストールしてください。任意で ASP.NET のシンプルなウェブサーバーである xspAUR をインストールすることで設定のテストが行えます。

設定

/etc/httpd/conf/httpd.conf を編集して以下の行を追加してください:

Include /etc/httpd/conf/extra/mod_mono.conf

それから httpd.service再起動してください。

これで Apache から ASP.NET のページが表示できるようになります。

AutoHosting

AutoHosting を使うことで、デプロイするたびに Apache を設定する手間が省けます。ディレクトリの中にアプリケーションを配置するだけで自動的に設定が行われるようになります。オプションを有効にするには /etc/httpd/conf/httpd.conf に以下の行を追加してください:

 # Choose ASP2.0 support instead of the default 1.0
 MonoServerPath "/usr/bin/mod-mono-server4" # mono 4
 MonoAutoApplication enabled

詳しくは http://www.mono-project.com/AutoHosting を参照してください。

テスト

xsp がインストールされていて HTML のパスが /httpd/html の場合、ブラウザを開いて http://server/xsp/ にアクセスすることで ASP.NET のテストファイルの概要を確認できます。

トラブルシューティング

アプリケーション/サイトのインスタンスが CPU 使用率が高くてハングする

これは、SystemD のバージョン 239.303 より上での mod-mono モジュールのバグ/非互換性が原因と考えられています。

現在、プロジェクトの開発が停止しているようなので、回避策以外の修正はありません。

詳しくは https://github.com/mono/mod_mono/issues/9 を参照してください。