途中までですが、Award of Railsサーバのセットアップメモを載せときます。続きをやったら更新するかも。
emacsとzsh入れる
yum install zsh chsh -s /bin/zsh yum install emacs
.zshrcと.emacsとelispをローカルから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をインストール
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
cd config emacs database.yml # パスワードを書いた
scaffoldで適当に作ってみる
script/generate scaffold person name:string rake db:create rake db:migrate script/server
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からなくなったみたい。
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