Ubuntu 9.04 (Jaunty Jackalope)にmod_mono 2.4をソースからビルドしてインストールする手順。

ビルドにはgcc、libtool、autotools、gettext、pkg-config等が必要になるので、あらかじめインストールしておく必要がある。

xsp

  • 依存するパッケージ類
    • Mono 2.4

ソースのダウンロードとconfigure。

wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.4.tar.bz2
tar -xvf xsp-2.4.tar.bz2 
cd xsp-2.4/
./configure

configureの結果例。

Runtime: /usr/local/bin/mono
C# compiler: /usr/local/bin/mcs
C# 2.0 compiler: /usr/local/bin/gmcs

configureした結果に問題が無ければmake、make installする。

make
sudo make install

gacutilでいくつかのアセンブリがインストールされていることを確認する。

$ gacutil -l
  :
Mono.WebServer, Version=0.1.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Mono.WebServer2, Version=0.2.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
  :

動作テスト

インストールに成功すると/usr/local/lib/xsp/test以下にテストページのファイルがインストールされる。 このテストページを表示させてみる。

$ xsp --root /usr/local/lib/xsp/test --port 8080
xsp2
Listening on address: 0.0.0.0
Root directory: /usr/local/lib/xsp/test
Listening on port: 8080 (non-secure)
Hit Return to stop the server.

--rootでXSPサーバを動作させるルートディレクトリ、--portオプションで使用するポートを指定することが出来る。 "Hit Return to stop the server."と表示されたら、ブラウザでhttp://localhost:8080/を開く。

このようにテストページが表示できればOK。 終了するにはXSPサーバを起動した端末でEnterキーを押す。

mod_mono 2.4

  • 依存するパッケージ類
    • apache2-prefork-devもしくはapache2-threaded-dev

ソースのダウンロードとconfigure。

wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.4.tar.bz2
tar -xvf mod_mono-2.4.tar.bz2 
cd mod_mono-2.4/
./configure --enable-debug

configureの結果例。

---
Configuration summary for mod_mono

   * Installation prefix = /usr/local
   * Apache version = 2.2
   * Apache modules directory = /usr/lib/apache2/modules
   * apxs = /usr/bin/apxs2
   * apr-config = /usr/bin/apr-1-config
   * apu-config = /usr/bin/apu-1-config
   * CFLAGS = -g -O2 -DDEBUG -I/usr/include/apache2 -DLINUX=2 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/mysql -I/usr/include/openssl -I/usr/include/postgresql -I/usr/include/xmltok -pthread    -I/usr/include/apr-1.0   -pthread  -I/usr/include/apr-1.0 -I/usr/include/postgresql -I/usr/include/mysql
   * Verbose logging (debug) = yes
   * GCOV options used = no
   * Profiling enabled = no
   * mono prefix = /usr/local/lib/pkgconfig/../..
   * Default MonoApplicationsConfigDir = /etc/apache2/mod-mono-applications

---

configureした結果に問題が無ければmake、make installする。

make
sudo make install

インストール出来たかどうか確認する。

$ ls -l /usr/lib/apache2/modules/ | grep mod_mono
lrwxrwxrwx 1 root root     17 2009-05-18 12:01 mod_mono.so -> mod_mono.so.0.0.0
-rw-r--r-- 1 root root 116832 2009-05-18 12:01 mod_mono.so.0.0.0