
さくらのレンタルサーバにmonoをとりあえず突っ込む方法。実生活がテンパってて後回しになっていたけど、今日ひとまずメドが付いたので、簡単に書いてみる。
2010-04-15 22:40:22
まず前提として、FreeBSD portsが扱えること。知らなくても、Google先生に「FreeBSD ports 使い方」で尋ねればいろいろ教えてくれます
2010-04-15 22:41:47
それでは、さくらにmonoを突っ込む方法。monoに限らず基本的には、契約しているさくらのサーバに見合ったバイナリパッケージを転送して pkg_add で放り込めばよろしい。
2010-04-15 22:45:34
ただし、そのままだと /usr/local に導入しようとする。当然そんな操作はできないので、pkg_add にいくつか引数を渡す必要がある
2010-04-15 22:46:26
「pkg_add -f $HOME/local -t $HOME/var/tmp パッケージファイル名」というコマンドを叩いてやれば、だいたいおk
2010-04-15 22:47:32
必要なものは mono-2.4.3.1_1.tbz の他に gio-fam-backend-2.22.4.tbz glib-2.22.4.tbz gamin-0.1.10_3.tbz で、合計4つ。バージョン表記は適当に読み替えること
2010-04-15 22:49:38
ただし、mono のバイナリは内部にインストール先パスを保持しているため、そのまま $HOME/local 以下に配置しても動作できない。よって、$HOME/local 以下でビルドしてバイナリパッケージを自作する必要がある
2010-04-15 22:50:54
まず、仮想マシンでよいので、手元にまっさらなFreeBSDのサーバを用意する。用意できたらrootでログインし、おもむろに「cd /usr/ports/lang/mono; make」としてmonoをいったんビルドする
2010-04-15 22:55:27
ビルドできたら、いったん「make install」でインストールした後すぐに「make deinstall」でmonoを削除する
2010-04-15 22:57:49
次に、自分が契約しているサーバ環境に合わせたホームディレクトリを作成する。例えば、さくらサーバの自アカのホームディレクトリが /home/foobar なら、「mkdir /home; mkdir /home/foobar」とか
2010-04-15 22:59:56
そしてここで手抜き。/usr/local のシンボリックリンクをホームディレクトリ配下に作成する(笑) 具体的には「ln -s /usr/local /home/foobar/local」とかやる
2010-04-15 23:00:58
これで、自分のホームディレクトリに合わせたmonoをビルドできる状態になったので、早速ビルドしましょう。「cd /usr/ports/lang/mono; make LOCALBASE=/home/foobar/local」
2010-04-15 23:05:10
ビルドできたら今度は「make LOCALBASE=/home/foobar/local package」を実行。これで、/home/foobar/localにインストールして動くmonoのバイナリパッケージが出来上がります
2010-04-15 23:06:51
あとは、カレントディレクトリに作成された mono-2.4.3.1_1.tbz (バージョンは適当に(略))をさくらのサーバにFTPで送り、pkg_addすればok
2010-04-15 23:08:04
これでインストール完了。後は、さくらのサーバ上で「setenv LD_LIBRARY_PATH $HOME/local/lib; setenv PATH ${PATH}:$HOME/local/bin; mono -V」enjoy!
2010-04-15 23:14:29