Apache による ASP.NET
このページでは Mod_Mono を使用して Apache で ASP.NET サイトを表示する方法を説明します。
Mod_Mono のウェブサイト より:
- "Mod_Mono は人気のウェブサーバー Apache (https://httpd.apache.org/) に ASP.NET のサポートを追加する Apache 2.0/2.2 モジュールです。"
インストール
mono と mod_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 を参照してください。