Windows + coLinux で Ruby on Rails 開発。さらば、コマンドプロンプト

what

coLinuxのセットアップ - 基本へ帰ろう
こちらで、coLinuxのセットアップをしてみました。
そしたら、
coLinux でウェブアプリケーション開発環境構築 : NDO::Weblog
こちらで、coLinuxWindowsで開発していまして、なかなか便利そう!
ってことで、環境を整えてみました。

SambaをcoLinuxで起動させて、Windowsがマウントしています。


利点

coLinux + Windows で 開発するにあたっての利点は、


つまり、LinuxWindowsのいいとこどりして開発ができるわけですね。

環境

OS : Debian

coLinuxのセットアップ - 基本へ帰ろう
こちらでセットアップしたのがデフォルトです。


これから、ソフトウエアをインストールするのですが、以前から作っているRailsアプリを開発するので、少々古い環境をセットアップします。
Rubyのバージョンなどはお好きにアレンジしてください。


sudo

とりあえず、基本的なところから。

http://www2.i-e-c.co.jp/common1.html

# apt-get install sudo

sudo を使いたいユーザーに割り当てました。


gccのインストール

http://www.yamasita.jp/linkstation/0609/060927.html

$ sudo apt-get install make gcc
$ gcc -dumpversion
4.1.2

rubyのインストール

libssl-dev install

ruby の前に。

とあるIRCでの会話。

11:11 (hoge) あと、openssl-devel とか入れておかないと、opensslライブラリが入らず、gem でリモートインストールできなくなるはずです
11:11 (fuku) おお
11:11 (hoge) http://d.hatena.ne.jp/seiryo/20071213/1197545500

ということで

$ sudo apt-get install libssl-dev

参考:ubuntu8.0.4にopenssl-develをインストールしたい -ubuntu8.0.4にopens- UNIX・Linux | 教えて!goo



あと、no such file to load readline - tragicomedy ←のようなこともあるということで、

$ sudo apt-get install libreadline5 libreadline5-dev 
$ sudo apt-get install build-essential 
$ sudo apt-get install bison byacc gperf 
$ sudo apt-get install zlib1g-dev 
$ sudo apt-get install libncurses5 libncurses5-dev  
$ sudo apt-get install libssl-dev 

ruby install

$ cd /usr/local/src
$ sudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
$ sudo tar zxvf ruby-1.8.6.tar.gz
$ cd ruby-1.8.6
$ sudo ./configure --prefix=/usr
$ sudo make
$ sudo make install

おk


gem

$ cd /usr/local/src
$ sudo wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
$ sudo tar zxvf rubygems-0.9.4.tgz
$ cd rubygems-0.9.4
$ sudo ruby setup.rb
$ gem environment
RubyGems Environment:
- VERSION: 0.9.4 (0.9.4)
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- GEM PATH:
- /usr/lib/ruby/gems/1.8
- REMOTE SOURCES:
- http://gems.rubyforge.org

おk

※ただこちらの記事が少し気になる。
http://www.gfd-dennou.org/arch/davis/gfdnavi/doc/install/gfdnavi-on-debian-sarge.htm#label-4


Rails

$ sudo gem install rails -v 1.2.3
Bulk updating Gem source index for: http://gems.rubyforge.org
Killed

あかん・・・Killed してしまう。
仕方ないので、gem を持ってくる。

$ cd /usr/local/src
$ sudo wget http://rubyforge.vm.bytemark.co.uk/gems/rails-1.2.3.gem
$ sudo gem install rails-1.2.3.gem --local
ERROR: While executing gem ... (RuntimeError)
Error instaling rails:
rails requires rake >= 0.7.2

rake が足りない。。rakeをいれる。

$ sudo wget http://rubyforge.org/frs/download.php/17890/rake-0.7.2.gem
$ sudo gem install rake-0.7.2.gem --local
Successfully installed rake, version 0.7.2
Installing ri documentation for rake-0.7.2...
Installing RDoc documentation for rake-0.7.2...
$ gem list

LOCAL GEMS ***

rake (0.7.2)
Ruby based make-like utility.

sources (0.0.1)
This package provides download sources for remote gem installation

はいった。
ふたたびRailsにチャレンジ。

$ sudo gem install rails-1.2.3.gem --local
ERROR: While executing gem ... (RuntimeError)
Error instaling rails-1.2.3.gem:
rails requires activesupport = 1.4.2

こんどは、activesupport が足りない。。全部手かな・・・。

$ sudo wget http://rubyforge.org/frs/download.php/18398/activesupport-1.4.2.gem
$ sudo gem install activesupport-1.4.2.gem --local
Successfully installed activesupport, version 1.4.2
Installing ri documentation for activesupport-1.4.2...
Installing RDoc documentation for activesupport-1.4.2...
$ sudo gem list | grep activesupport
activesupport (1.4.2)

おk。

ふたたびRailsにチャレンジ。

$ sudo gem install rails-1.2.3.gem --local
ERROR: While executing gem ... (OptionParser::InvalidOption)
invalid option: --local[]
debian:/usr/local/src# gem install rails-1.2.3.gem --local
ERROR: While executing gem ... (RuntimeError)
Error instaling rails-1.2.3.gem:
rails requires activerecord = 1.15.3

今度は、activerecord

$ sudo wget http://rubyforge.org/frs/download.php/18405/activerecord-1.15.3.gem
$ sudo gem install activerecord-1.15.3.gem --local
$ sudo gem list | grep activerecord
activerecord (1.15.3)

おk。

$ sudo gem install rails-1.2.3.gem --local
ERROR: While executing gem ... (RuntimeError)
Error instaling rails-1.2.3.gem:
rails requires actionpack = 1.13.3

こんどは、actionpack

$ sudo wget http://rubyforge.org/frs/download.php/18401/actionpack-1.13.3.gem
$ sudo gem install actionpack-1.13.3.gem --local
Successfully installed actionpack, version 1.13.3
Installing ri documentation for actionpack-1.13.3...
Installing RDoc documentation for actionpack-1.13.3...
$ gem list | grep actionpack
actionpack (1.13.3)

おk。

$ sudo gem install rails-1.2.3.gem --local
ERROR: While executing gem ... (RuntimeError)
Error instaling rails-1.2.3.gem:
rails requires actionmailer = 1.3.3

こんどは、actionmailer。

$ sudo wget http://rubyforge.org/frs/download.php/18408/actionmailer-1.3.3.gem
$ sudo gem install actionmailer-1.3.3.gem --local
Successfully installed actionmailer, version 1.3.3
Installing ri documentation for actionmailer-1.3.3...
Installing RDoc documentation for actionmailer-1.3.3...
$ gem list | grep actionmailer
actionmailer (1.3.3)

おk。

$ sudo gem install rails-1.2.3.gem --local
ERROR: While executing gem ... (RuntimeError)
Error instaling rails-1.2.3.gem:
rails requires actionwebservice = 1.2.3

こんどは、actionwebservice

$ sudo wget http://rubyforge.org/frs/download.php/18411/actionwebservice-1.2.3.gem
$ sudo gem install actionwebservice-1.2.3.gem --local
Successfully installed actionwebservice, version 1.2.3
Installing ri documentation for actionwebservice-1.2.3...
Installing RDoc documentation for actionwebservice-1.2.3...
$ gem list | grep actionwebservice
actionwebservice (1.2.3)

おk。

$ sudo gem install rails-1.2.3.gem --local
Successfully installed rails, version 1.2.3
$ rails -v
Rails 1.2.3

やっとRailsはいったー。


とろろで、なぜ gem install ●● でkilled してしまう?

http://sho.tdiary.net/20070820.html

fuku@debian:/$ free
total used free shared buffers cached
Mem: 126452 47660 78792 0 3388 35276

  • /+ buffers/cache: 8996 117456

Swap: 131064 14280 116784

スワップはあるようですが、どうも全体のメモリが少ないようです。

C:\Program Files\coLinux\debian.conf
のメモリの設定を見てみると

mem=128

となっていて、128Mのようです。
これでは、ちょっと少ないので、大判振る舞いで、1028にして再起動しました。
ちなみにPC全体は2Gあります。

そしたら、gem install ●● ができるようになりました!
メモリ不足だったんですね・・・。

その後、coLinuxのメモリサイズは512にしました。


各種ドライバ

gem install mysql

$ sudo gem install mysql -v 2.7.3
Select which gem to install for your platform (i686-linux)
1. mysql 2.7.3 (mswin32)
2. Skip this gem
3. Cancel installation
> 1
Successfully installed mysql-2.7.3-mswin32
Installing ri documentation for mysql-2.7.3-mswin32...
Installing RDoc documentation for mysql-2.7.3-mswin32...
While generating documentation for mysql-2.7.3-mswin32

... MESSAGE: Unhandled special: Special: type=17, text=""

... RDOC args: --op /usr/lib/ruby/gems/1.8/doc/mysql-2.7.3-mswin32/rdoc --exclude ext --main README --quiet ext README docs/README.html
(continuing with the rest of the installation)

おk


MySQLのInstall

http://y-kit.jp/saba/xp/mysqllinuxinst.htm

ダウンロードしたソースは、
Linux (non RPM, Intel C/C++ compiled, glibc-2.3) downloads
Linux (x86)

http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-standard-4.1.22-pc-linux-gnu-i686-icc-glibc23.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/

です。

# cd /usr/local
# tar zxvf mysql-standard-4.1.22-pc-linux-gnu-i686-icc-glibc23.tar.gz
# mv mysql mysql-standard-4.1.22-pc-linux-gnu-i686-icc-glibc23.tar.gz
# chown -R mysql /usr/local/mysql/
# chgrp -R mysql /usr/local/mysql/
# cd mysql
# ./scripts/mysql_install_db --user=mysql

tar したらすぐに使える状態だったので、configure や make などをとばし、初期化しようとしたら、
上記のエラーが出ました。

# ./scripts/mysql_install_db --user=mysql
Installing all prepared tables
Fill help tables

To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h debian password 'new-password'
See the manual for more instructions.

NOTE: If you are upgrading from a MySQL <= 3.22.10 you should run
the ./bin/mysql_fix_privilege_tables. Otherwise you will not be
able to use the new GRANT command!

You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the ./bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com

エラーメッセージを読むと、いろいろと設定が足らない模様。

http://hata.cc/msql/install.htm
こちらを参考にやってみます。

fuku@debian:/usr/local/mysql$ sudo ./bin/mysqladmin version
./bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
fuku@debian:/usr/local/mysql$ sudo sh ./support-files/mysql.server start
Starting MySQL
fuku@debian:/usr/local/mysql$ ./bin/mysqladmin version
./bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
fuku@debian:/usr/local/mysql$ sudo ./bin/mysqladmin version
./bin/mysqladmin Ver 8.41 Distrib 4.1.22, for pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version 4.1.22-standard
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 53 sec

Threads: 1 Questions: 1 Slow queries: 0 Opens: 11 Flush tables: 1 Open tables: 2 Queries per second avg: 0.019
$ sudo chmod 755 /etc/init.d/mysql
fuku@debian:/usr/local/mysql$ sudo /etc/init.d/mysql restart
Shutting down MySQL..
Starting MySQL
fuku@debian:/usr/local/mysql$
fuku@debian:/usr/local/mysql$ sudo /usr/sbin/update-rc.d mysql defaults
System startup links for /etc/init.d/mysql already exist.

MySQLを起動し、マシン起動時のMySQL起動も確認しました。


PATHの設定

パス(PATH)の確認と設定方法は? - Pocketstudio.jp Linux Wiki

$ sudo vi /etc/profile

以下のPATHを加えます

/usr/local/mysql/bin

my.cnf の設定

$ sudo cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
$ sudo vi /etc/my.cnf

  • /etc/my.cnf

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake


これで、MySQLを再起動して、ステータスを確認してみましょう。UTF-8がデフォルトになっているはずです。

mysql> show variables like "char%";

                                                                                                                                        • +
Variable_name Value
                                                                                                                                        • +
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/mysql/share/mysql/charsets/
                                                                                                                                        • +

7 rows in set (0.00 sec)

mysql>

これで、MySQL のインストール終了です。


svnのインストール

sudo apt-get install subversion

まとめ

これで、Ruby, MySQL, Rails がインストールできました。
これで、coLinux+WindowsRuby on Rails の開発環境が整いました!

これからは、こちらで開発をやろうと思います。

さらば!コマンドプロンプト