Railsセットアップ(CentOS on VMWare)
VMWare上でのRailsセットアップをやったので、今のところまでのメモ書きを載せます。
ローカル側はWindowsXP。
サーバがCentOS5.2 on VMWare。
Railsは2.2でした。
Ruby
Ruby-1.8.7をインストール。
今回はデフォルトでいくことに。
/usr/local/bin/rubyができる。
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz tar xvfz ruby-1.8.7-p72.tar.gz cd ruby-1.8.7-p72.tar ./configure make make test sudo make install
OpenSSL
OpenSSLのインストール。
RubyのソースインストールだとOpenSSLは別途インストールが必要な模様。
sudo yum install openssl openssl-devel
cd ruby-1.8.7-p72/ext/openssl/
ruby extconf.rb
make
sudo make install
ちなみに、入れないで作業進めたらWEBRick起動のタイミングでこんなエラーが出た。
script/server => Booting WEBrick... /usr/local/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:259:in `require_frameworks': no such file to load -- openssl (RuntimeError) from /usr/local/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:133:in `process' from /usr/local/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:112:in `send' from /usr/local/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:112:in `run' from /home/qnzm/tmp/demo/config/environment.rb:13
RubyGems
wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz tar xfvz rubygems-1.3.1.tgz cd rubygems-1.3.1 sudo ruby setup.rb
Rails
gemで。
sudo gem install rails
試しにサンプルを作ろうと試みる。
rails demo cd demo script/server => Booting WEBrick... => Rails 2.2.2 application started on http://0.0.0.0:3000 => Ctrl-C to shutdown server; call with --help for options [2009-01-13 16:30:31] INFO WEBrick 1.3.1 [2009-01-13 16:30:31] INFO ruby 1.8.7 (2008-08-11) [i686-linux] [2009-01-13 16:30:31] INFO WEBrick::HTTPServer#start: pid=27131 port=3000
サーバ起動。
アクセスしようとしてもタイムアウトになる。
iptablesサービス止めたら繋がったので、パケット破棄されているのだと判断。
iptablesいじってポート3000を通す
iptablesは下記サイト参考にさせていただいて設定してみる。
とりあえず/etc/sysconfig/iptablesはファイルごと退避しておく。(->iptables.backup)
その後、HTTP(80)、SSH(22)、WEBRick(3000)、それとメール関連、ローカルホスト関連は通して、それ以外の外部インプットを破棄…になることを意図して設定してみる。
su iptables -F iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 3000 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p udp --sport 53 -j ACCEPT iptables -A INPUT -p tcp --sport 25 -j ACCEPT iptables -A INPUT -s 192.168.1.1/16 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT service iptables save
ローカルからVMWareのポート3000にアクセスして、デフォルトページが表示されるところまで確認。
(iptablesの設定が正常動作しているか、細かくは見ていない)
参考にしました
追記(2009/01/21)
「内部から行ったアクセスに対する外部からの返答アクセスを許可」に関するiptable指示を追記。
追記(2009/01/25)
MySQLの設定他を新たにおこないました。(http://d.hatena.ne.jp/qnzm/20090125/1232894044)