初めてのRuby!!Passenger(mod_rails)を使ってチュートリアルしてみた
- May 12th, 2008
- Posted in Develop
- Write comment
前回に続き、今度はチュートリアルを作成してみる。
まず、Railsを試すように適当にアカウントを作った。
| # useradd test # passwd test (パスワード入力) |
ついでに、MySQLのアカウントも作っておく。
| # mysql -u root -p (パスワード入力) # GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'password' WITH GRANT OPTION |
testのユーザディレクトリに入って早速作ってみる。
参考にしたのは、以下のチュートリアル。
http://www.onlamp.com/pub/a/onlamp/
2006/12/14/revisiting-ruby-on-rails-revisited.html
(と思ったが、途中でバージョンが違うのか出来なかったので予定変更)
よし、さっそくということで。
| # su – test (パスワード) |
まずは、プロジェクトを作らないといけないらしい。
ということで、以下のコマンドを。
今回、データベースにMySQLを使うので"-d mysql"をつけた。
| # rails -d mysql cookbook |
なんかわらわらといっぱい作成出来たらしい。
ということで、まずはhttpd.confでバーチャルドメインの設定をしてあげる。
| # vim /etc/apache2/conf/httpd.configure (以下を追加) <VirtualHost *:80> ServerAdmin test@xxxx.xxx DocumentRoot /home/test/cookbook/public ServerName test.xxxx.xxx CustomLog logs/test_access_log combined ErrorLog logs/test_error_log <Directory /home/test/cookbook/public> AllowOverride All </Directory> </VirtualHost> |
ということで、次はRailsのデータベースの設定を変更してやる。
| # vim cookbook/config/database.yml (サンプル) development: adapter: mysql encoding: utf8 database: cookbook_development username: dev password: passwd socket: /var/lib/mysql/mysql.sock # Warning: The database defined as 'test' will be erased and production: |
次にデータベースに、先ほど設定した内容を反映させる。
具体的には、MySQL上にデータベースが作成される。
| # cd cookbook # rake db:create:all |
次に、Cookbookのテーブル定義とスクリプトを生成する。
| # ruby script/generate scaffold Cookbook title:string body:text due:datetime |
解説
Cookbook テーブル名
title:string以下 カラム定義
| # rake db:migrate |
以上!!
たった、ちょっとのRailsのコマンドだけでCookbookというテーブルと
それの管理画面が出来てしまった。便利すぎる。
ということで、以下のアドレスにアクセスして確認。
http://test.xxxx.xxx/cookbooks/
と、インターナルエラーがでてしまった。
どうやら、原因は、参照先に該当するテーブルがないらしい。
先ほどのデータベースの設定で、上記のようにアクセスすると
プロダクション側のデータベースを見にいっている。
ということで、面倒だったので以下の様に変更してしまった。
| # vim config/database.yml (以下を変更) production: adapter: mysql encoding: utf8 database: cookbook_development username: dev password: passwd socket: /var/lib/mysql/mysql.soc |
で再度アクセス。
素晴らしい。
Popularity: 4% [?]
No comments yet.