結構前に書いたUbuntuにMonoを入れてそこからASP.NETを走らせる方法を久々に試したら普通にMonoのインストールの時点でこけてどうにもならなかったので
備忘録として残します.
とりあえず今回したこと一覧
Ubuntu 14.04にMonoを入れた
DNX(KRE)を動かした
準備
OS : Ubuntu 14.04
Mono : Githubのソースの最新のヤツ
とりあえず以下のパッケージをapt-getでいれる
git
autoconf
libtool
make
pkg-config
libgtk2.0-dev
ステップ1
: libgdiplusをソースから入れる
sudo git git://github.com/mono/libgdiplus.git
sudo ./autogen.sh --prefix=/usr/local
この段階だと, ./autogen.shを走らせた段階で画像を扱う系の機能がPNGのみだと思われますが今回は, 割愛
入れたい人は,
libtiff5-dev
libgif-dev
をapt-getから入れると使えるようになります.
諸々やったら
sudo make
sudo make install
でliggdiplusが入る. やったね!
ステップ2
Mono本体をインストール
sudo git clone git://github.com/mono/mono.git
sudo ./autogen.sh --prefix=/usr/local
sudo make
sudo make install
でインストールできるはずだった
普通にmakeの段階でエラーでインストールできなかったのでこの方法は, やめた方がいい.
時間の無駄
ステップ3
Monoのサイトに書かれた方法で簡単にやってみる
githubから飛べるLinuxのインストール方法のリンクの一番下に, debianを使ってて何も考えずにちゃちゃっとやりたい人向けのスクリプトがあった
!/bin/bash
PREFIX=$@ if [ -z $PREFIX ]; then PREFIX="/usr/local" fi
Ensure you have write permissions to PREFIX
sudo mkdir $PREFIX
sudo chown -R whoami
$PREFIX
Ensure that all required packages are installed.
sudo apt-get install git autoconf libtool automake build-essential mono-devel gettext
PATH=$PREFIX/bin:$PATH git clone https://github.com/mono/mono.git cd mono ./autogen.sh --prefix=$PREFIX make make install
確かに何も考えずに走らせたら普通にMonoがインストールできた.
Mono 4.1.0が簡単に入った. そもそももうMono4なんだって思った. 何の疑いもなく
確か前に調べてた時Mono3.4以降ならASP.NET5が動くみたいなの見てたしこれでASP.NET5動くね!って思った
ステップ4
DNX(KRE)を入れる
ASP.NET5を動かすためのランタイムが必要
とりあえず
が必要だからapt-getで入れる
curlが入ったらあとは, Githubの手順通りにやるといける
curl -sSL https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh | sh && source ~/.k/kvm/kvm.sh
入れたら
kvm upgrade
でXREをインストールする.
これで
k
kpm
みたいな大事なコマンドが使えるようになる
ついでに, LinuxでASP.NET5を走らせるのに
- libuv
が必要らしいのでインストールする
apt-getからじゃ無理だからソースからビルドする
git clone https://github.com/libuv/libuv.git cd libuv ./autogen.sh ./configure make sudo make install sudo ldconfig
ステップ5
サンプルを動かしてみる
これまででMono本体とDNXが入ったのであとは, 本当に動くのかをテストしてみる
githubのリポジトリにサンプルがいくつかあるので, それを使う
sudo git clone https://github.com/aspnet/Home.git
cd Home/samples/HelloWeb
ここで,
kpm restore
すると, 必要なパッケージとかをNuGetから自動的に取ってきてくれるから走らせる
kpm restoreが終わったらLinux用の実行コマンドを走らせる
k kestrel
で動くはずだった.
動かなかった
なんで動かないのかわからないからいろいろ調べてみると大体みんな3.12あたりで動かしてた
ステップ6
Monoを入れなおす
しょうがないからMonoのバージョンを入れなおす
でもさすがにまたビルドするのとか時間かかるしやりたくなかったから調べたらapt-getを使って入れる方法があった
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list sudo apt-get update
sudo apt-get install mono-complete
今までの苦労とは, なんだったのか
10分くらいですぐインストールできた.
インストールで来たら, ステップ5のサンプルの実行方法を試すと動くはず
コンソールにstartedの文字が出たら, デフォルトでlocalhost:5004にアクセスすると以下のような画面が出るはず
Mono 4.1.0で動いたって人がいたら誰か教えてください
ちなみにサンプルは, Enterを受け付けると終了しますが, Ctr + Zとかやると普通にゾンビ化するのでやめましょう