インストール

前提条件

今のところは本番環境としてherokuを想定している。

Ruby and railsのインストール

WindowsぺったんR環境において、これまではRailsInstallerを使うのがbest wayだった。しかしながら、近年dev kitに関する資料が増えてきたことによって、自前で環境構築できるようになった。少し遠回りだが、 Rubyのインストールについてもメモを記述しておく。基本は以下のページの手順通りとなる。

http://www.catch.jp/wiki/index.php?windows_rails

  • 下記のサイトのダウンロードページから32ビット版Ruby2.1のRuby Installerをダウンロードしてインストールする。インストール先はデフォルトの\ruby21としておく。この際だから最新のRuby2.2をインストールしたくなるが、こちらの環境ではのこぎりがエラーを吹くので諦める。64bit版はimagemagickであらあら、うふふだったりする。
  • 先程のページからRuby2系統のdev kitをダウンロードして、適当なディレクトリに解凍する。ここでは前行程でインストールされたRubyのディレクトリの下にdevkitディレクトリを作成して放り込むことにする。
  • スタートボタンからRubyのコマンドプロンプトを開く。次のコマンドで環境設定する。
    C:\Users\yas>cd C:\Ruby21\devkit
    C:\Ruby21\devkit>ruby dk.rb init
    C:\Ruby21\devkit>ruby dk.rb install
    
  • SSLに関する作業もやっておいた方が良い。omniauthなどのSSLを利用するをでエラーが出るので。エラーメッセージだけでは原因を突き止めにくいので忘れないように。ダウンロードしたファイルを適当なディレクトリ(ここではRubyをインストールしたディレクトリ)に入れておいて、コマンドプロンプトから下記のコマンドを実行する。
    setx SSL_CERT_FILE "C:\Ruby21\cacert.pem"
    
  • Rubygemsが動くことを確認する。
    C:\Sites>gem update --system
    

Rubyはこれで動く。コマンドプロンプトを開いた後にディレクトリを移動するのが面倒なのでバッチファイル(\ruby21\bin\setbvars.bat)をいじって楽をする。パスなどの環境変数をいじる時も、ここを編集する。

RailsInstallerにこだわるならこちら。

http://railsinstaller.org/

ソースコードの取得

ソースコードの取得はgitを使う。ここではRailsInstallerを使うケースで書く。

RailsInstallerをインストールするとRails用コンソールを開けるようになる。そこからgitも使える。

最初に起動するときにメアドとパスフレーズを聞かれるので、 http://sourceforge.jp/projects/pettanr/cvs/ を参考にしながら

yasushiito@git.sourceforge.jp

のようにメアドにして、さらにパスフレーズも記入。コンソールが開くと、ドバっと暗号が出てくるが、公開鍵のファイル名なんかも含まれてるので目を通しておく。コミッタとしてプロジェクトに参加するなら、この公開鍵をsourceforge.jpに追加しておく。

ssh:
  public_key_location: C:Documents and Settings....

c:sites>git clone yasushiito@git.sourceforge.jp:/gitroot/pettanr/pettanr.git pettanr

でpettanr以下にダウンロードされる。

ユーザとしてダウンロードしたいなら

c:sites>git clone git://git.sourceforge.jp/gitroot/pettanr/pettanr.git pettanr

とする。

稼働前の準備

gemのインストール

c:sites>cd pettanr
c:sitespettanr>bundle install --without production

秘密ファイルの作成

接続アカウントID ・シークレットキーなどの情報を保管するためのファイルconfig/secrets.ymlを作成する。

サンプルファイルがconfig/secrets.yml.orgにあるので、これをconfig/secrets.ymlとしてコピーする。このファイルはgitで管理されないので、やばい情報をリポジトリに交換してしまう心配は無い。

下記はファイルの一例だが、ご覧の通り開発環境用の文字列と本番用の文字列を区別することができ、本番用の文字列は、ファイルを直接書かず、サーバの環境変数から読み取るようになっている。

development:
  secret_key_base: 73e25b428293f3fdf3cdc8cf8dd3a9ee......
  devise_secret: 10abf53bb26d1bfcf4541f72e2e678.........
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
  devise_secret: <%= ENV["DEVISE_SECRET"] %>

ここで使うランダムな文字列はrakeのタスクで生成できる。

C:\Sites\ss>rake secret
73e25b428293f3fdf3cdc8cf8dd3a9ee......

保管庫の作成

保管庫とファイル入出力アダプタの設定をする。まずはサンプルをコピーする。

c:sitespettanr>cp configpicture_io.yml.org configpicture_io.yml

picture_io.ymlを編集する。原画・素材・実素材・システム画像の保存先を指定する。

development:
  adapter: local_picture
  io: LocalPicture
  original_picture: /pic/o/
  resource_picture: /pic/r/
  picture: /pic/p/
  system_picture: /pic/s/

画像の保存パスを作成しておく。

c:sitespettanr>cd pic
c:pic>mkdir o
c:pic>mkdir r
c:pic>mkdir s
c:pic>mkdir p

サイトプロフィールの作成

これから運営するサイトのプロフィールを設定する。まずはサンプルをコピーする。

c:sitespettanr>cp configprofile.json.org configprofile.json

profile.jsonを編集する。サイト管理者のメールアドレス・サイト名・紹介文・素材貸出の受付urlを指定する。なお、紹介文にはp,a,br,imgタグが使える。

{
  "admin@mail.address(サイト管理者のメールアドレス)": {
    "caption": "site name(サイト名)",
    "url": "http://your.site.url/", 
    "description": "site description(紹介文)", 
    "demander_url": "http://your.site.url/demanders(素材貸出の受付url)"
  }
}

データベースの初期化

c:sitespettanr>rake db:migrate 

管理者の作成

管理者を最低一人は用意しないと動かない。

c:sitespettanr>rails r "Admin.start('admin@mail.adr.ess', 'admin_password')" 

もちろんメールアドレスとパスワードは変えること。

ライセンスの作成

ライセンスを最低一つは用意しないと動かない。

HowToInstallLicense

フキダシテンプレートの作成

c:sitespettanr>rails r "SpeechBalloonTemplate.import('filename.json')"

もちろんfilename.jsonは配布されたフキダシテンプレートファイルのファイル名をFullPathで書く。

色マスターの作成

景色カラーをインポートする。

c:sitespettanr>rails r "Color.import('filename.json')"

ファイルはdbディレクトリにある。

起動

c:sitespettanr>rails s
=> Booting WEBrick
=> Rails 3.1.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-01-29 18:54:58] INFO  WEBrick 1.3.1
[2012-01-29 18:54:58] INFO  ruby 1.9.2 (2011-07-09) [i386-mingw32]
[2012-01-29 18:54:58] INFO  WEBrick::HTTPServer#start: pid=3080 port=3000

起動には数分かかるが、これでhttp://localhost:3000/から遊べる

OAuth

HowToSetOmniAuth

サーバが起動しないとき

gemは古くないですか?

開発陣が使っているライブラリを新しいバージョンにあげることがあります。この場合、ユーザー側のライブラリが古くなるので、サーバが起動しないことがあります。この時は次のようにライブラリを最新のものにしてください。

c:sitespettanr>bundle  update

gemが新しすぎるかも?

開発陣が想定しているバージョンよりも新しいバージョンのライブラリをユーザー側が取得してしまうことがあります。この場合、開発陣に発生したエラーログを送るか、開発陣と同じバージョンのライブラリを使うように修正するか、どちらかの対応をすることになります。

gemsのシステムが古くないですか?

c:sitespettanr>gem update --system