GCP Google Cloud PlatformでRailsしてみる

GoogleでRailsできるようなので久しぶりに挑戦してみた。

まずはRailsのおさらい。参考サイトがとても分かりやすかった。

Google App Engine は、最近は Google Cloud Platform 略してGCPというみたいだ。

◆ダウンロード
ここから
http://rubyinstaller.org/downloads/

その1
Ruby 2.3.3 (x64)
rubyinstaller-2.3.3-x64.exe

その2
For use with Ruby 2.0 and above (x64 – 64bits only)
DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

◆コマンド
rubyinstaller-2.3.3-x64.exe の実行 e:\Ruby23-x64

DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe の回答 e:\DevKit

> \DevKit\devkitvars
> gem update –system
> gem install bundler
> gem install rails –version=”4.2.7″ –no-ri –no-rdoc
4.2系の最新を選択した

> cd \
> mkdir work
> rails new foo –skip-bundle
> cd foo
> bundle install
> rails g scaffold user name:string email:string
> rake db:migrate
> rails s
ブラウザから http://localhost:3000/users

登録、一覧表示、変更、削除ができる!

◆参考サイト
Ruby on Rails 4.2 を Windows にインストールする手順をかなり丁寧に説明してみました

レンタルサーバCORESERVERに、Rails2.2.2のインストール

前回のとおり、Rails3.2.11は、どうしても入らないので、CGIに対応しているRails2.2.2をインストールした。

どうやら、昔使っていたXREAやCORESERVERは、仕様変更でfcgi(FastCGI)は使えなくなっているみたいだ。(確証はありません)

結局CGIで動いているので遅いです。Herokuにしとくんだったかな。。。

PREFIX=$HOME
export PATH=$PATH:$HOME/bin:$HOME/lib/ruby/gem/bin
export RUBYLIB=$HOME/lib:$HOME/lib/ruby
export GEM_HOME=$HOME/lib/ruby/gem
source ~/.bashrc

mkdir lib
mkdir lib/ruby

bin は、勝手に作成される。 gem のとき

ruby -v
ruby 1.8.5 (2006-12-04 patchlevel 2) [i686-linux]
	最初から入っているもの

mkdir tmp
cd ~/tmp
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz

tar zxvf rubygems-1.3.5.tgz

cd ~/tmp/rubygems-1.3.5/

ruby setup.rb --prefix=$HOME/lib

gem -v
1.3.5

gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.5 (2006-12-04 patchlevel 2) [i686-linux]
  - INSTALLATION DIRECTORY: /virtual/hogehoge/lib/ruby/gem
  - RUBYGEMS PREFIX: /virtual/hogehoge
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /virtual/hogehoge/lib/ruby/gem/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /virtual/hogehoge/lib/ruby/gem
     - /virtual/hogehoge/.gem/ruby/1.8
     - /usr/local/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/

gem install rake --version 0.8.7

gem install rails -v 2.2.2 --no-ri --no-rdoc

	2.2.2 じゃないと cgiが入らないらしい
	http://d.hatena.ne.jp/takahirox/20090514/1242304711

rails -v
Rails 2.2.2

ここからアプリ作成

cd rails
rails todo


config/environment.rb
# Be sure to restart your server when you modify this file
$LOAD_PATH.push("/virtual/hogehoge/lib")
$LOAD_PATH.push("/virtual/hogehoge/lib/ruby")
ENV['GEM_HOME'] ||= '/virtual/hogehoge/lib/ruby/gem'
ENV['RAILS_RELATIVE_URL_ROOT']="/todo"
ENV['RAILS_ENV'] ||= 'production'

config/database.yml
development:
  adapter: mysql
  encoding: utf8
  database: hogehoge_r2
  username: hogehoge_r2
  hogehoge: "PASSWORD"
  host: localhost


テーブル、アプリ作成
ruby script/generate scaffold task title:string
rake db:migrate

public/dispatch.cgi

1行目の編集
#!/usr/bin/env ruby

.htaccess

Options +FollowSymLinks +ExecCGI
AddHandler cgi-script .cgi
RewriteEngine On
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

シンボリックリンク作成

cd ~/public_html
ln -s ~/rails/todo/public/ todo

rm ~/rails/todo/public/index.html

ここまで

パスをメモ

> echo $PATH
/virtual/hogehoge/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/local/mysql/bin:/usr/local/mysql/libexec:/usr/local/pgsql/bin:/virtual/hogehoge/bin:/virtual/hogehoge/lib/ruby/gem/bin

レンタルサーバCORESERVERに、Rails3.2.11のアプリケーションの作成

前回、Ruby on Railsのインストールはできたので、
今回はアプリケーションの作成です。

mkdir ~/rails
cd ~/rails

rails new hogeapp

データベースmysqlを指定するときは以下の様に

rails new hogeapp -d mysql

◆ファイルの編集

cd blog

vi Gemfile

#以下を最後に追加
gem 'therubyracer'
bundle install --without assets

#実行確認
rails server
(rails s でも同じ)

config/database.yml

development:
  adapter: mysql2   #2が付く
  encoding: utf8
  database: hogeapp_db
  username: hogeapp_db
  password: "12345" #数字のときダブルクォート
  host: localhost
test:, production: も同じ

シンボリックリンクの作成

cd ../public_html/

ln -s ~/blog/public/hogeapp

Railsのアプリケーションは作成できたが、公開ができない。。。

レンタルサーバCORESERVERに、Rails3.2.11のインストール

レンタルサーバをXreaからCORESERVER MINIに乗り換えたので、
Ruby on Railsのインストールを最初から

追記:Railsのアプリケーションは作成できたが、公開ができない。。。
追記:どうやらXREA,CORESERVERでは、動作しないようです。時間の無駄でした。
   ともに、FCGIは禁止になったようです。

coreserverの管理画面から、sshを有効にし、
Tera Term で sshログイン

mkdir lib
mkdir lib/ruby
mkdir lib/ruby/gem
mkdir lib/yaml
mkdir tmp

◆yaml

cd tmp

wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz

tar zxvf yaml-0.1.4.tar.gz

cd yaml-0.1.4

./configure --prefix=$HOME/lib/yaml/
make
make install

◆ruby

cd ~/tmp

wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p362.tar.gz

tar zxvf ruby-1.9.3-p362.tar.gz

cd ruby-1.9.3-p362.tar.gz

./configure -prefix=$HOME/lib/ruby --disable-install-rdoc --with-opt-dir=$HOME/lib/yaml/
make
# Killedの場合、リトライ
make install

◆パス設定

cd ~/
touch .bashrc
echo "export PATH=$HOME/lib/ruby/bin/:$PATH" >> .bashrc
source .bashrc
#バージョン確認
ruby -v
ruby 1.9.3p362 (2012-12-25 revision 38607) [i686-linux]

◆gem

cd ~/tmp

wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz

tar zxvf rubygems-1.8.24.tgz

cd rubygems-1.8.24.tgz

ruby setup.rb --prefix=$HOME/lib/ruby/gem/

#バージョン確認
gem -v
1.8.23

#1.8.24じゃない!?

gem --version
1.8.23
gem update --system
gem --version
1.8.24

gem env #設定が確認できる

◆Rails

cd ~/tmp

gem install rails --include-dependencies
#Killedの場合、リトライ

#バージョン確認
rails -v
Rails 3.2.11

まずは、ここまで。

参考
レンタルサーバでRuby on Railsをインストール【Core Server】

coreserverにredmineインストール、ついでにサブドメインで運用。

_ coreserverでrubyをコンパイル

2011/11/16: 【CORESERVERでRails】1. Ruby

2011/11/16: 【CORESERVERでRails】2. GemとRails