how to create and setup facebook application on Amazon EC2 instance

After setting up the facebook application development platform on Amazon EC2 follwing this link, users can simply follow the README file located at “/var/apache2/2.2/htdocs/footprints/README” to test out the sample “footprints” application.

Here are the detailed steps, you can follow to sucessfully deploy the sample facebook application available on Amazon EC2 instance.


bash # cd /var/apache2/2.2/htdocs/footprints
bash # ls
config.php  index.php
lib.php     README

edit the config.php and set

$db_ip = 'localhost';
$db_pass = '';

if you have changed your db password, set it accordingly.

create database needed for the sample application. Database script for creating table structure is available in the config.php file.

­bash­3.2# /usr/mysql/bin/mysql ­u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database footprints;
Query OK, 1 row affected (0.00 sec)

mysql> use footprints
Database changed

mysql> CREATE TABLE `footprints` (
­>   `from` int(11) NOT NULL default '0',
­>   `to` int(11) NOT NULL default '0',
­>   `time` int(11) NOT NULL default '0',
­>   KEY `from` (`from`),
­>   KEY `to` (`to`)
­> );

Query OK, 0 rows affected (0.01 sec)

mysql> select * from footprints;
Empty set (0.00 sec)


open and login with your facebook username and password.

goto the Developer section and click on the “Setup new application”.

Provide appropriate application name and agree to the terms and conditions. finally click on the submit button to create the new application.


Click on the “Edit Settings” and provide following details.

Call back URL:

Canvas page URL:

replace osolami with any avaiable string, to identify your application.

Check mark on  “Can your application be added on facebook?”

In the default FBML text box provide following


<br />Hi

<fb:name uid="profileowner" firstnameonly="true"
useyou="false"/>! This is the default FBML as specified
in Footprints' account configuration page. This will get replaced the
first time you get stepped on.


after the change, click on “Save” button to update the settings.


Copy API Key and Secret Key from the above page and change that in to


after the change config.php should look like as given below

// Get these from
$api_key = 'd4ec887d2c2d820300eb95785fa5bd68';
$secret = 'a8db36baf5c93f3673fce7ea799d6b40';

/* While you're there, you'll also want to set up your callback url to the url
* of the directory that contains Footprints' index.php, and you can set the
* framed page URL to whatever you want. You should also swap the references
* in the code from to your framed page URL. */

// The IP address of your database

$db_ip = 'localhost';
$db_user = 'root';
$db_pass = '';

// the name of the database that you create for footprints.

$db_name = 'footprints';

/* create this table on the database:
CREATE TABLE `footprints` (
`from` int(11) NOT NULL default '0',
`to` int(11) NOT NULL default '0',
`time` int(11) NOT NULL default '0',
KEY `from` (`from`),
KEY `to` (`to`)
) */


Replace the URL to in /var/apache2/2.2/htdocs/footprints/lib.php

Note: Here “; is your canvas page URL.
make the necessary changes accordingly.


Every thing is set. Now we are ready to hit the application URL

provide facebook username and password to login in

Once you are logged in. You will see your sample facebook application running on EC2 instance.

It should look like as given below.

“leave your foot prints on some of your friends by steping upon them, and see the database table with updated stepping history”.

bash # /usr/mysql/bin/mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use footprints;
Database changed
mysql> select * from footprints;
| from      | to         | time       |
| 51760XXXX | 101467XXXX | 1223533149 |
1 row in set (0.00 sec)


You are all done and set with the sample facebook application on amazon ec2 instance.


how to setup facebook php client library on Amazon EC2 AMP AMI

before you begin, have a quick look at the opensolaris AMP AMI(Amazon Machine Images) catalog

Following are the steps for setting up facebook application development platform on amazon ec2 AMP AMI.

[ step 1]
Launch ec2 instance using the AMI ID (ami-45f1152c) and get the instance id

bash # ec2-run-instances -k <your-keypair> ami-45f1152c

[ step 2]
get the public dns address of the instance using the instance id

bash # ec2-describe-instances <i-xxxxxxxx>

[ step 3]
make ssh connection to the instance.

bash # ssh -i <keypair file>

[ step 4]
download Official PHP client library from

bash # cd /var/apache2/2.2/htdocs/
bash # wget

[ step 5]
extract the platform library and place it at appropriate location

-bash # pwd
bash # gunzip facebook-platform.tar.gz
bash # tar -xf facebook-platform.tar
bash # rm facebook-platform.tar
bash # cd facebook-platform/
bash # mv client/ facebookphp/
bash # mv facebookphp/ /usr/lib/

[ step 5]

make necessary changes in the php.ini file located at /etc/php5/5.2/php.ini
add “/usr/lib/facebookphp” path in the include_path variable.

after the change it should look like this

include_path = ".:/var/php/5.2/pear:/usr/lib/facebookphp"

enable the short_open_tag, so that you can run sample facebook application correctly without any error.

after the change it should look like

short_open_tag = On

[step 6]

restart the apache to apply the changes done in the php.ini file.

bash # svcadm restart svc:/network/http:apache22

[step 7]

arrange directories and perform clean up.

bash # cd /var/apache2/2.2/htdocs/facebook-platform
bash # mv footprints/ ../
bash # mv README ../footprints/
bash # cd ..
bash # pwd
bash # rm -rf facebook-platform/

[step 8]
change the include path in the sample footprint application as we no longer require relative path for the client library.Library path is already included within the php.ini file.

bash # cd footprints/
bash # vi index.php


// the facebook client library
include_once '../client/facebook.php';


// the facebook client library
include_once 'facebook.php';

[step 9]

facebook php client library is now installed and necessary changes has been applied to the sample footprint application.

follow the Readme file located at /var/apache2/2.2/htdocs/footprints/README to begin testing facebook application on amazon ec2.