おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

CentOSでRailsを動かすまでの手順メモ

途中までですが、Award of Railsサーバのセットアップメモを載せときます。続きをやったら更新するかも。

emacszsh入れる

yum install zsh
chsh -s /bin/zsh
yum install emacs

.zshrcと.emacselispをローカルからscpで転送
emacs起動したらこんなエラー

error: "emacs-rails require CVS version of Emacs (future Emacs 22), and not be running on your Emacs 21.4"

どうもyumでインストールしたemacsはバージョンが古いみたい。めんどいのでとりあえずこの問題は後回しに。(どうせ開発はローカルオンリーだし)

何が入っていて何が足りないのかを調査

railsインストール

gem install rails

Mysql/Rubyをインストール

Mysql/Rubyをダウンロードしてインストール

mkdir src
cd src
curl -O http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.7.6.tar.gz
tar zxvf mysql-ruby-2.7.6.tar.gz
cd mysql-ruby-2.7.6
ruby extconf.rb --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql
make install

railsで一通りできるかのチェック

とりあえずプロジェクトを作る

rails -d mysql test

mysqlのセットアップ忘れてた

mysql_install_db
mysqld_safe --user=mysql &
mysqladmin -u root password xxxxxxxx

railsmysqlのパスワードを書く

cd config
emacs database.yml # パスワードを書いた

scaffoldで適当に作ってみる

script/generate scaffold person name:string
rake db:create
rake db:migrate
script/server

webrickが起動した。mongrel入ってないのね

gem install mongrel

サーバのIPアドレスにアクセスしてもなぜか繋がらない。firewallの設定でもしてあるのかな?

手順書があった。3000番ポートは開けてないみたい。
AoRレンタルサーバでRailsを動かすまで : うぇぶたま

script/server -p 80

繋がってCRUDもできた。

Passengerセットアップ

続いてPassenger。gemでinstall。

gem install passenger
cd /usr/lib/ruby/gems/1.8/gems/passenger-2.0.2/bin
./passenger-install-apache2-module

httpd-develが足りないと言われた(超親切!)のでinstall。

yum install httpd-devel

もう一度やったらなんかいろいろ入った。

./passenger-install-apache2-module

下記を書けと言われたので書いた。あとDocumentRootも書き換えた(とりあえずさっきのtestプロジェクトにした)。

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.2
PassengerRuby /usr/bin/ruby
apachectl start

これでOKかなーと思ってアクセスしたらForbidden。とりあえずlogとpublicのパーミッションをあける

chmod -R 777 log/
chmod -R 777 public/

でもだめ。Passengerのせいかと思ったけど、普通のファイルのアクセスもForbiddenなのでApacheの設定が何かおかしいみたい。(追記:なんか勘違いしてた。普通のファイルのアクセスは出来た)ここで疲れてきたのでひとまず終了。この続きは後日。

おまけ

途中で気づいたんだけど、public/.htaccessがない。どうやらrails2.1.0からなくなったみたい。

The Unbearable Lightness of Marketing : 備忘メモ:rails 2.1.0からpublic/.htaccessがなくなっている件 - livedoor Blog(ブログ)

subversionリポジトリ作成

そういえばリポジトリの作成ってやったことなかったのでこれもメモ

cd /srv
mkdir -p svn/repos
svnadmin create svn/repos
svn import hoge file:///path/to/svn/repos/hoge
rm -r hoge
svn co file:///path/to/svn/repos/hoge ./hoge