Skip to content

Instantly share code, notes, and snippets.

@wilfrem
Last active December 16, 2015 11:09
Show Gist options
  • Save wilfrem/5425257 to your computer and use it in GitHub Desktop.
Save wilfrem/5425257 to your computer and use it in GitHub Desktop.
ubuntu12.10+mono 3+ServiceStack+NginX@さくらVPSインストールメモ

インストール編

さくらVPSにubuntu12.04LTSをインストール
インストール後、12.10へのアップグレード手法に従い、/etc/update-manager/release-upgradesを修正し、OSアップグレードを実行する

OSアップグレード後

apt-get update
apt-get upgrade

で、apt-getリポジトリとインストール済みプログラムを更新

次に依存ライブラリのインストール
apt-get install build-essential libglib2.0-dev libcairomm-1.0-dev libpng12-dev libgif-dev libjpeg-dev libtiff-dev libexif-dev bison gettext

今回はcheckinstallでソースから入れたパッケージの管理もするので、apt-get install checkinstallする
それと、nginx使うのでnginxも入れておく

インストール(apt-get版)

apt-get install libgdiplus mono-runtime xsp mono-fastcgi-server4
以上。プログラム稼働編にすすめ
C#4.0だが、バグがとれている安定版。
ソースコードで最新版突っ込むと、まだバグがあるっぽくて地獄です

インストール(ソースコード版)

/usr/local/srcに移動し、
libgdiplus, xsp, monoの最新版のソースコードを落とす
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2
wget http://download.mono-project.com/sources/mono/mono-3.0.7.tar.bz2
wget http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2

apache使う場合はmod-monoも必要

libgdiplusからインストールする
./configureして、makeする
make installの代わりにcheckinstallを使う(apt-getの方が追いついた時にアンインストールできるように)

次にmonoをインストール
./configure --with-libgdiplus=/usr/local/lib/libgdiplus.laと指定する以外はlibgdiplusと同じ
monoのコンパイルは時間がかかるので(.Net Framework含めて全部コンパイルするので)マターリとお待ちください

最後にxspをインストール
PKG_CONFIG_PATH環境変数に/usr/local/lib/pkgconfigを追加
あとはlibgdiplusとインストール方法は変わらず

参考資料(こちらはmono2.1=.NET4.0とApacheとmod_monoを使う方法)
http://www.atmarkit.co.jp/ait/articles/1303/15/news069.html

プログラム稼働編

fastcgi-mono-server4を使ってnginxとつなぐ
これが一番わかり易い
https://github.com/ServiceStack/ServiceStack/wiki/Run-ServiceStack-in-Fastcgi-hosted-on-nginx

mono3使う場合は実はバグが有って
http://stackoverflow.com/questions/13239113/does-fastcgi-mono-serverx-work-with-mono-3-0-nginx-1-2-4
このバグがまだ治ってないので、
/usr/local/lib/mono/4.5$ sudo ln -s ../4.0/fastcgi-mono-server4.exe
すると上手くいった

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment