tech memorandom

Webに関して調査したことや、メディアアート系(Max,Processing)で調査したことなどを書いていきます。

herokuをつかってドメイン代だけサイトを公開する方法

6月にパーティをやるのですが、そのwebサイトをheroku上に置くことにしました。

選んだポイントは以下の点が無料でできるからです。

  1. 高速
  2. カスタムドメインの割り当て
  3. gitによるバージョン管理
  4. コラボレーション(他の開発者との共同作業)などを簡単に実現できる
  5. AWS上にあるのでAWSインスタントと通信してもトラフィック請求が発生しない。
 
これらのことがドメイン代費用だけ(年間800円)できるのは活気的です。
ロリポップなんて借りてる場合ではないです。
 

herokuの利用するにはまずherokuにアカウント登録をする必要があります。

そのあとアプリを作成します。そのあたりは以下のリンクをみると詳しく書かれています。

https://devcenter.heroku.com/articles/quickstart

 
作成したアプリのドメイン登録はかなり簡単です。
ドメイン管理サイトでドメインを取得します。
今回は以下のサイトから取得しました。
 
 
 
続いて、herokuのproxyのDNSの設定を行います。
herokuアプリを作成するとheroku用のURLがわりあてられるので、CNAMEとしてそのURLを登録するのもありだと思いますが、
DNSの変更を行うと反映時間がかかるのでproxyのAレコードを追加ほうがおすすめです。
 
以下のAレコードを追加します。このアドレスはheroku共通のproxyサーバのアドレスなのですが、
これを設定しておけば、あとはheroku側でサブドメインの設定などもできます。
 
ちなみにfc2の場合、Aレコード追加UIがなぜかホストが必須項目でした。
@マークをいれておけばいいみたいです。
 
 
75.101.163.44
75.101.145.87
174.129.212.2
 ドメインの登録は超簡単で以下のコマンド打つだけです。Web GUIからも登録できます。
$ heroku domains:add www.example.com Added www.example.com as a custom domain name to myapp.heroku.com

 ドメインの反映ができたタイミングでwww.example.comにアクセスするとherokuで作成したアプリが表示されます。

$ heroku domains:add *.example.com Added *.example.com as a custom domain name to myapp.heroku.com

Webサイトを共同開発したい場合ですが、以下のコマンドをうつことで他のメンバーもheroku上のgitにアクセスできるようになります。

$ heroku sharing:add joe@example.com 

 他のメンバーがherokuユーザでなければ、herokuの登録をしてもらいます。このあたりもinvite mailを自動で送ってくれるので説明の手間がはぶけます。

他のユーザは、作成済みのherokuアプリをcloneしてもらいます。

 

$ git clone -o heroku git@heroku.com:theirapp.git

 

 あとは通常のgitの運用と同じなのですが、一点違う点は、masterにpushすると自動でdeployされる点です。

わりと手の込んだサイトをつくる場合、いきなり本番にでてしまうとまずい場合もあると思います。

その場合はもうひとつ開発用のherokuアプリをつくることで解決できます。

 

開発である程度動作確認したものを本番ドメインを割り当てたheroku appにpushといった流れになるかと思います。

Webサイトを公開する場合ですが、今回つくりたいような場合はpublicディレクトリさえあればよかったりします。

lokkaのデザイナーのmachidaさんがそんな要望みたしてくれるひな形を公開してくれています。

 

  1. 記事 http://kuroigamen.com/22
  2. ひな形 https://github.com/machida/kuroigamen-sandbox

 

このひな形ですが、sinatraを使っています。

http://www.sinatrarb.com/

 

sinatrarubyで書かれたフレームワークなのですが、シンプルかつ拡張しやすいので、

とっかかりには最適だと思います。 

このひな形をcloneしてきて、あとはpubicディレクトリにhtmlやcssをいれてherokuにpushすると公開されます。

 

記事をたくさんいれたいからCMSをおきたい、という場合は、lokkaがおすすめです。

lokkaは、sinatraをベースつくられたwordpressのようなCMSです。

完成度はwordpressには落ちますが、herokuに簡単にdeployできる点がポイント高いです。

 

http://lokka.org/

 

lokkaをいれたい場合は、上述のインストール方法に従いアプリを作成します。

 

blog.hoge.comみたいな感じで上述のような手順でアプリを追加することができます。

ここで書いた手順は、流れの大枠しか書いていないので参考程度に。

まよったらherokuのドキュメントを直接みてください。