2009-05-18T14:52:46の更新内容

programming/mono/install_mod_mono_2.4/index.wiki.txt

current previous
1,85 0,0
+
${smdncms:tags,Mono,mod_mono,xsp,2.4,ビルド,インストール}
+
*mod_mono 2.4のインストール
+
Ubuntu 9.04に[[mod_mono 2.4:http://www.mono-project.com/Mod_mono]]をソースからビルドしてインストールする手順。
+

          
+
-関連するページ
+
--[[programming/mono/install_2.4]]
+
--[[programming/mono]]
+

          
+
ビルドには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
+
 Hit Return to stop the server.
+
~--rootでXSPサーバを動作させるルートディレクトリ、--portオプションで使用するポートを指定することが出来る。 "Hit Return to stop the server."と表示されたら、ブラウザでhttp://localhost:8080/を開く。
+
#ref(xsp-test-page.png)
+
このようにテストページが表示できれば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 = 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
+

          

programming/mono/mod_mono/index.wiki.txt

current previous
1,102 0,0
+
${smdncms:tags,Mono,mod_mono,lighttpd,設定,tips}
+
*mod_mono
+
[[mod_mono:http://www.mono-project.com/Mod_mono]]に関するTips。
+

          
+
-関連するページ
+
--[[programming/mono/install_mod_mono_2.4]]
+
--[[programming/mono]]
+
-ドキュメント等へのリンク
+
--Mono Project
+
---[[ASP.NET - Mono:http://www.mono-project.com/ASP.NET]]
+
---[[FAQ: ASP.NET - Mono:http://www.mono-project.com/FAQ:_ASP.NET]]
+
---[[FastCGI Lighttpd - Mono:http://www.mono-project.com/FastCGI_Lighttpd]]
+
--Community Documentation for Ubuntu
+
---[[ModMono - Community Ubuntu Documentation:https://help.ubuntu.com/community/ModMono]]
+

          
+
**lighttpd+mod_mono
+
lighttpdでmod_monoを使用するためのTips。
+
-関連するページ
+
--[[linux/tips/lighttpd]]
+

          
+
***設定
+
lighttpdでmod_monoを使用するにはmod_fastcgiが必要になるのであらかじめインストールしておく必要がある。 インストールしたら、設定ファイルを開きmod_monoのための設定を追記する。 この例での設定内容は次の通り。
+
+Monoは/usr/localにインストールされているものとする
+
+document-rootは/srv/www、mod_monoを使用するアプリケーションのディレクトリは/srv/www/mod_mono
+
+拡張子.aspxのファイルのみfastcgi-mono-server2で処理する
+
+mod_monoのログは/var/log/lighttpd/fastcgi-mono-server.logに出力
+
+起動する最大プロセス数は1
+
 # mod_fastcgiを有効にする
+
 server.modules += (
+
   "mod_fastcgi",
+
 )
+
 
+
 server.document-root = "/srv/www"
+
 
+
 index-file.names += (
+
   "index.aspx",
+
   "default.aspx",
+
 )
+
 
+
 fastcgi.server = (
+
   ".aspx" => (
+
     "localhost" => (
+
       "socket" => "/tmp/fastcgi-mono-server.socket",
+
       "bin-path" => "/usr/local/bin/fastcgi-mono-server2",
+
       "bin-environment" => (
+
         "PATH" => "/bin:/usr/bin:/usr/local/bin",
+
         "LD_LIBRARY_PATH" => "/usr/local/lib:",
+
         "MONO_SHARED_DIR" => "/tmp/",
+
         "MONO_FCGI_LOGLEVELS" => "Standard",
+
         "MONO_FCGI_LOGFILE" => "/var/log/lighttpd/fastcgi-mono-server.log",
+
         "MONO_FCGI_ROOT" => "/srv/www/mod_mono/",
+
         "MONO_FCGI_APPLICATIONS" => "/mod_mono:.",
+
       ),
+
       "max-procs" => 1,
+
     ),
+
   ),
+
 )
+
設定を保存し、再起動する。
+

          
+
***Hello, World
+
動作確認のため、"Hello, World"を表示するだけのサンプルを作成する。 まずファイル/srv/www/mod_mono/default.aspxを次の内容で作成。
+
 <%@ Page Language="C#" CodeFile="default.aspx.cs" Inherits="_Default" %>
+
 <html>
+
   <head>
+
     <title>Hello, World</title>
+
   </head>
+
   <body>
+
     <h1>ASP.NET sample</h1>
+
     <asp:Label runat="server" id="Label1" />
+
   </body>
+
 </html>
+
次にファイル/srv/www/mod_mono/default.aspx.csを次の内容で作成。
+
 using System;
+
 using System.Web.UI;
+
 using System.Web.UI.WebControls;
+
 
+
 public partial class _Default : Page {
+
   protected override void OnLoad(EventArgs e)
+
   {
+
     Label1.Text = "Hello, World";
+
   }
+
 }
+
上記二つのファイルを作成したら、ブラウザでhttp://localhost/mod_mono/を開く。 うまくページが表示されればOK。 以下は問題なく動作した場合のレスポンスの例。
+
 HTTP/1.1 200 OK
+
 X-AspNet-Version: 2.0.50727
+
 Content-Length: 155
+
 Cache-Control: private
+
 Content-Type: text/html; charset=utf-8
+
 Set-Cookie: ASP.NET_SessionId=C11EEDA27408FDD2462060B3; path=/mod_mono
+
 Date: Mon, 18 May 2009 05:36:13 GMT
+
 Server: lighttpd
+
 
+
 <html>
+
   <head>
+
     <title>Hello, World</title>
+
   </head>
+
   <body>
+
     <h1>ASP.NET sample</h1>
+
     <span id="Label1">Hello, World</span>
+
   </body>
+
 </html>
+