Community Documentation

v3 Knowledgebase

Install PHPFox entirely on Amazon Web Services

1. Visit and create an account (Note you will have to have a credit card on file)
2. After your account is created go to hover over My Account / Console and select AWS Management Console
3. First thing we need to do is create a key pair for your instance.
4. Click on EC2
5. Select the Region in the Top right corner where you plan to deploy your PHPFox site
6. Click on 0 Key Pair
7. Select Create Key Pair
8. Enter your key pair name and click OK (Note: You must save this in a secure location, as if you have this file, you have full access to your EC2 Instance from SSH or shell. If you lose this file you will not be able to access your EC2 Instance via CLI unless you activate username and password access)
9. Save your Key Pair PEM file
10. Click the Amazon box in the top left corner to access the console homepage
11. Click VPC
12. Click 0 Subnets
13. Click Create New Subnet
14. Select the first option and go through the steps
(Note: Corrections to this section will be made shortly)
15. Click the Amazon box in the top left corner to access the console homepage
16. Click Elastic Beanstalk
17. Select the same region you created your Key Pair in the top right corner
18. Select PHP for the environment
19. Click Get Started
20. Wait a few minutes while your first application is generated by the system
21. You can Click Create New Environment even though its doing something
22. Keep Web Server for Environment Tier, Select PHP for Predefined Configuration and select single instance for Environment Type (Note Load balancing is something you have to understand as it requires 2 subnets with 2 availability zones in each subnet. It is possible to create a load balanced system but it takes finesse)
23. Select Continue
24. Click the radio button for Upload your own Application
• To properly upload an application if your application is in a subfolder the structure of your site will be
• To prevent this you have to unzip PHPFox and select all of the files in the subfolder and re-compress all of the files in the subfolder, it should be the multiple files not the single subfolder
• For MAC OS X users, if you compress it using OS X’s compression system your application will fail when it is uploaded as this cannot read MAC compression structures

1. Click continue when you select your PHPFox zip file
2. Enter an Environment Name and create a subdomain for your Elastic Beanstalk application (Note: don’t worry about the name, you will be able to use your own domain name later)
3. You can check the availability and click Continue
4. Put checkmarks in both boxes and click Continue (This will allow you to create the default database for your PHPFox server. Note you can have up to a 20GB database under the free Tier)
5. Keep Instance Type at t1.micro for your Free Tier and select the Key Pair you created earlier
6. Add the email address if you want to receive updates on your server (Recommended)
7. Leave instance profile as the default then click Continue
8. Leave all the defaults and enter 20GB (This is part of your Free Tier)
9. Enter a username and a password
10. You can select Single Availability Zone or Multiple Availability Zone (Note: Multiple Availability Zone incurs extra costs, but if you plan to generate multiple instances in different regions, this is your best option as you can have all of your PHPFox site instances in different regions but pulling from one DB)
11. Click continue
12. Select your VPC you created earlier and put a checkmark in all boxes then click continue
13. Review your settings and click Finish
14. You will be presented with a screen that your application is being created. This will take some time so do something else as it takes anywhere from 20-35 mins
15. To retrieve your DB details; hostname, DB name go to AWS management console homepage
16. Select RDS
17. Click DB Instances (1) (This is the one created during the ElasticBeanStalk application creation)
18. Click the triangle symbol next to your database and you will get hostname which is next to Endpoint and your DB Name slightly below that. Your username and password will be what you used when you created the database during the application setup

1. Once your application is created go back to your AWS Management Console homepage
2. Click on Route 53 ( This is to point your own domain to your elasticbeanstalk site
More to come…

(Note, the VPC section is a little rusty and needs corrections)
(I will also add the Route 53 section if you wish to use this route, but you may do this by pointing your domain hostname to your Elastic IP address that is assigned to your EC2 that was created in the elasticbeanstalk section.)