* mono-3 インストール [#k24e610f]

** 前提 [#wba1814f]
- OS: Linux CentOS 6.3
- インストール先: /opt/mono以下
- Apacheをインストールしておく

** ソースコード取得 [#jd229e70]
*** ソースコード保存場所 [#q8ea8133]
 mkdir -p /opt/src/mono
 cd /opt/src/mono

*** GitHub [#e8d9a524]
 git clone git://github.com/mono/mono.git 
 git clone git://github.com/mono/xsp.git 
 git clone git://github.com/mono/libgdiplus.git 
 git clone git://github.com/mono/mod_mono.git
*** mono-project [#zf7eebf3]
 wget http://download.mono-project.com/sources/mono/mono-3.2.0.tar.bz2
- http://download.mono-project.com/sources/mono/

** ライブラリパス追加 [#k23d08da]
 echo /opt/mono/lib > /etc/ld.so.conf.d/mono.conf

** コマンドサーチパス追加 [#sfe63a5a]
 vi ~/.bashrc

 export PATH=/opt/mono/bin:$PATH

 source ~/.bashrc

** libgdiplusインストール [#h0fba512]
 ./autogen.sh --prefix=/opt/mono 
 make 
 make install
 ldconfig

** monoインストール [#m10387f4]
 ./autogen.sh --prefix=/opt/mono
 make
 make install
 ldconfig
- GitHubから取得した最新のソースコードでmakeでエラーになる場合は、mono-projectから取得したソースコードをまずインストールして、その後、GitHubのソースコードをインストールし直す。
- mono-projectから取得するソースコードはmono 2系でもいいかもしれない。

** xspインストール [#dfda53f2]
 PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig ./autogen.sh --prefix=/opt/mono
 make
 make install
 ldconfig
 
** mono + xspの動作確認 [#k7d62ee3]
*** ASPXファイルを作る [#f9f1cfbb]
 cat > index.aspx
 <%@ Page Language="C#" %>
 <html>
 <head>
   <title>Sample Calendar</title>
 </head>
 <asp:calendar showtitle="true" runat="server">
 </asp:calendar>

*** xspを起動 [#md7c4e2c]
 xsp4 --port=8080

↓ 上手く動かない時はログを出す
 MONO_LOG_MASK="asm" MONO_LOG_LEVEL="debug" xsp4 --port=8080 --verbose

*** 動作確認 [#hda117fb]
 - ブラウザで以下のようなURLを確認する。
 - http://192.168.0.100:8080/index.aspx

** mod_mono インストール [#y4113c1c]
 ./autogen.sh --prefix=/opt/mono
 make
 make install

** Apacheの設定と起動¥ [#t51f0a37]
*** mod_monoの設定 [#s71917e2]
 vi /etc/httpd/conf.d/mod_mono.conf

 # mod_mono.conf
 
 # Achtung! This file may be overwritten
 # Use 'include mod_mono.conf' from other configuration file
 # to load mod_mono module.
 
 <IfModule !mod_mono.c>
     LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so
 </IfModule>
 
 <IfModule mod_headers.c>
     Header set X-Powered-By "Mono"
 </IfModule>
 
 AddType application/x-asp-net .aspx
 AddType application/x-asp-net .asmx
 AddType application/x-asp-net .ashx
 AddType application/x-asp-net .asax
 AddType application/x-asp-net .ascx
 AddType application/x-asp-net .soap
 AddType application/x-asp-net .rem
 AddType application/x-asp-net .axd
 AddType application/x-asp-net .cs
 AddType application/x-asp-net .vb
 AddType application/x-asp-net .master
 AddType application/x-asp-net .sitemap
 AddType application/x-asp-net .resources
 AddType application/x-asp-net .skin
 AddType application/x-asp-net .browser
 AddType application/x-asp-net .webinfo
 AddType application/x-asp-net .resx
 AddType application/x-asp-net .licx
 AddType application/x-asp-net .csproj
 AddType application/x-asp-net .vbproj
 AddType application/x-asp-net .config
 AddType application/x-asp-net .Config
 AddType application/x-asp-net .dll
 DirectoryIndex index.aspx
 DirectoryIndex Default.aspx
 DirectoryIndex default.aspx
 
 MonoAutoApplication disabled
 MonoServerPath "/opt/mono/bin/mod-mono-server4"
 MonoApplications default "/myapp:/home/taro/work/myapp"
 
 <Location /myapp>
     SetHandler mono
     MonoSetServerAlias default
 </Location>

*** Apacheの起動 [#le0c7687]
 service httpd restart

** ASP.NET MVC 4の確認 [#h225d38c]
*** サンプルアプリケーションの作成 [#oc0e5b2b]
- VisualStudioを起動。
- メニューから"新しプロジェクト"を開く。
- ダイアログが開くので、最上部の".NET Framework 4"を選ぶ。
-- (.NET Framework 4.5は出来たアプリが上手く動作しなかった。)
- "インストール済み"→"Visual C#"→"Web"を選び、"ASP.NET MVC 4 Web アプリケーション"を選ぶ。
- "プロジェクトテンプレート"で"空"を選ぶ。
- "OK"を押す。
- ソリューションエクスプローラーから"Controllers"を右クリックして、"追加"で"コントローラ"を選び、"HomeController"クラスを作成する。
- HomeControllerクラスのIndexメソッドを右クリックして、"ビューの追加"を選び、ビューを追加する。
- サンプルアプリケーションが出来る。

*** サンプルアプリケーションの発行 [#rab120e2]
メニューの
- メニューの"ビルド"から"発行"を選ぶ。
- ダイアログが開くので、"発行プロファイル"で"新規"を選択する。
- 以下のように設定する。
-- 発行方法: FTP
-- サーバ: ftp://192.168.0.100
-- サイトパス: work/myapp
-- ユーザ名: taro
-- パスワード: XXXX
-- 宛先URL: http://192.168.0.100/myapp
- "接続の確認"を押下して接続を確認する。
- "発行"ボタンを押下して発行する。

*** サンプルアプリケーションの確認 [#mcabb496]
- ブラウザで以下のようなURLを開く。
- http://192.168.0.100/myapp

** 4.5 GAC のバグ? [#d587ed06]
- 今回インストールしたmono 3.3ではすでに修正されてるようだけれど、必要なら以下にある通りに4.0 GACのファイルを4.5 GACにコピーする。
- http://stackoverflow.com/questions/4239645/does-the-razor-view-engine-work-for-mono

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS