mod_monoのインストール
Vine Linux 4.0にmonoをインストールしました。一筋縄とはいきませんでした。導入するとASP.NET 1.1が動くみたいです。2.0は対応中のようです。情報は2006.12.17のものです。
(1) monoをインストール
mono本家ダウンロードページ(英語)
から、Linux Installer for x86 (All distributions) のMono (Version No.) Installer (Stable) を選択してダウンロードします。私がダウンロードしたのは 1.2.2.1_1 Installer (Stable) でした。
$ cd (ダウンロードしたディレクトリ)
$ ./mono-1.2.2.1_1-installer.bin
上記のコマンドでエラーが起きて終了してしまった場合は、オプション --mode xwindow を付けます。
$ ./mono-1.2.2.1_1-installer.bin --mode xwindow
あとはフォルダ /opt の下にmonoがインストールされます。コマンド mono と xsp のパスが通っているかチェックします。
- 【確認】.bashrc に コマンド mono と xsp のパスが通っているか
$ cat /root/.bashrc
:
export PATH="/opt/mono-1.2.2.1/bin:$PATH"
(2) apxsをインストール
既に、この段階で mono と xps(簡易サーバ) の動作は可能です。これをApache2と連携させます。
Apache2上でmonoを動かすモジュールであるmod_monoはmakeが必須です。makeするためにApache2側で必要なapxs(Apacheの拡張機能)をインストールします。
$ apt-get install apache2-devel
(3) mod_monoのダウンロードとmake
mod_monoは mono本家ダウンロードページ(英語) の Source Code (Stable) から mod_mono-1.2.1.tar.gz を取得します。
$ tar zxvf mod_mono-1.2.1.tar.gz
$ cd mod_mono*/
$ ./configure
$ make
$ make install
makeは関連ファイルがきちんと定義されていないと、エラーが返ってきて失敗します。ここが敷居が高いと呼ばれる理由だと思われます。エラーが起こった場合は、./configureに対するオプションをしっかりと定義する必要があります。
--prefix=/xxx/yyy | mod_monoのファイルをインストールする基準パス |
--with-mono-prefix=/xxx/yyy | mono実行ファイル、mod-mono-server.exeが正しく実行されるデフォルトパス (mod_monoのプレフィックスがmonoとは異なる場合) |
--with-apxs=/xxx/yyy/apxs | apxs実行ファイルの完全パス (複数のApache(例えば1.3と2.0)の開発用ファイルをインストールしている場合) |
--with-apr-config=/xxx/yyy | Apache2のapr-configツールの完全パス (Apache2向けのいくつかのヘッダファイルが見つからない場合) |
make が通ったら make install で完了です。あとはApache2のhttpd.confにmonoを使用するための記述をするだけです。
httpd.conf の設定(LoadModuleの一番下あたりに追加)
LoadModule mono_module modules/mod_mono.soApache2をリスタートして「http://127.0.0.1/test/index.aspx」にアクセスしてXSPテストページが表示されれば成功です。あとはAliasの部分をASP.NETを使いたいディレクトリを指定します。うまくいかない場合、Mod mono - MonoWebJPを参考にしてください。
Alias /test "/opt/mono-1.2.2.1/lib/xsp/test"
AddMonoApplications default "/test:/opt/mono-1.2.2.1/lib/xsp/test"
<Location /test>
SetHandler mono
</Location>