* 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