編集部が厳選した「いま、みんなに見てほしいまとめ」をイチオシとして紹介しています!グサッと刺さる良質まとめはこちら!
1
ログインして広告を非表示にする
骨折飲料@次はSS3A両日 @kossetsu_inryo
さくらのレンタルサーバにmonoをとりあえず突っ込む方法。実生活がテンパってて後回しになっていたけど、今日ひとまずメドが付いたので、簡単に書いてみる。
骨折飲料@次はSS3A両日 @kossetsu_inryo
まず前提として、FreeBSD portsが扱えること。知らなくても、Google先生に「FreeBSD ports 使い方」で尋ねればいろいろ教えてくれます
骨折飲料@次はSS3A両日 @kossetsu_inryo
それでは、さくらにmonoを突っ込む方法。monoに限らず基本的には、契約しているさくらのサーバに見合ったバイナリパッケージを転送して pkg_add で放り込めばよろしい。
骨折飲料@次はSS3A両日 @kossetsu_inryo
ただし、そのままだと /usr/local に導入しようとする。当然そんな操作はできないので、pkg_add にいくつか引数を渡す必要がある
骨折飲料@次はSS3A両日 @kossetsu_inryo
「pkg_add -f $HOME/local -t $HOME/var/tmp パッケージファイル名」というコマンドを叩いてやれば、だいたいおk
骨折飲料@次はSS3A両日 @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つ。バージョン表記は適当に読み替えること
骨折飲料@次はSS3A両日 @kossetsu_inryo
ただし、mono のバイナリは内部にインストール先パスを保持しているため、そのまま $HOME/local 以下に配置しても動作できない。よって、$HOME/local 以下でビルドしてバイナリパッケージを自作する必要がある
骨折飲料@次はSS3A両日 @kossetsu_inryo
真面目に $HOME/local 配下でビルドできるようにするのは色々と大変なので、ここは手抜きをすることにしたい
骨折飲料@次はSS3A両日 @kossetsu_inryo
まず、仮想マシンでよいので、手元にまっさらなFreeBSDのサーバを用意する。用意できたらrootでログインし、おもむろに「cd /usr/ports/lang/mono; make」としてmonoをいったんビルドする
骨折飲料@次はSS3A両日 @kossetsu_inryo
ビルドできたら、いったん「make install」でインストールした後すぐに「make deinstall」でmonoを削除する
骨折飲料@次はSS3A両日 @kossetsu_inryo
次に、自分が契約しているサーバ環境に合わせたホームディレクトリを作成する。例えば、さくらサーバの自アカのホームディレクトリが /home/foobar なら、「mkdir /home; mkdir /home/foobar」とか
骨折飲料@次はSS3A両日 @kossetsu_inryo
そしてここで手抜き。/usr/local のシンボリックリンクをホームディレクトリ配下に作成する(笑) 具体的には「ln -s /usr/local /home/foobar/local」とかやる
骨折飲料@次はSS3A両日 @kossetsu_inryo
これで、自分のホームディレクトリに合わせたmonoをビルドできる状態になったので、早速ビルドしましょう。「cd /usr/ports/lang/mono; make LOCALBASE=/home/foobar/local」
骨折飲料@次はSS3A両日 @kossetsu_inryo
ビルドできたら今度は「make LOCALBASE=/home/foobar/local package」を実行。これで、/home/foobar/localにインストールして動くmonoのバイナリパッケージが出来上がります
骨折飲料@次はSS3A両日 @kossetsu_inryo
あとは、カレントディレクトリに作成された mono-2.4.3.1_1.tbz (バージョンは適当に(略))をさくらのサーバにFTPで送り、pkg_addすればok
骨折飲料@次はSS3A両日 @kossetsu_inryo
これでインストール完了。後は、さくらのサーバ上で「setenv LD_LIBRARY_PATH $HOME/local/lib; setenv PATH ${PATH}:$HOME/local/bin; mono -V」enjoy!
ログインして広告を非表示にする
ログインして広告を非表示にする