windowsXPで、VMware PlayerとCentos5.3を使って、Railsの開発環境を構築する
会社で構築する機会があったので、構築メモを残します。
(20110621 部分的に修正しました。)
使ったもの
- centosのイメージファイル
- CentOS-5.3-i386-bin-DVD.iso
- 最新版のダウンロードは、http://centos.org/
- VMwarePlayer
- VMware-player-3.1.2-301548.exe
- 最新のplayerがあるようでしたら、ダウンロードして使用してください。signupが必要になります。http://www.vmware.com/jp/products/player/
ということで作業をしていきます。途中、再起動を行ないます。作業状態を保存する必要のある作業を止めてからorいつでも保存できる、という状態になってから行ってください。
vmwareのインストール
- VMware-player-3.1.2-301548.exeをダブルクリックしてインストールします。
- インストールウィザードにしたがって、進めていけば完了です。
- 再起動を求められますので、再起動してください。
centosのインストールの前に
いくつか設定をホストOS側で行う必要があります。
CPUの省電力機能の無効化
- コントロールパネルから、電源オプションを開きます。(クラシック表示だと見つけやすいです。)
- 電源設定タブの電源設定を「常にオン」にしておきます。
- こうすると、CPUの省電力機能が(おおよそ)無効になるとのこと。
- 参照:http://tns.myhome.cx/blog/wpuser/maru/?p=615
時刻同期のための設定
- コントロールパネルから、システムを開きます。
- 詳細設定タブの「起動と回復」の「設定」ボタンをクリックします。
- 起動のオプションを手動で編集するには、、、とあるところの「編集」ボタンをクリックします。(boot.iniの編集です。注意深く編集してください。)
- [operating systems]の下に、/usepmtimerを追記します。(以下は、杉田の例)http://support.microsoft.com/kb/833721
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
- 追記したら、保存して閉じます。
- ※こちらの作業ですが、x86系のOSを利用している方は注意です。
- 参照:http://support.microsoft.com/kb/895980/
vmplayerの設定
準備
エクスプローラのウィンドウ上部のメニューから、ツール > フォルダオプションを開きます。
- config.iniを編集して、以下の内容を「追記」します。
host.noTSC="TRUE" ptsc.noTSC="TRUE" mks.noBeep="TRUE"
- 追記したら、保存して閉じます。
windowsを再起動をします。
vmwareへのcentosのインストール
ディスクの用意
centosのイメージの読み込み
centosのインストール
centosの最初の設定(ようこそ)
centosの設定(VMware Toolsのインストール)
- rootでログインします。
- VMwareプレーヤーのウィンドウ上部のメニューから、仮想マシン > VMware Toolsのインストールをクリックします。
- centosに戻ります。
- centosのメニューから アプリケーション > アクセサリ > Gnome端末 を開きます。
- 以下shell上で操作
mkdir ~/src cd ~/src cp /media/VMware\ Tools/VMwareTools-[その時のVMwareToolsのバージョン].tar.gz . tar xzvf /VMwareTools-[その時のVMwareToolsのバージョン].tar.gz cd vmware-tools-distrib ./vmware-install.pl # 以下、ひたすらにエンターキー # ディスプレイサイズの選択は、設定したいサイズを選択。(選択肢なくてもOK)
- centosを再起動します。
centosの設定(基本設定)
ここから先の設定は、vmware内でも、sshクライアントを使用してもOKです。
時刻の設定
sed -i "s/server 0\.rhel\.pool\.ntp\.org/#server 0\.rhel\.pool\.ntp\.org/g" /etc/ntp.conf sed -i "s/server 1\.rhel\.pool\.ntp\.org/#server 1\.rhel\.pool\.ntp\.org/g" /etc/ntp.conf sed -i "s/server 2\.rhel\.pool\.ntp\.org/#server 2\.rhel\.pool\.ntp\.org/g" /etc/ntp.conf echo "restrict 130.69.251.23" >> /etc/ntp.conf echo "server 130.69.251.23 # ntp.nc.u-tokyo.ac.jp" >> /etc/ntp.conf echo "server 133.31.180.6 # sutntp.sut.ac.jp / ntp.sut.ac.jp" >> /etc/ntp.conf echo "server 130.34.11.117 # ntp1.tohoku.ac.jp" >> /etc/ntp.conf echo "server 130.34.48.32 # ntp2.tohoku.ac.jp" >> /etc/ntp.conf /etc/init.d/ntpd start /sbin/chkconfig ntpd on
rootになれるユーザーの制限
echo "SU_WHEEL_ONLY yes" >> /etc/login.defs echo "auth required pam_wheel.so use_uid group=wheel" >> /etc/pam.d/su
adminをグループに所属させる
usermod -G wheel admin
sudo 設定
visudo
wheel ALL=(ALL) ALL
がコメントアウトされている行のコメントアウトを外す。
root パスワードの修正
rootでログインしているときに
passwd
rootアカウントでのリモートログイン(SSH)の不許可
sed -i "s/#PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config /etc/rc.d/init.d/sshd reload
.bashrc
su - admin cd cp ~/.bashrc ~/.bashrc.original echo "alias rm='rm -i'" >> ~/.bashrc source ~/.bashrc
PATH を通す
su - admin sed -i "s/\$HOME\/bin/\$HOME\/bin:\/sbin:\/usr\/sbin/g" ~/.bash_profile source ~/.bash_profile
"make install"したソフトウェアを管理できるツールPacoのインストール
su - admin cd ~/src wget http://downloads.sourceforge.net/paco/paco-2.0.6.tar.gz tar zxvf paco-2.0.6.tar.gz cd paco-2.0.6/ ./configure --disable-gpaco make sudo make install sudo make logme
不要なサービスを停止
/etc/init.d/apmd stop sudo /etc/init.d/atd stop sudo /etc/init.d/auditd stop sudo /etc/init.d/autofs stop sudo /etc/init.d/avahi-daemon stop sudo /etc/init.d/bluetooth stop sudo /etc/init.d/cups stop sudo /etc/init.d/firstboot stop sudo /etc/init.d/gpm stop sudo /etc/init.d/hidd stop sudo /etc/init.d/ip6tables stop sudo /etc/init.d/kudzu stop sudo /etc/init.d/mcstrans stop sudo /etc/init.d/netfs stop sudo /etc/init.d/nfslock stop sudo /etc/init.d/pcscd stop sudo /etc/init.d/portmap stop sudo /etc/init.d/restorecond stop sudo /etc/init.d/rpcgssd stop sudo /etc/init.d/rpcidmapd stop sudo /etc/init.d/xfs stop sudo /etc/init.d/xinetd stop sudo /etc/init.d/yum-updatesd stop sudo chkconfig apmd off sudo chkconfig atd off sudo chkconfig auditd off sudo chkconfig autofs off sudo chkconfig avahi-daemon off sudo chkconfig bluetooth off sudo chkconfig cups off sudo chkconfig firstboot off sudo chkconfig gpm off sudo chkconfig hidd off sudo chkconfig ip6tables off sudo chkconfig kudzu off sudo chkconfig mcstrans off sudo chkconfig netfs off sudo chkconfig nfslock off sudo chkconfig pcscd off sudo chkconfig portmap off sudo chkconfig restorecond off sudo chkconfig rpcgssd off sudo chkconfig rpcidmapd off sudo chkconfig xfs off sudo chkconfig xinetd off sudo chkconfig yum-updatesd off
locate で検索できるように
updatedb
Sambaの設定
以下の例は 一般ユーザ(admin)のホームディレクトリ をWindowsと共有するようにする設定です。
yum install -y samba /etc/init.d/smb start cp /etc/samba/smb.conf /etc/samba/smb.conf.back vi /etc/samba/smb.conf smbpasswd -a admin # パスワードの設定 /etc/init.d/smb restart chkconfig --add smb /sbin/chkconfig smb on
/etc/samba/smb.conf
[global] charset = CP932 unix charset = UTF-8 display charset = UTF-8 client code page = 932 coding system = SJIS workgroup =Mshome dns proxy = no max log size = 1000 syslog = 0 security =user socket options = TCP_NODELAY encrypt passwords = yes passdb backend = tdbsam unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *New*password* %n\n *Re*new*password* %n\n *success* [homes] comment = Home Directories browseable = no writable = yes
Rails開発のための設定
ちょっとだけかいつまんで
MySQLのインストール(例として、mysql4を導入)
wget http://download.softagency.net/MySQL/Downloads/MySQL-4.1/MySQL-client-4.1.22-0.i386.rpm wget http://download.softagency.net/MySQL/Downloads/MySQL-4.1/MySQL-server-4.1.22-0.i386.rpm wget http://download.softagency.net/MySQL/Downloads/MySQL-4.1/MySQL-shared-4.1.22-0.i386.rpm wget http://download.softagency.net/MySQL/Downloads/MySQL-4.1/MySQL-devel-4.1.22-0.i386.rpm sudo rpm -ihv MySQL-*.i386.rpm
yumをいくつかインストール
sudo yum -y install rdoc #(<=mysql(gem)インストール時に必要)
sudo yum install -y readline-devel #ruby script/console
rubyのインストール(例として、ruby-1.8.6-p383)
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p383.tar.gz tar zxvf ruby-1.8.6-p383.tar.gz cd ruby-1.8.6-p383 ./configure --enable-shared --prefix=/usr --with-readline-dir=/usr/local make sudo paco -D make install cd ../readline ruby extconf.rb make sudo paco -D make install
rubygemsのインストール(例として、1.3.5)
cd ~/src wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz tar zxvf rubygems-1.3.5.tgz cd rubygems-1.3.5 sudo paco -D ruby setup.rb
gemのインストール
sudo gem install rails --version 1.2.3 --include-dependencies sudo gem install mysql -- --with-mysql-lib=/usr/lib/mysql
mysqlの設定
/etc/my.cnfの設定
[mysqld] default-character-set=utf8 skip-character-set-client-handshake
my.cnfの再読込をすぐにしたい場合は、
sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start
アプリ用のDBを作る
mysql -u root -e "create database hogehoge;"