Launch RoR App on HostGator

這幾天試了一下在HostGator上跑RoR,搞了好久總算試成功。我是參考http://forums.hostgator.com/showthread.php?t=13038這篇教學,不過裡面寫的有點亂,所以整理一下以免自己忘記。

前置作業:
1. 首先要先申請SSH Acess

剛註冊好的帳號,並沒有辦法做SSH Access。所以要先Email給他們的Support Team: support@hostgator.com 說你要申請SSH Access服務,信裡要寫你的Account、Domain、信用卡末四碼及掃描或拍照的身份證正反面圖片。身份證圖片要加寫英文翻譯,如圖所示:

2. SSH登入,檢查Ruby和Rails版本

收到他們Support Team回覆以後,用SSH client連線軟體連到你的domain,Port應該是2222。登入了以後打ruby -v及rails -v,看一下版本是不是最新的。Po這篇時,Ruby應該是1.8.6,Rails應該是2.0.2。如果不是最新的,寫信給他們請他們幫你升級Ruby和Rails版本(記得要全寫,不要只寫Ruby,不然可能就只幫你升級Ruby),還有你需要的gem也可以一併要求安裝,如: will_paginate。

Launch RoR App流程:
1. Upload你的local project到Server上

將你的Ruby程式壓縮好丟到使用者根目錄(//home/username/)下,然後進CPanel的file manager解壓縮

2. 執行 ” rails . “

SSH登入,到你解壓好的project name下,打rails . → 覆蓋全部檔案

3. chmod 755 public

這步是最容易被遺忘的一步! 我也是爬文爬了好久才找到有人說要做這個動作,app才有辦法正常work。如果沒做的話,可能會出現這樣的錯誤
Application error
Rails application failed to start properly

4. 修改database.yml、environment.rb、routes.rb,刪除public/index.html

如果要跑production mode,記得加RAILS_ENV = ‘production’到environment.rb裡(舊寫法ENV['RAILS_ENV'] ||= ‘production’已不可用)。

5. 建立Subdomain

進入CPanel → Subdomain,建立一個Subdomain,如: demo.yourdomain.net。系統會自動產生一個demo的資料夾在public_html底下。

6. 建立Symbolic Link指到RoR App的public資料夾

SSH登入,到public_html底下刪除demo資料夾: rm -r demo
然後建立Link: ln -s ../demoruby/public demo

這樣應該就大功告成了~~ ^_^

Tags: ,

Leave a Reply