※この記事は Gehirn RS2 β版時代のものです。
正式版の Gehirn RS2 では rs2 install fakeroot / rs2 use fakeroot という rs2コマンドで利用することができます。
仮想root
ユーザー権限の中でfakechroot,fakeroot,chroot,debootstrapを使ってユーザディレクトリ内に全く別な環境を構築、仮想的にrootとして動ける機能です。Gehirn RS2はあくまでレンタルサーバーですのでVPSのroot権限とは異なります。あくまで擬似的なものです。
この擬似rootでも、本来root権限のないレンタルサーバーでapt-get(aptitude) install で簡単に様々なライブラリやソフトウェアをインストールすることができます。
nginxなどもインストールできますし、mongodbや最新版のrubyやPythonを試したりできるような、レンタルサーバーとVPSの間とも言える機能を提供します。
なおこの機能が使えるのはPRODUCTION MODEL以降の s2, s3, s4サーバーとなっています。s1サーバーは TEST TYPEですのでお使いになれません。
ではその仮想root環境を構築していきましょう。
使い方
—Gehirn RS2 SSHログイン直後—
起動したソフトウェアやデーモンは、SSH接続を切ってしまうと終了してしまうので、screenを最初に起動することでSSH切断後もプロセスを維持することができます。
$ screen $ cd ~/ $ touch fakeroot.state $ PATH=/sbin:/usr/sbin:$PATH fakeroot -i $(pwd)/fakeroot.state -s $(pwd)/fakeroot.state $ mkdir root $ fakechroot $ fakeroot $ debootstrap --include=zsh --variant=fakechroot squeeze root http://ftp.jp.debian.org/debian/ $ export HOME=/root $ chroot root/
上記で、ユーザー用のdebian squeeze環境が構築されます。
–ここからchroot環境–
(#) cd /root
(#) id uid=0(root) gid=0(root) groups=0(root),5000
となっています。
〜この時点でディスク使用量は276MB〜
–nginxのインストール–
(#) apt-get install nginx (#) vi /etc/nginx/sites-enabled/default
ポートを8083、rootを /home/[ユーザー名]/public_html←RS2実環境のパス
(#) /etc/init.d/nginx restart
上記で http://[ユーザー名].gehirn.co.uk:8083/ にアクセスすると、自分のnginx環境に接続されます。
–rubyのインストール–
(#) apt-get install ruby1.9
〜ruby入れるとディスク使用量約1.1GB〜
Control+A, Control+D でscreen環境を抜け出せます。
SSH切断後、再度ログインしたときは screen -x でchroot環境が戻ってきます。
exit exit exitで夢を抜けだしてしまったら
$ cd ~/ $ PATH=/sbin:/usr/sbin:$PATH fakeroot -i $(pwd)/fakeroot.state -s $(pwd)/fakeroot.state $ fakechroot $ fakeroot $ export HOME=/root $ chroot ~/root/
で夢に戻ってこれます。
—Python3.0ソースインストール—
(#) wget http://www.python.org/ftp/python/3.0/Python-3.0.tar.bz2 (#) tar jxvf Python-3.0.tar.bz2 (#) cd Python-3.0/ (#) ./configure (#) make (#) make install
(gccやmakeがなかったら apt-get install build-essentialすると入ります)
(#) python3.0 -V (#) which python3.0 (#) /usr/local/bin/python3.0
上記にインストールしたものはchroot環境では /usr/local/bin/python3.0にありますが、RS2の実環境から見ると /home/ユーザー名/root/usr/local/bin/python3.0にインストールされています。
いろいろ遊べると思いますので試してみてください。
ちょっと工夫は必要だけど apache2+passengerとかも入りましたよ^^