新しくアプリケーションのネタが浮かんだので、せっかくだから ruby on Rails でやってみようと思いとりあえずセットアップまでしてみた。
今回は CentOS 5 だけど、サーバは 4 なので、そちらもセットアップしたら違いを追記する予定。
とりあえず、 RPM パッケージでセットアップできるものは以下のとおり。
ruby ruby-devel rdoc mysql mysql-server mysql-develand dependencies.
上記で上げたパッケージをまずは yum で片っ端からインストール。
# yum install ruby ruby-devel rdoc mysql mysql-server mysql-devel
まずは gem という ruby パッケージ管理ソフトをインストールする。
これは多分 perl でいう CPAN 、 php でいう pear の位置付けなんだと思う。多分。
まず gem のソースを以下からダウンロードする。
Download Ruby on Rails
次に、パッケージを展開し、インストールを行う。
$ tar zxvf rubygem-0.9.4.tgz $ cd rubygem-0.9.4 $ ruby setup.rb config $ ruby setup.rb setup # ruby setup.rb install
次に gem を使って rails をインストール。
# gem install rails --include-dependencies
次に mysql connector をインストールする。別に mysql を使わないならいらないけど、多分使うと思ったのでインストールする。
若干 CentOS 5 の環境ではうまくいかなかった。
まずは、普通にインストールしようと思って以下のコマンドを実行。
# gem install mysql Select which gem to install for your platform (i386-linux) 1. mysql 2.7.3 (mswin32) 2. mysql 2.7.1 (mswin32) 3. mysql 2.7 (ruby) 4. mysql 2.6 (ruby) 5. Skip this gem 6. Cancel installation > 3 ruby extconf.rb install mysql checking for mysql_query() in -lmysqlclient... no checking for main() in -lm... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lz... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lsocket... no checking for mysql_query() in -lmysqlclient... no checking for main() in -lnsl... yes checking for mysql_query() in -lmysqlclient... no *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.
何やらエラーを得る。
調べてみると gem が mysql_config の場所が分かってないらしい。
なので、以下のようにコマンドオプションを追加して実行。
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
するとうまくいきました。
最後に rails アプリケーションを構築する。
この手順に到達するまで、 rails がポートをオープンして自前で動くサービスだとは知らなかった。
ふむふむ、これはでも servlet や .Net みたいなサーバアプリが組めそう。
手順は簡単で、 rails 用のディレクトリを作成し、後は rails コマンドを実行するだけ。
$ mkdir railsproject $ rails ./railsproject $ cd railsproject $ ruby script/server
これで 3000 番ポートが開き、 http://localhost:3000 にアクセスできます。
さて、ちょっといじってみよう。