さくらインターネット共有サーバーへmonoをインストールする方法

まとめました。
1
骨折飲料 @kossetsu_inryo

さくらのレンタルサーバにmonoをとりあえず突っ込む方法。実生活がテンパってて後回しになっていたけど、今日ひとまずメドが付いたので、簡単に書いてみる。

2010-04-15 22:40:22
骨折飲料 @kossetsu_inryo

まず前提として、FreeBSD portsが扱えること。知らなくても、Google先生に「FreeBSD ports 使い方」で尋ねればいろいろ教えてくれます

2010-04-15 22:41:47
骨折飲料 @kossetsu_inryo

それでは、さくらにmonoを突っ込む方法。monoに限らず基本的には、契約しているさくらのサーバに見合ったバイナリパッケージを転送して pkg_add で放り込めばよろしい。

2010-04-15 22:45:34
骨折飲料 @kossetsu_inryo

ただし、そのままだと /usr/local に導入しようとする。当然そんな操作はできないので、pkg_add にいくつか引数を渡す必要がある

2010-04-15 22:46:26
骨折飲料 @kossetsu_inryo

「pkg_add -f $HOME/local -t $HOME/var/tmp パッケージファイル名」というコマンドを叩いてやれば、だいたいおk

2010-04-15 22:47:32
骨折飲料 @kossetsu_inryo

必要なものは 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
骨折飲料 @kossetsu_inryo

ただし、mono のバイナリは内部にインストール先パスを保持しているため、そのまま $HOME/local 以下に配置しても動作できない。よって、$HOME/local 以下でビルドしてバイナリパッケージを自作する必要がある

2010-04-15 22:50:54
骨折飲料 @kossetsu_inryo

真面目に $HOME/local 配下でビルドできるようにするのは色々と大変なので、ここは手抜きをすることにしたい

2010-04-15 22:52:07
骨折飲料 @kossetsu_inryo

まず、仮想マシンでよいので、手元にまっさらなFreeBSDのサーバを用意する。用意できたらrootでログインし、おもむろに「cd /usr/ports/lang/mono; make」としてmonoをいったんビルドする

2010-04-15 22:55:27
骨折飲料 @kossetsu_inryo

ビルドできたら、いったん「make install」でインストールした後すぐに「make deinstall」でmonoを削除する

2010-04-15 22:57:49
骨折飲料 @kossetsu_inryo

次に、自分が契約しているサーバ環境に合わせたホームディレクトリを作成する。例えば、さくらサーバの自アカのホームディレクトリが /home/foobar なら、「mkdir /home; mkdir /home/foobar」とか

2010-04-15 22:59:56
骨折飲料 @kossetsu_inryo

そしてここで手抜き。/usr/local のシンボリックリンクをホームディレクトリ配下に作成する(笑) 具体的には「ln -s /usr/local /home/foobar/local」とかやる

2010-04-15 23:00:58
骨折飲料 @kossetsu_inryo

これで、自分のホームディレクトリに合わせたmonoをビルドできる状態になったので、早速ビルドしましょう。「cd /usr/ports/lang/mono; make LOCALBASE=/home/foobar/local」

2010-04-15 23:05:10
骨折飲料 @kossetsu_inryo

ビルドできたら今度は「make LOCALBASE=/home/foobar/local package」を実行。これで、/home/foobar/localにインストールして動くmonoのバイナリパッケージが出来上がります

2010-04-15 23:06:51
骨折飲料 @kossetsu_inryo

あとは、カレントディレクトリに作成された mono-2.4.3.1_1.tbz (バージョンは適当に(略))をさくらのサーバにFTPで送り、pkg_addすればok

2010-04-15 23:08:04
骨折飲料 @kossetsu_inryo

これでインストール完了。後は、さくらのサーバ上で「setenv LD_LIBRARY_PATH $HOME/local/lib; setenv PATH ${PATH}:$HOME/local/bin; mono -V」enjoy!

2010-04-15 23:14:29

コメント

コメントがまだありません。感想を最初に伝えてみませんか?