Total Pageviews

Wednesday, 31 October 2012

在免费的云空间Heroku上,搭建wp博客的教程

Heroku目前是基于Amazon的EC2云计算平台,支持的语言包括Ruby/Rails,Java, Node.js, Scala, Clojure 以及 Python,好像也支持PHP。Heroku已经从最初Ruby/Rails的单一语言,发展成为多语言平台。不过Heroku一直以来都提供免费云服 务。
Heroku最早在2007年产品上线并且开始提供服务,当时提供的服务定位与现在非常不同,是第一个(Pass)服务的云计算平台。你可以发现当时 Heroku的产品诉求为提供一个可以让程式设计师直接在网页介面中撰写Rails程式的平台(云端Coding),然而当时使用的印象并不十分良好,绑 手绑脚的开发环境,实际上一个复杂的Web application大概很难在那样的环境达成;如果不用Heroku提供的开发环境,只是单纯使用Hosting的话,实际上也不是挺好用。也因此, 在这个阶段,Heroku对于许多使用Ruby/Rails的应用程式开发者来说,就是一个免费的主机环境。
Heroku 简介与帐号申请
安装与设定Ruby 和Git
WordPress(以下简称WP)config 问题
Git push 上载WP 资料夹到Heroku
另外要说一下,第一个想到可以用Heroku来host WordPress的应该是这位神(依照发表时间推断,虽然之后大部分的教学都是英文的)。他架的示范站在这。里面也有解说,但是因为这位大神已经习惯使 用Ruby和RoR,所以对于一些刚接触Ruby(像废柴某舒这种)、没有安装过Ruby 、RoR和Git的人来说,会遇到一点困难。因此虽然中英文都有介绍如何用Heroku架站的文章,这边某舒还是把笔记作一下。 另外在GitHub上有一个WP架设专用的file,可以直接clone到Heroku上。有兴趣的人可以直接参考GitHub上的安装步骤,在那之前还 是得先完成这篇所提到的第一、二步。
第一部分:Heroku 简介与帐号申请:http://www.heroku.com/
诚如开头所说,Heroku 简单来说就是一个云端介面,像所有架网站时需要网路空间一样,在开发好网路应用元件(application,简称APP)后,需要一个平台让使用者可以 使用开发者写出的程式,只是跟架网站不太一样的地方是,通常这些APP 是用Ruby/C语言/Java 写的,而开发者也习惯使用Git 或是其他软体来compile 及除错(以上是印象中的程序,某舒没有写过app 所以也不知道详细细节,但是基本上这些开发者习惯的介面跟写网页和设计网站是不一样的)。
免费版:流量:不限制  可以绑定域名
1.1.注册很简单,进入Heroku首页http://www.heroku.com/点击右下角的sigh up注册,填入邮箱其他什么都不用。
接下来会显示验证邮件已经寄出,准备去收信吧。


2.到邮箱中收取验证邮件,点击里面的确认链接。点击链接后,会进入Heroku 输入密码的页面,请填入您想注册的密码两次。


3.注册成功后进入Dev Center。首先下载安装Heroku工具Heroku Toolbelt点击进入下载页面https://toolbelt.heroku.com/,根据你的系统进行选择。Heroku Toolbelt包括一个命令行客户端,用于创建和管理应用;一个在本地运行应用的工具Foreman;还有上传代码的Git。

帐号是免费的,一开始他也提供你免费5MB 的共享资料库(shared database)和750 小时的dyno。就单一一个WP 网站来说是够的,除非你的网页非常热门或是内容很多,database 一直被query 不然应该是足够。
申请以后在使用者介面会出现你现在所有的APP list。在创建WP之前,建议你先把网站名称在My APP下改过来,因为用Git上传和建立APP ,Heroku会用随机代码当做你的APP连结位址,也就是预设的网址会是:http: //Heroku主机名称+乱码.heroku.com。(可以看一下示范站的网址,就知道我说的是什么了)既然是要作为个人网站,又不想要转址,当然名 称越容易记越好,先把名称改过来,安装完成后就不用再修改网页名称以及逐一修改WP内部连结(这是会死人的!)。
修改站名的介面。
Heroku上有根据各种APP开发常用的平台而写的使用说明,目前他是脸书公开建议使用的云端APP host。可以直接用站内搜寻寻找你想找的问题。另外在这里也有一些练习可以参考。
第二部分:安装与设定Ruby 和Git
这部分真心是我花最多时间搞懂的(除根本搞不懂的Heroku概念外<喂)。我之前完全没有用过Ruby  和Git,架站以后也只是模模糊糊知道Ruby on Rails是满多人在使用的APP开发介面,而Git算是管理和上载APP的软体。根据Wiki,Ruby on Rails是一个以Ruby这种程式语言为基础而建立的结构,要使用它需要先安装Ruby。
这个连结可以连到Ruby中文官网的下载页面。下载和安装应该不会遇到什么问题。Ruby on Rails使用gems来称呼每个package,也就是已经写好,可以直接安装在Ruby资料夹下然后使用的程式码。Ruby on Rails网站上可以下载Ruby Gems  ,这也是一定要安装的,不然使用Ruby command panel会不能连线到Heroku的server(为了这个错误搞了一星期的某舒再次提醒)。此外,安装了Ruby Gem,就可以直接用gem这个指令来安装heroku gem了。
Ruby的command介面对linux系统比较亲切,为了避免路径输入的麻烦,我把Ruby直接安装在C:下面。Heroku官网上建议使用 Ruby 1.9.2以上版本,如果已经安装过Ruby ,也有安装Ruby Version Manager的捧由,麻烦在command panel输入以下字串,更新一下Ruby:
  rvm install 1.9.2 && rvm use 1.9.2 –default

接下来是安装Git。下载以后很容易安装,另外也有给Mac OS和Linux使用的版本。安装了Git之后,需要安装heroku gem。指令如下:
$ gem install heroku
根据官网,heroku gem 常常更新,所以建议大家要用之前记得先检查更新一下:
$ gem update heroku
之后请记得要把heroku 的credential 储存在自己的电脑上,指令如下:
$ heroku keys:add
这样以后要登入会简单许多。输入上述指令以后,会出现以下的确认讯息(红字是需要输入的部分):
Enter your Heroku credentials.
Email: 你注册的email帐号
Password: Heroku上的密码,不会显示出来
Uploading ssh public key /Users/电脑上的帐户名称/.ssh/id_rsa.pub
Git本身又是另一个软体,他有自己的commend line,这里是tutorial,因为我也只用了上传档案需要用的Git commend,所以这边就不多介绍,能用就好。
1. 检查你Heroku 帐户下已经建立的APP:在commend window 里要先开启你放wordpress 的那个资料夹,然后在那个资料夹下输入以下指令。
$ cd 你的资料夹路径
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m “new app”
Created initial commit 5df2d09: new app
44 files changed, 8393 insertions(+), 0 deletions (-)
2. 建立SSH key:开启你的Git Bash(开始→Git→Git Bash),输入以下指令。
$ cd ~/.ssh
检查有没有SSH keys。如果出现“No such file or directory“ 的提示,就需要建立一个新的key。请回到上面Heroku 设定的地方储存下你的SSH key 序号,或是用以下的指令新建一个。
$ ssh-keygen -t rsa -C “申请Heroku 帐户所使用的email”
之后它会请你输入密码(passphrase),然后就建立完成了。 如果你已经将Heroku专用的SSH key存在电脑里,就可以直接选用。如果你不确定这个key是不是你要的,那就用以下指令将旧的key存起来,然后建立一个新的:
$ lsLists all the subdirectories in the current directory
config id_rsa id_rsa.pub known_hosts
$ mkdir key_backupmakes a subdirectory called “key_backup” in the current directory
$ cp id_rsa* key_backupCopies the id_rsa and id_rsa.pub files into key_backup
$ rm id_rsa*
3.申请一个GitHub帐号,把这个key存在GitHub上,以供往后登入使用。在GitHub网站上点选“Account Settings” > “SSH Public Keys” > “Add another public key”,然后把/Users/电脑上的帐户名称/.ssh/id_rsa.pub这个档案用记事本或是其他编成软体打开,将内容复制贴上,然后点Add Key 。 4.测试一下,用以下指令试试看可不可以连到GitHub。
$ ssh -T git@github.com
中间会需要你确认,输入yes 就可以了。成功的话会出现以下资讯:
Hi 帐户名称 ! You’ve successfully authenticated, but GitHub does not provide shell acess.
5.设定GitHub token。回到GitHub的网站,选择“Account Settings” > “Account Admin.”里面有一栏叫做API token的字串,复制以后在以下指令中贴上(或是手动输入)。
$ git config –global github.user 帐户名称
$ git config –global github.token 你的API token字串
以上步骤对等等要直接复制GitHub的WP档案到自己的Heroku帐户下很重要,没有这些设定是不能用cloning的方式安装WP的。 接下来终于可以开始安装了! 在Ruby的command window或是Git Bash依序输入以下指令来新增一个新的Heroku App。
$ heroku create
Enter your Heroku credentials.
Email: Heroku email帐号
Password: 密码
Uploading ssh public key /Users/ 电脑使用者名称 /.ssh/id_rsa.pub
Created http:// HEROKU伺服器和编码 .heroku.com/ | git@heroku.com: HEROKU伺服器和编码 .git
Git remote heroku added
如果你之前已经把API Token 存好,就不需要再认证一次,可以继续下面的步骤。HEROKU伺服器和编码这一项就是先前提到需要再APP list 里面修改的部分。预先修改可以省下之后修改WP 内部连结的时间。
$ heroku open
这个指令会自动在浏览器里打开你新建的Heroku APP主页。 到这边,Heroku上已经有一个空间准备好可以放你的WP程式了。
第三部分:Wordpress Config 问题
在上传WP 到Heroku 上之前,需要修改wp-config.php 这个档案,档案应该是在WP 打开的第一层资料夹内,有一个是wp-config-sample.php。需要把这个档案里面一些参数做调整。这些参数可以用下面的指令取得:
$ heroku config
> DATABASE_URL => postgres:// 共享资料库的使用者名称 : 资料库密码 @ 伺服器名称 / 资料库名称
> SHARED_DATABASE_URL => postgres://username:password@host/database_name
heroku config会传回资料库的位址,并且以上面的格式呈现,也就是,在冒号前是你的共享资料库内的使用者名称,冒号到@符号前是密码,”host/”之后是 资料库的名称。这些参数都是乱码,所以抄的时候要抄对。接着把这些资讯贴到wp-config.php相对应的参数里。
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘ 资料库名称 ‘); /** Database username */ define(‘DB_USER’, ‘ 共享资料库的使用者名称 ‘); / ** Database password */ define(‘DB_PASSWORD’, ‘ 资料库密码 ‘); /** Database hostname */ define(‘DB_HOST’, ‘ 伺服器名称 ‘);
这些步骤在一般ftp安装WP中是可以自动执行的,但是因为Heroku用的database不是WP预设的MySQL,而是 PostgreSQL,所以需要手动重设。此外,也需要预先安装可以读取PostgreSQL的plug-in(PG4WP)在wp-content资料 夹下。 除了 这个,如果有其他plug-in或theme想要安装,也建议一次把所有组件都放到wordpress的资料夹里,因为Git push不比FTP,每次要上传都要commit一次,而且连线也满麻烦,如果先把所有要上传的东西都放到资料夹里一次上传,就会方便许多。
第四部分:Git push 上载WP 资料夹到Heroku
剩下的步骤就简单多了,只有一两行指令就完成了。
$ git commit -m “wordpress”
这一步是将其中一个版本的WP 档案标示为正式版本,并且标注它为要上传使用的版本。在Git 的Repository 里面,程式会自动储存每次修改的版本,也就是每次用Git 修改APP 时,程式都会自动复制一次你的原始码,供你修改。但是只有commit 过的才会被保存下来,下次你开启档案时就是开启commit 过的版本。这边必须要commit 过你的整个WP 资料夹,才能接着下面push 的动作。
$ git push heroku master
最后一行指令!如果成功会出现下面的讯息:
Counting objects: 65, done.
Compressing objects: 100% (58/58), done.
Writing objects: 100% (65/65), 80.54 KiB, done.
Total 65 (delta 14), reused 0 (delta 0) – —-> Heroku receiving push —–> Rails app detected Compiled slug size is 0.1MB —–> Launching……. done App deployed to Heroku To git@heroku.com:你的伺服器名称.git * [new branch] master -> master
这样就大功告成了! 步骤很繁杂,但是除了第一、二步设定上需要花多一点时间,WP的设定其实有已经设定好的模板可以从GitHub上复制到Heroku上.

演示站点-
 WP:http://mmdp.herokuapp.com
DZ:http://mmlove.herokuapp.com
美女图片站:http://girl.herokuapp.com
这东西有自带MYSQL数据库,为5M,其它或外链数据库MYSQL数据库为10M,PGSQL为56M,另一个大大的数据库,不会玩,为1G。WEB空间就是200M。另外,还可以发手机短信(看网上有介绍,没搞出来。)

-----------------------------------------------------------------------------

Using Octopress With Heroku


If you don’t already have a Heroku account, create one, it’s free. Then install the Heroku gem.

Basic Octopress setup

First make sure you’ve installed the Heroku gem






1
gem install heroku 

Next create a heroku app for deployment. If this is your first time using Heroku, this command will ask for your account credentials, and automatically upload your public SSH key. If you don’t already have a public key follow Github’s guide and create one.






1
heroku create 

This will create a new Heroku app for you to deploy to and add a git remote named ‘heroku’.






1
2
# Set heroku to be the default remote for push/fetch 
 git config branch.master.remote heroku 

Edit the .gitignore in the root of your repository and remove public. This will let you add generated content for deploying it to Heroku.






1
2
3
4
rake generate 
git add . 
git commit -m 'site updated' 
git push heroku master 

That’s it, you just deployed to Heroku. If you want to set up a custom domain check out the docs at Heroku.
--------------------------------------------------
Heroku.com免费无限流量 无限容量云平台使用教程

 

Heroku不支持PHP,数据库只有大小5MB。只支持Ruby, Node.js, Clojure, Java, Python, and Scala,创建项目和管理项目都需要安装Heroku Toolbelt工具,操作的难度都比较高,英文网站界面,不能绑定域名,空间没有广告

    官方网站:http://www.heroku.com

Heroku Toolbelt是一个用来创建和管理Heroku空间项目的工具,将下文中要说到了应用都全部打包在其中了:

启动cmd.exe然后输入:heroku login,再输入你的邮箱和密码登录进去。

    将你下载的Heroku Toolbelt压缩包的War文件放在你的硬盘中一个新建的文件夹中。

用CD的命令进入到这个文件夹中,然后执行以下命令。

    heroku plugins:install https://github.com/heroku/heroku-deploy

再执行新建应用的命令,新生成的Heroku二级域名的地址需要记下来。

    heroku apps:create

再执行以下命令将War文件上传到Heroku空间当中。注意:zzsa.war是那个文件名,后面的是得到的二级域名地址,你需要换成你自己的。

    heroku deploy:war --war ./zzsa.war --app peaceful-mountain-8384.herokuapp.com
--------------------------------------------------------

用 Heroku 架設 WordPress 網站


算是陰錯陽差下學到怎麼用 Heroku 架設網站。Heroku 是一個提供雲端 APP 管理的公司,看了半天還是沒看懂他們的賣點在哪(掩面),不過他們自己創了一個叫做 dyno 的單位,來計算使用者 APP 的流量。網站設計真心漂亮,有日式和風又有科技感,愛死了都(重點錯)。
於是繼續每篇的內容摘要:
  1. Heroku 簡介與帳號申請
  2. 安裝與設定 Ruby 和 Git
  3. WordPress(以下簡稱 WP)config 問題
  4. Git push 上載 WP 資料夾到 Heroku
另外要說一下,第一個想到可以用 Heroku 來 host WordPress 的應該是這位神(依照發表時間推斷,雖然之後大部分的教學都是英文的)。他架的示範站在這。 裡面也有解說,但是因為這位大神已經習慣使用 Ruby 和 RoR,所以對於一些剛接觸 Ruby(像廢柴某舒這種)、沒有安裝過 Ruby 、RoR 和 Git 的人來說,會遇到一點困難。因此雖然中英文都有介紹如何用 Heroku 架站的文章,這邊某舒還是把筆記作一下。 另外在 GitHub 上有一個 WP 架設專用的 file,可以直接 clone 到 Heroku 上。有興趣的人可以直接參考 GitHub 上的安裝步驟,在那之前還是得先完成這篇所提到的第一、二步。另外中文版可以參考本站另一篇文章

第一部分:Heroku 簡介與帳號申請

誠如開頭所說,Heroku 簡單來說就是一個雲端介面,像所有架網站時需要網路空間一樣,在開發好網路應用元件(application,簡稱 APP)後,需要一個平台讓使用者可以使用開發者寫出的程式,只是跟架網站不太一樣的地方是,通常這些 APP 是用 Ruby/C語言/Java 寫的,而開發者也習慣使用 Git 或是其他軟體來 compile 及除錯(以上是印象中的程序,某舒沒有寫過 app 所以也不知道詳細細節,但是基本上這些開發者習慣的介面跟寫網頁和設計網站是不一樣的)。
點開可以看大圖。
1. 按 login 可以申請帳號。只有英文介面就是了。
2. 這就是他們用的單位,用這個計算你會使用多少計算資源和流量。
3. 可以移動滑桿來看你大概需要付多少錢來支援你的 app。
要申請 Heroku 帳號,只要有可用的 email 帳號就可以了。帳號是免費的,一開始他也提供你免費 5MB 的共享資料庫(shared database)和 750 小時的 dyno。就單一一個 WP 網站來說是夠的,除非你的網頁非常熱門或是內容很多,database 一直被 query 不然應該是足夠。
申請以後在使用者介面會出現你現在所有的 APP list。在創建 WP 之前,建議你先把網站名稱在 My APP 下改過來,因為用 Git 上傳和建立 APP ,Heroku 會用隨機代碼當做你的 APP 連結位址,也就是預設的網址會是:http://Heroku 主機名稱+亂碼.heroku.com。(可以看一下示範站的網址,就知道我說的是什麼了)既然是要作為個人網站,又不想要轉址,當然名稱越容易記越好,先把名稱改過來,安裝完成後就不用再修改網頁名稱以及逐一修改 WP 內部連結(這是會死人的!)。
修改站名的介面。
Heroku 上有根據各種 APP 開發常用的平台而寫的使用說明,目前他是臉書公開建議使用的雲端 APP host。可以直接用站內搜尋尋找你想找的問題。另外在這裡也有一些練習可以參考。

第二部分:安裝與設定 Ruby 和 Git

這部分真心是我花最多時間搞懂的(除根本搞不懂的 Heroku 概念外<喂)。我之前完全沒有用過 Ruby 和 Git,架站以後也只是模模糊糊知道 Ruby on Rails 是滿多人在使用的 APP 開發介面,而 Git 算是管理和上載 APP 的軟體。根據 Wiki ,Ruby on Rails 是一個以 Ruby 這種程式語言為基礎而建立的結構,要使用它需要先安裝 Ruby。
這個連結可以連到 Ruby 中文官網的下載頁面。下載和安裝應該不會遇到什麼問題。Ruby on Rails 使用 gems 來稱呼每個 package,也就是已經寫好,可以直接安裝在 Ruby 資料夾下然後使用的程式碼。Ruby on Rails 網站上可以下載 Ruby Gems ,這也是一定要安裝的,不然使用 Ruby command panel 會不能連線到 Heroku 的 server(為了這個錯誤搞了一星期的某舒再次提醒)。此外,安裝了 Ruby Gem,就可以直接用 gem 這個指令來安裝 heroku gem 了。
Ruby 的 command 介面對 linux 系統比較親切,為了避免路徑輸入的麻煩,我把 Ruby 直接安裝在 C:\ 下面。Heroku 官網上建議使用 Ruby 1.9.2 以上版本,如果已經安裝過 Ruby ,也有安裝 Ruby Version Manager 的捧由,麻煩在 command panel 輸入以下字串,更新一下 Ruby:
rvm install 1.9.2 && rvm use 1.9.2 –default
接下來是安裝 Git 。下載以後很容易安裝,另外也有給 Mac OSLinux 使用的版本。安裝了Git 之後,需要安裝 heroku gem。指令如下:
$ gem install heroku
根據官網,heroku gem 常常更新,所以建議大家要用之前記得先檢查更新一下:
$ gem update heroku
之後請記得要把 heroku 的 credential 儲存在自己的電腦上,指令如下:
$ heroku keys:add
這樣以後要登入會簡單許多。輸入上述指令以後,會出現以下的確認訊息(紅字是需要輸入的部分):
Enter your Heroku credentials.
Email: 你註冊的 email 帳號
Password: Heroku 上的密碼,不會顯示出來
Uploading ssh public key /Users/電腦上的帳戶名稱/.ssh/id_rsa.pub
Git 本身又是另一個軟體,他有自己的 commend line,這裡是 tutorial,因為我也只用了上傳檔案需要用的 Git commend,所以這邊就不多介紹,能用就好。
Enter your Heroku credentials.
Email: 你註冊的 email 帳號
Password: Heroku 上的密碼,不會顯示出來
Uploading ssh public key /Users/電腦上的帳戶名稱/.ssh/id_rsa.pub
1. 檢查你 Heroku 帳戶下已經建立的 APP:在 commend window 裡要先開啟你放 wordpress 的那個資料夾,然後在那個資料夾下輸入以下指令。
$ cd 你的資料夾路徑
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m “new app”
Created initial commit 5df2d09: new app
44 files changed, 8393 insertions(+), 0 deletions(-)
2. 建立 SSH key:開啟你的 Git Bash(開始→Git→Git Bash),輸入以下指令。
$ cd ~/.ssh
檢查有沒有 SSH keys。如果出現 “No such file or directory“ 的提示,就需要建立一個新的 key。請回到上面 Heroku 設定的地方儲存下你的 SSH key 序號,或是用以下的指令新建一個。
$ ssh-keygen -t rsa -C “申請 Heroku 帳戶所使用的 email”
之後它會請你輸入密碼(passphrase),然後就建立完成了。
如果你已經將 Heroku 專用的 SSH key 存在電腦裡,就可以直接選用。如果你不確定這個 key 是不是你要的,那就用以下指令將舊的 key 存起來,然後建立一個新的:
$ lsLists all the subdirectories in the current directory
config id_rsa id_rsa.pub known_hosts
$ mkdir key_backupmakes a subdirectory called “key_backup” in the current directory
$ cp id_rsa* key_backupCopies the id_rsa and id_rsa.pub files into key_backup
$ rm id_rsa*
3. 申請一個 GitHub 帳號,把這個 key 存在 GitHub 上,以供往後登入使用。在 GitHub 網站上點選 “Account Settings” > “SSH Public Keys” > “Add another public key”,然後把 /Users/電腦上的帳戶名稱/.ssh/id_rsa.pub 這個檔案用記事本或是其他編成軟體打開,將內容複製貼上,然後點 Add Key 。
4. 測試一下,用以下指令試試看可不可以連到 GitHub。
$ ssh -T git@github.com
中間會需要你確認,輸入 yes 就可以了。成功的話會出現以下資訊:
Hi 帳戶名稱! You’ve successfully authenticated, but GitHub does not provide shell acess.
5. 設定 GitHub token。回到 GitHub 的網站,選擇 “Account Settings” > “Account Admin.” 裡面有一欄叫做 API token 的字串,複製以後在以下指令中貼上(或是手動輸入)。
$ git config –global github.user 帳戶名稱
$ git config –global github.token 你的 API token 字串
以上步驟對等等要直接複製 GitHub 的 WP 檔案到自己的 Heroku 帳戶下很重要,沒有這些設定是不能用 cloning 的方式安裝 WP 的。
接下來終於可以開始安裝了!
在 Ruby 的 command window 或是 Git Bash 依序輸入以下指令來新增一個新的 Heroku App。
$ heroku create
Enter your Heroku credentials.
Email: Heroku email 帳號
Password: 密碼
Uploading ssh public key /Users/電腦使用者名稱/.ssh/id_rsa.pub
Created http://HEROKU伺服器和編碼.heroku.com/ | git@heroku.com:HEROKU伺服器和編碼.git
Git remote heroku added
如果你之前已經把 API Token 存好,就不需要再認證一次,可以繼續下面的步驟。HEROKU伺服器和編碼這一項就是先前提到需要再 APP list 裡面修改的部分。預先修改可以省下之後修改 WP 內部連結的時間。
$ heroku open
這個指令會自動在瀏覽器裡打開你新建的 Heroku APP 主頁。
到這邊,Heroku 上已經有一個空間準備好可以放你的 WP 程式了。

第三部分:Wordpress Config 問題

在上傳 WP 到 Heroku 上之前,需要修改 wp-config.php 這個檔案,檔案應該是在 WP 打開的第一層資料夾內,有一個是 wp-config-sample.php。需要把這個檔案裡面一些參數做調整。這些參數可以用下面的指令取得:
$ heroku config
> DATABASE_URL => postgres://共享資料庫的使用者名稱:資料庫密碼@伺服器名稱/資料庫名稱
> SHARED_DATABASE_URL => postgres://username:password@host/database_name
heroku config 會傳回資料庫的位址,並且以上面的格式呈現,也就是,在冒號前是你的共享資料庫內的使用者名稱,冒號到@符號前是密碼,“host/”之後是資料庫的名稱。這些參數都是亂碼,所以抄的時候要抄對。接著把這些資訊貼到 wp-config.php 相對應的參數裡。
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘資料庫名稱’); /** Database username */
define(‘DB_USER’, ‘共享資料庫的使用者名稱’);
/** Database password */
define(‘DB_PASSWORD’, ‘資料庫密碼’);
/** Database hostname */
define(‘DB_HOST’, ‘伺服器名稱’);
這些步驟在一般 ftp 安裝 WP 中是可以自動執行的,但是因為 Heroku 用的 database 不是 WP 預設的 MySQL,而是 PostgreSQL,所以需要手動重設。此外,也需要預先安裝可以讀取 PostgreSQL 的 plug-in(PG4WP)在 wp-content 資料夾下。
除了這個,如果有其他 plug-in 或 theme 想要安裝,也建議一次把所有組件都放到 wordpress 的資料夾裡,因為 Git push 不比 FTP,每次要上傳都要 commit 一次,而且連線也滿麻煩,如果先把所有要上傳的東西都放到資料夾裡一次上傳,就會方便許多。

第四部分:Git push 上載 WP 資料夾到 Heroku

剩下的步驟就簡單多了,只有一兩行指令就完成了。
$ git commit -m “zomg wordpress”
這一步是將其中一個版本的 WP 檔案標示為正式版本,並且標注它為要上傳使用的版本。在 Git 的 Repository 裡面,程式會自動儲存每次修改的版本,也就是每次用 Git 修改 APP 時,程式都會自動複製一次你的原始碼,供你修改。但是只有 commit 過的才會被保存下來,下次你開啟檔案時就是開啟 commit 過的版本。這邊必須要 commit 過你的整個 WP 資料夾,才能接著下面 push 的動作。
$ git push heroku master
最後一行指令!如果成功會出現下面的訊息:
Counting objects: 65, done.
Compressing objects: 100% (58/58), done.
Writing objects: 100% (65/65), 80.54 KiB, done.
Total 65 (delta 14), reused 0 (delta 0) —–> Heroku receiving push
—–> Rails app detected
Compiled slug size is 0.1MB
—–> Launching……. done
App deployed to Heroku
To git@heroku.com:你的伺服器名稱.git
* [new branch] master -> master
這樣就大功告成了!
步驟很繁雜,但是除了第一、二步設定上需要花多一點時間,WP 的設定其實有已經設定好的模板可以從 GitHub 上複製到 Heroku 上。中文版可參考本站另一篇文章。英文版則在這裡
来源:yapeshu.invenio.us/2011/10/web-heroku-wordpress.html
===========
如何使用heroku绑定独立域名而不被墙

0.准备

具备独立域名:例如rubytoy.info
搭好heroku应用:如ruby-toy.heroku.com

1.在Heroku绑定域名

https://addons.heroku.com/custom_domains
选择免费版本,跳转到选择应用界面,选择你要安装的应用,点select就装上了.
custom domains
https://addons.heroku.com/zerigo_dns,同Custom domains的操作
zerigo_dns

2.使用DNSPod做域名解析

到DNSPod注册一个账号. 它有一个很傻瓜化的导航操作,一步一步安装操作就ok了:
1.填写域名(这里随便举一个)
step1
2.添加记录,可以继续添加子域名
step2
3.选择单IP,主线填proxy.heroku.com,这步很重要.
step3
4.邮件系统选择,这里略过
step4
5.点确定生成
step5
6.提示到godaddy修改配置
step6

3.Godaddy配置

Godday.com->My Account -> 域名列表 -> Nameservers -> Set Nameserver 填上DNSPod提供的地址
godaddy setting
回DNSPod检查,还没生效就会提示:
error
生效会是这样子的:
ok
等个把小时应该就OK了.然后独立域名就能绕过GFW了,因为DNSPod把rubytoy.info和www.rubytoy.info往proxy.heroku.com这条线走,而目前这个地址没被墙.
-------------------------------------------------------------------------------------------
 免費在 heroku 上裝 wordpress

搜尋一下 wp 是否支援 PostgreSQL 於是找到了這個特殊 plugin,我就覺得呵呵,大概8成可裝了…
把 wp 原始碼載下來,並且把剛剛的 PG4WP 也載好,按照裡面的說明放到 wp-content 裡面… 等動作
接著 git 打包一下,開一下 heroku app heroku create --stack cedar 然後 push 上去,好像程式碼就全部搞定了阿… 佈署也太快,就差跟 db 連線了!

設定 db

這裡是設定 db 試誤的經過,如果你不想看請直接跳到最後 正確設定 db 的方法
查了一下,heroku 要進 console 才能看到 db 各種設定,但是…
$ heroku console
!   For Cedar apps, use: `heroku run console`
竟然不吃,叫我改打 heroku run console
$ heroku run console
Running console attached to terminal... up, run.1
sh: console: not found
照著打之後竟然跟我說 not found 啦,快瘋了… 不支援早說阿~ xdite 就突然出現在 RGBA 的頻道上說他 裝 好 了… @@
http://evening-beach-7140.herokuapp.com/
他的作法是在 heroku 多開一個跑 ruby 的正常 app,這樣 postgrel sql 就是正常提供的,並可以借給跑 php 的這個 wp.app
只要在新的 app 裡跑一下 heroku console 並打 ENV['DATABASE_URL'] 他就會跑出這個東西
$ heroku console
Ruby console for sogood.heroku.com
>> ENV['DATABASE_URL']
=> "postgres://username:password@hostname/database"
然後就乖乖的把那些
  • username
  • password
  • hostname (database host)
  • database (database name)
填到wp該填的地方就跑起來的阿~~~~~~

正確設定 db 的方法

後來 @siuying 說只要在原本的 cedar 環境補打:
heroku addons:add shared-database:5mb
heroku config
也就不用開第二個 app 偷 db 來用了

回想以前… 要裝個 wordpress 還要用 ftp 上傳到 hosting,改東改西,還要去開 db… 現在裝 wordpress 直接無痛上雲端伺服器,完全不用煩惱了阿!這什麼世界阿!

from  http://rgba.tw/post/10282134864/install-wordpress-on-heroku
-----------------------------------------------------------------------------------