My Facebook Application
Application URL: http://www.facebook.com/apps/application.php?id=6176023931
Application Statistics
2000+ Users
125+ Fans
Tools and Technologies Used
PHP, MYSQL, Facebook PHP Client Library, FBML, PHP LiveX
Snap Shots



Application URL: http://www.facebook.com/apps/application.php?id=6176023931
Application Statistics
2000+ Users
125+ Fans
Tools and Technologies Used
PHP, MYSQL, Facebook PHP Client Library, FBML, PHP LiveX
Snap Shots



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.
[step-1]
bash # cd /var/apache2/2.2/htdocs/footprints bash # ls config.php index.php lib.php README
[step-2]
edit the config.php and set
$db_ip = 'localhost'; $db_pass = '';
if you have changed your db password, set it accordingly.
[step-3]
create database needed for the sample application. Database script for creating table structure is available in the config.php file.
bash3.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) mysql>
[step-4]
open http://apps.facebook.com 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.

[step-5]
Click on the “Edit Settings” and provide following details.
Call back URL:
http://ec2-XX-XX-XX-XXX.compute1.amazonaws.com/footprints
Canvas page URL:
http://apps.facebook.com/osolami
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
<fb:ifisownprofile> <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. </fb:ifisownprofile>
after the change, click on ”Save” button to update the settings.



[step-6]
Copy API Key and Secret Key from the above page and change that in to
/var/apache2/2.2/htdocs/footprints/config.php
after the change config.php should look like as given below
<?php // Get these from http://developers.facebook.com $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 http://apps.facebook.com/footprints/ 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`) ) */ ?>
[step-7]
Replace the URL http://apps.facebook.com/footprints/ to http://apps.facebook.com/osolami/ in /var/apache2/2.2/htdocs/footprints/lib.php
Note: Here “http://apps.facebook.com/osolami/” is your canvas page URL.
make the necessary changes accordingly.
[step-8]
Every thing is set. Now we are ready to hit the application URL
http://apps.facebook.com/osolami/
provide facebook username and password to login in

[step-9]
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) mysql>
You are all done and set with the sample facebook application on amazon ec2 instance.
before you begin, have a quick look at the opensolaris AMP AMI(Amazon Machine Images) catalog
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1692
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> ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com
[ step 4]
download Official PHP client library from http://wiki.developers.facebook.com/index.php/PHP
bash # cd /var/apache2/2.2/htdocs/ bash # wget http://developers.facebook.com/clientlibs/facebook-platform.tar.gz
[ step 5]
extract the platform library and place it at appropriate location
-bash # pwd /var/apache2/2.2/htdocs 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 /var/apache2/2.2/htdocs 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
change
// the facebook client library include_once '../client/facebook.php';
to
// 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.