ttakeのRuby練習帳

2007-01-25railsアップデート&mongrelインストール

railsアップデートするよ。

# gem update rails
Updating installed gems...
~
Install required dependency activesupport? [Yn]  Y
Install required dependency activerecord? [Yn]  Y
Install required dependency actionpack? [Yn]  Y
Install required dependency actionmailer? [Yn]  Y
Install required dependency actionwebservice? [Yn]  Y
~
Successfully installed rails-1.2.1
~
Gems: [rails] updated

d:id:takahashimさんが、いまはApache+mongrelですよ!って言ってた。

# gems install mongrel install mongrel --include-dependencies
Need to update 1 gems from http://gems.rubyforge.org
.
complete
Select which gem to install for your platform (i686-linux)
 1. mongrel 1.0.1 (ruby)
 2. mongrel 1.0.1 (mswin32)
~
 47. Cancel installation
> 1
Select which gem to install for your platform (i686-linux)
 1. fastthread 0.6.2 (mswin32)
 2. fastthread 0.6.2 (ruby)
 3. Cancel installation
> 2
~
Successfully installed mongrel-1.0.1
~

うごかしてみる。

$ mongrel_rails start

うほっ、すごい簡単(感嘆

トラックバック - http://rubyist.g.hatena.ne.jp/ttake/20070125

2007-01-21

railsをmod_proxyとVirtualHostで美味しく頂く

railsアプリWEBrickで動かすとき、

http://example.com:3000/じゃなくて、http://rails.example.com/アクセスしたい。

環境

claraのVPS(demi)

方法

たぶんmod_proxyじゃないかな?

やってみる

まず、mod_proxyのドキュメントをよむ。

http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html

できればapacheの再コンパイルは避けたいので、動的にincludeしたいよ。

$ ./apachectl -l

Compiled in modules:

core.c

prefork.c

http_core.c

mod_so.c

mod_so.cを読んでるからLoadModuleできるね。

確認したらphpモジュールとかも/etc/httpd/conf.d/hogehoge.confで読んでるみたいだ。

httpd.confに書いてもいいけど、ここでは/etc/httpd/conf.d/proxy.confに書いてみる。

はじめようRubyonRailsで作ったSchedulerがあるからこれで試そう。

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyPass /schedules http://localhost:3000/schedules

ProxyPassReverse /schedules http://localhost:3000/schedules

これで、http://example.com/schedulesでスケジューラにアクセスできた。

でもこれだとcssやimageが取得できないみたい。

かといってProxyPass / http://localhost:3000/じゃ全部WEBrickにいってしまう。

もう一度、apacheドキュメントに戻ってと。

そうか、バーチャルホストでできるのか。

http://httpd.apache.org/docs/2.2/ja/vhosts/examples.html#proxy

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

NameVirtualHost *:80

<VirtualHost *:80>

ServerName rails.example.com

ProxyRequests Off

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyPass / http://localhost:3000/

ProxyPassReverse / http://localhost:3000/

</VirtualHost>

よし、これでhttp://rails.example.com/WEBrickアクセスできる。

外部からは3000番ポートアクセスできないように、

$ ruby script/server --binding=127.0.0.1

WEBrickを起動するね。

トラックバック - http://rubyist.g.hatena.ne.jp/ttake/20070121

2007-01-08PostgreSQL 8.2.1 install

参照>PostgreSQL 8.0/8.1のインストール

http://bitarts.jp/tech/linux/postgresql80.html

$ wget ftp://ftp.jp.postgresql.org/source/v8.2.1/postgresql-8.2.1.tar.gz

$ tar xvfz postgresql-8.2.1.tar.gz

$ cd postgresql-8.2.1

$ ./configure

$ make all

$ su

# make install

# /usr/sbin/adduser postgres

# mkdir /usr/local/pgsql/data

# chown postgres:postgres /usr/local/pgsql/data

# su - postgres

[postgres]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

[postgres]$ vi ~postgres/.bash_profile

[postgres]$ source ~postgres/.bash_profile

[postgres]$ pg_ctl start

ここから『はじめようRubyonRails』

[postgres]$ createuser rails

Shall the new role be a superuser? (y/n) n

Shall the new role be allowed to create databases? (y/n) y

Shall the new role be allowed to create more new roles? (y/n) n

CREATE ROLE

[postgres]$ createdb -U rails -E utf8 scheduler_development

CREATE DATABASE

[postgres]$ createdb -U rails -E utf8 scheduler_test

CREATE DATABASE

[postgres]$ createdb -U rails -E utf8 scheduler_production

CREATE DATABASE

アダプタ忘れてた

$ rake db:migrate

rake aborted!

no such file to load -- postgres

(See full trace by running task with --trace)

# gem install postgres-pr

$ /usr/local/pgsql/bin/psql -U rails scheduler_development

トラックバック - http://rubyist.g.hatena.ne.jp/ttake/20070108

2006-12-18

$ mysql -u root -p

$ cd $HOME

$ su

# vi .vimrc

syntax on

set nobackup

set fileencoding=utf-8

set fileencodings=iso-2022-jp,euc-jp,utf-8,ucs2le,ucs-2,cp932

トラックバック - http://rubyist.g.hatena.ne.jp/ttake/20061218

2006-12-16putty de ssh

試用期間なので、また設定するかもしれない。

logは残して損はなさそう。

$ cd $HOME

$ su

# mkdir .ssh

# chmod 744 .ssh

# vi .ssh/authorized_keys

(コピ貼)

#chmod 644 .ssh/authorized_keys

このへんは非常に適当。

トラックバック - http://rubyist.g.hatena.ne.jp/ttake/20061216