2014年1月3日金曜日

Facebookアプリ作成の初歩ではまったこと

AWS EC2を使ってFacebookアプリを作りました。ここでのFacebookアプリとは
AWS EC2にWeb Appを作成し、そのWeb AppをFacebookアプリとして登録
するという一般的なものです。

自分以外のアカウントでは動作しないという状況になったので、その時に問題
の原因をシェアします。

原因は、Sandbox Modeにあります。Defaultでは、これになっていることがある
ので要注意です。Sandbox Modeの場合はFacebook Developerでないとアプリ
を動作させれないようです。Sandbox Modeを無効にしておく必要があります。


Sandobox Modeを無効にするとFacebookアプリはHTTPSで接続する必要
があります。(最近そうなったらしい。でも普通に考えればそりゃそうだよね)

Amazon EC2 ApacheでHTTPSをセットアップを以下のようにしたのでメモ
代わりに書いておきます。ただ、以下の内容は、事前にApacheを立ち上げた
後の作業です。

1. EC2のConsoleで、現在のインスタンスにわりあてているSecurity Groupに
HTTPSを足してください


2. EC2の既存のインスタンスにログインして、mod_sslをインストール

# sudo yum install mod_ssl

3. サーバーの秘密鍵の作成

# cd /etc/pki/tls/certs
# sudo make server.key
# sudo openssl rsa -in server.key -out server.key

4. サーバー証明書の作成

# sudo make server.crt
# sudo mv /etc/pki/tls/certs/server.key /etc/pki/tls/private

5. /etc/httpd/conf.d/ssl.conf で <Virtual Host> と </Virtual Host> の間に以下を記述。
以下のように書き換えます。

#SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/tls/certs/server.crt

#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/tls/private/server.key


$sudo service httpd restart

って感じで、HTTPSにしたら普通にアプリがみんなの環境で動作するようになりました(祝)

2014年1月1日水曜日

Amazon EC2のインスタンス上げた後にすること

自分のためのメモ

1. Private Keyを適当なところに置く

2. chmod 600 xxx.pem

3. ssh configに以下を書いておく。AmazonのDNSのはいろいろあるからワイルドカード使っておくと便利

Host *.compute.amazonaws.com
User ec2-user
Port 22
IdentityFile ~/.ssh/xxxx.pem

3. ssh xxxx.compute.amazonaws.com でログイン

4. sudo yum -y install httpd

5. sudo service httpd start

6. sudo yum -y install emacs