RailsをchrootなDebian環境で

提供: SmileLogicWiki

Linuxメモに戻る。

目次

いきなりDebian GNU/Linux 4.0(ETCH)環境なchrootは作れない!?

どうも駄目らしい。 etchでdebootstrap を参考に。

$ sudo cdebootstrap sarge /var/etchroot http://ftp.jp.debian.org/debian/
# echo "proc-sid /var/etchroot/proc proc none 0 0" >> /etc/fstab
# mount proc-sid /var/etchroot/proc -t proc
# cp /etc/hosts /var/etchroot/etc/hosts
# cp /etc/resolv.conf /var/etchroot/etc/resolv.conf
# chroot /var/etchroot /bin/bash

これで一応、Debian GNU/Linux 3.1(sarge)環境に入れる。

etch環境にupgrade

/etc/apt/source.list を書き換えた上で。

# cat /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
(chroot)# aptitude  update
(chroot)# aptitude  --download-only dist-upgrade
(chroot)# aptitude  dist-upgrade

ちょっとした設定をする。

(chroot)# vi /root/.profile
(追加) LANG=C
(追加) LANGUAGE=C

必要なパッケージを一気に入れる

(chroot)# aptitude install perl m4 bison flex make gettext libncurses5-dev tar autoconf automake binutils gcc g++ libc6-dev gawk fileutils bzip2 libtool zlib1g-dev libreadline4-dev

初期化処理

(chroot)# shadowconfig on <- shadow パスワードを有効
(chroot)# passwd          <- root パスワードを変更
(chroot)# tzsetup         <- タイムゾーンの設定

MySQLは、親のものを利用するのでクライアントのみ

(chroot)# aptitude install mysql-client-5.0 libmysqlclient15-dev

Ruby&Railsインストール

(chroot)# aptitude install libfcgi-dev 
(chroot)# aptitude install ruby1.8 rdoc1.8
(chroot)# wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz
(chroot)# tar xvfz rubygems-1.0.1.tgz
(chroot)# cd rubygems-1.0.1
(chroot)# ruby setup.rb
(chroot)# gem1.8 install rails capistrano fcgi mysql --include-dependencies
(chroot)# gem1.8 install mongrel mongrel_cluster --include-dependencies

rubygems でインストールされたリストは以下のコマンドで。

(chroot)# gem1.8 list
*** LOCAL GEMS ***
actionmailer (2.0.2)
actionpack (2.0.2)
activerecord (2.0.2)
activeresource (2.0.2)
activesupport (2.0.2)
capistrano (2.1.0)
fcgi (0.8.7)
highline (1.4.0)
mysql (2.7)
needle (1.3.0)
net-sftp (1.1.0)
net-ssh (1.1.2)
rails (2.0.2)
rake (0.8.1)

親DebianのMySQLを利用する

# mkdir -p /var/etchroot/var/run/mysql
# ln /var/run/mysqld/mysqld.sock /var/etchroot/var/run/mysql/
??? TCP経由じゃないとエラーになる!?
conf/database.yml
 host: localhost -> 127.0.0.1
 localhost だと mysqld.sock を利用
 172.0.0.1 だと TCP を利用?

参考URL

Linuxメモに戻る。

個人用ツール