SlideShare a Scribd company logo
August 2013
Installing WordPress on AWS
EC2 RDS S3EBS
What is Covered
Slide Topic
3 Architecture Overview
4 Signup for AWS
5-13 Part 1: Create an EC2 Instance
14-16 Part 2: Configure your EC2 Instance
17-27 Part 3: Create an RDS Instance
28-33 Part 4: Install WordPress
34-37 Part 5: Configure S3
38-52 Part 6: Install Git
53 Done.
Users
Internet
The AWS
infrastructure
for this tutorial
Elastic
Compute
Cloud (EC2)
Elastic
Block
Store
(EBS)
RDS
MySQL
Simple
Storage
Service (S3)
Availability Zone: US-East-1b
Create your free account on AWS - http://aws.amazon.com/free/
Part One:
Create an EC2 instance
In AWS-speak creating a new virtual server is called an
“instance”. “Spinning up an EC2 instance” is a phrase
you will hear quite often which just refers to starting a
new EC2 instance.
EBS refers to the “hard drive” that is attached to the
EC2 instance. It’s where all the system files will reside.
Step 1: From the AWS Management Console click on EC2
Step 2: Click on “Launch Instance” and select Quick Launch Wizard
(Enter the Instance name, create a new key pair, download the key pair and select Ubuntu Server 12.04)
Step 3: Select Amazon Linux AMI
(Under Instance Details make sure t1.micro is selected it’s part of the free trial, then select Launch)
Step 4: Your instance is being created
Step 5: Add rules to the Default Security Group to allow inbound access to EC2
(port 22 = ssh and port 80 = http)
Step 6: Assign an IP address by selecting Elastic IP’s
Step 7: Right click on the IP address and select Associate. Assign it to your new instance.
Step 8: Select your new Instance and right click on it
(this contains some very useful information you might need later on)
Part Two:
Configure your EC2 instance
Now that the EC2 instance has been created it’s time to
install the LAMP (Linux, Apache, MySQL and PHP) stack
which we’ll need before you can install WordPress. The
Linux kernel was preinstalled when the EC2 instance was
created. Apache and PHP will be installed in this section.
MySQL will be installed in the next section.
There are two ways you can connect to EC2, one is to right click on the EC2 instance name and launch a
Java SSH client. The other way is to use a command line SSH client such as Terminal.app on the Mac.
This tutorial will use Terminal.
Step 1: Connect to the EC2 instance
From Terminal go to the directory that contains <filename>.pem (the file contains your credentials to
access your EC2 instance.)
Change the permission of the file:
chmod 400 [filename].pem
Connect to your EC2 instance:
ssh -i [filename].pem ubuntu@[Elastic IP]
Switch to superuser:
sudo su
Install any new updates:
sudo apt-get update
Install Apache:
apt-get -y install apache2
Install PHP:
apt-get -y install php5 php5-mysql
Step 2: Install Apache and PHP
Part Three:
Create an RDS MySQL instance
Step 1: From the Management Console click on RDS and then select Launch a DB Instance
Step 2: Select MySQL Community Edition
Step 3: Select db.t1.micro, no for Multi-AZ
(db.t1.micro is part of the Free Trial. Remember the Master Username and Master Password for WordPress)
Step 4: Enter a Database Name
(Remember the Database Name for WordPress)
Step 5: Select the defaults
Step 6: Select Launch DB Instance
Step 7: The database may take 5 minutes to create
Step 8: Click on DB Security Groups and click on the magnifying glass
Step 9: Verify the EC2 Security Group is authorized
Step 10: Click on Instance and review the informatio for the DB you created
(Remember the Endpoint for WordPress)
Part Four:
Install WordPress
WordPress will be installed at the root of your EC2
Instance.
From Terminal go to the directory that contains <filename>.pem
Change the permission of the file:
chmod 400 [filename].pem
Connect to your EC2 instance:
ssh -i [filename].pem ubuntu@[Elastic IP]
Switch to superuser:
sudo su
Change to the root directory:
cd /var/www
Download the latest WordPress package:
wget http://wordpress.org/latest.tar.gz
Extract WordPress:
tar -xzvf latest.tar.gz
Move WordPress to the root www folder:
mv wordpress/* /var/www/
Delete the WordPress tar file and the existing index.html file
rm latest.tar.gz
rm index.html
Change permissions on the directory:
chown -hR www-data:www-data /var/www
chmod -R g+rw /var/www
Restart the Apache server
service apache2 restart
Step 1: Download and install WordPress
Step 2: Point your browser to the Elastic IP address and create the config file
Step 3: Enter the configuration details and submit
Step 4: Finish the installation of WordPress
Step 4: Goto your Elastic IP address and visit your new blog
Part Five:
Configure S3
S3 will be used to serve up media images (jpg, png,
etc...) on the WordPress blog. S3 uses the term
“bucket”, think of it as a container for your files. The
bucket name has to be unique across the entire S3
platform.
Step 1: From the Management Console click on S3 and select Create Bucket
Step 2: Enter a bucket name
Step 3: Click on Upload and add an image
(Use the S3 link when adding an image to a blog post in WordPress)
Part Six:
Install Git
Git is a powerful distributed version control system. For
this tutorial we’ll be using Git on the EC2 instance,
SourceTree an open source Git Mac client and Beanstalk*
a service to manage and deploy code. Beanstalk has a
free trial plan.
BeanstalkSourceTree
* Beanstalk should not be confused with Elastic Beanstalk which is an AWS offering to manage your application.
Not 100%
tested
EC2
Staging Server
Beanstalk
Architecture of Git
User X
(running Git and
SourceTree)
User Y
(running Git and
SourceTree)
Users
EC2
Production Server
AWS
1. Goto http://git-scm.com/downloads/ and download the latest version of Git. Double click on the
installer and follow the directions.
2. Download SourceTree an open source Git client from http://www.sourcetreeapp.com and follow the
instructions to install and configure it.
3. Open a terminal window
Goto the hidden SSH directory in your home directory:
cd ~/.ssh
Generate a key (don’t enter any passphrase):
ssh-keygen -t rsa
Copy the generated key to the clipboard (needed for Beanstalk):
cat ~/.ssh/id_rsa.pub | pbcopy
Step 1: Install Git on your local computer
1. Goto http://beanstalkapp.com and setup an account (it’s free for one user).
2. Add your computers SSH key to the account by going to:
https://<your-account>.beanstalkapp.com/public_keys
Step 2: Setup Beanstalk
3. Click on Add Public Key 4. Add your SSH key which is in the clipboard (⌘+P)
5. Add a repository by going to https://<your-account>.beanstalkapp.com/repositories and click on
Create a repository
Setup Beanstalk (cont.)
6. Give it a name and select “Git” for type and click Next Step
Setup Beanstalk (cont.)
7. Copy the Git URL
Setup Beanstalk (cont.)
8. Launch SourceTree and click on the icon with the database and plus symbol and add the Git
information from Beanstalk. You have successfully cloned the empty repository on Beanstalk to your
local computer.
Setup Beanstalk (cont.)
9. Before we can setup the Deployment Servers in Beanstalk, you need to commit and push a change to
Beanstalk. Add a file to the local destination path and then refresh SourceTree. Commit the file and
push the change.
Setup Beanstalk (cont.)
In Beanstalk we will configure the server that will have the code deployed to. From the Repository tab
click on Deployment and select Create Server & Environment
Step 3: Final setup for Beanstalk (cont.)
Select SFTP for the server type.
Step 3: Final setup for Beanstalk (cont.)
Enter the details of your EC2 instance. Click on “download the key” you will be coping this to your EC2
instance. (DO NOT click “Check Connection”, that will be in the next step)
Step 3: Final setup for Beanstalk (cont.)
Copy the <repository-name>.pub deployment key to your EC2 instance in the /home/ec2-user/
directory
Then from a terminal window add the <repository-name>.pub file to the EC2 authorized keys file:
cat <repository-name>.pub >> ~/.ssh/authorized_keys
Now click on “Check Connection”
Step 3: Final setup for Beanstalk (cont.)
Click on Next Step
Step 3: Final setup for Beanstalk
Done. You can now start to push code to your EC2 instance from Beanstalk.
From Terminal go to the directory that contains <filename>.pem (the file contains your credentials to
access the EC2 instance.)
Change the permission of the file:
chmod 400 [filename].pem
Connect to your EC2 instance:
ssh -i [filename].pem ubuntu@[Elastic IP]
Switch to superuser:
sudo su
Install Git:
apt-get -y install git
Create a new directory:
mkdir /var/www/ferrari
Setup a Git repository:
mkdir /var/www/ferrari
cd /var/www/ferrari
git init --bare
Copy the <repository-name>.pub file to EC2 then copy the <repository-name>.pub file to the EC2
authorized keys file:
cat beanstalk_rsa.pub >> ~/.ssh/authorized_keys
Step 4: Install Git on EC2
Done.
Now What?
Make things and break things to learn how all the various
services of AWS work together. Visit AWS for more
tutorials at:
http://aws.amazon.com/articles/
Created by:
Manish Jain
The backstory to why this presentation was created can
be found on my blog at:
http://celestri.org/
Appendix
Random Slides
Create and edit the config file:
cd /var/www
mv wp-config-sample.php wp-config.php
nano wp-config.php
Quick nano tutorial – Control-X to exit.
You will need to edit the following entries in the config file with the values from your RDS MySQL
instance:
define(‘DB_NAME’, ‘wordpress’);
define(‘DB_USER’, ‘root’);
define(‘DB_PASSWORD’, ‘YOUR_PASSWORD’);
define(‘DB_HOST’, ‘localhost’);
Below is a mapping of the WordPress config file and the RDS MySQL instance:
‘DB_NAME’ = Database Name
‘DB_USER’ = Master Username
‘DB_PASSWORD’ = Master User Password
‘DB_HOST’ = RDS Endpoint
Instructions to manually edit the WordPress config file
From Terminal go to the directory that contains <filename>.pem
Change the permission of the file:
chmod 400 [filename].pem
Connect to your EC2 instance:
ssh -i [filename].pem ubuntu@[Elastic IP]
Switch to superuser:
sudo su
To install MySQL:
apt-get install -y mysql-server
Create a root password for MySQL when prompted
Enter into the MySQL shell to enter the commands
mysql -u root -p
(enter the password when prompted)
Now you are in the MySQL shell and will create a new database, you should see mysql>
CREATE DATABASE wordpressAWS;
Create a new user:
CREATE USER myadmin@localhost;
Set the password for the newly created user:
SET PASSWORD FOR myadmin@localhost = PASSWORD(“whatever”);
Instructions to install MySQL on an EC2 instance
Grant all privileges to the newly created user:
GRANT ALL PRIVILEGES ON wordpressAWS.* TO myadmin@localhost IDENTIFIED BY
“whatever”;
Then refresh MySQL:
FLUSH PRIVILEGES;
Exit the MySQL shell:
exit
From the command line secure your database installation:
mysql_secure_installation
Instructions to install MySQL on an EC2 instance (continued)
Cyberduck is an open source FTP/SFTP client. Enter the details below to configure it.
Use Cyberduck to copy files to EC2
Your [filename].pem
Select SFTP
Enter ubuntu

More Related Content

What's hot

Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
Krishna-Kumar
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Amazon Web Services
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Web Services
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
Suraj Khetani
 
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic BeanstalkDeploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Amazon Web Services
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
Kingston Smiler
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
Amazon Web Services
 
AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
zekeLabs Technologies
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
Sourabh Saxena
 
Final terraform
Final terraformFinal terraform
Final terraform
Gourav Varma
 
AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introduction
leo lapworth
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Edureka!
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best Practices
Gary Silverman
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
Amazon Web Services
 
Deep Dive: AWS CloudFormation
Deep Dive: AWS CloudFormationDeep Dive: AWS CloudFormation
Deep Dive: AWS CloudFormation
Amazon Web Services
 
10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
Ajeet Singh Raina
 
Kubernetes Security
Kubernetes SecurityKubernetes Security
Kubernetes Security
Karthik Gaekwad
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
Sparkbit
 

What's hot (20)

Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
Elastic Load Balancing Deep Dive and Best Practices - NET402 - re:Invent 2017
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
 
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic BeanstalkDeploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
 
Dockers and containers basics
Dockers and containers basicsDockers and containers basics
Dockers and containers basics
 
Final terraform
Final terraformFinal terraform
Final terraform
 
AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introduction
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best Practices
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
 
Deep Dive: AWS CloudFormation
Deep Dive: AWS CloudFormationDeep Dive: AWS CloudFormation
Deep Dive: AWS CloudFormation
 
10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 Active Directory 구축 및 연동 옵션 살펴보기 (김용우 솔루션즈 아키텍트)
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Kubernetes Security
Kubernetes SecurityKubernetes Security
Kubernetes Security
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 

Viewers also liked

AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows ServerAWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
Amazon Web Services
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic Beanstalk
Amazon Web Services
 
IAM Recommended Practices
IAM Recommended PracticesIAM Recommended Practices
IAM Recommended Practices
Amazon Web Services
 
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
Amazon Web Services
 
(DVO301) AWS OpsWorks Under the Hood
(DVO301) AWS OpsWorks Under the Hood(DVO301) AWS OpsWorks Under the Hood
(DVO301) AWS OpsWorks Under the Hood
Amazon Web Services
 
Customer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWSCustomer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWS
Amazon Web Services
 
AWS Lambda and Serverless Cloud
AWS Lambda and Serverless CloudAWS Lambda and Serverless Cloud
AWS Lambda and Serverless Cloud
Amazon Web Services
 
AWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web ServicesAWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web Services
Amazon Web Services
 
Big Data Architectural Patterns
Big Data Architectural PatternsBig Data Architectural Patterns
Big Data Architectural Patterns
Amazon Web Services
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
Amazon Web Services
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic Beanstalk
Amazon Web Services
 
Bootcamp: Getting Started on AWS
Bootcamp: Getting Started on AWSBootcamp: Getting Started on AWS
Bootcamp: Getting Started on AWS
Amazon Web Services
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and Docker
Amazon Web Services
 
AWS 101: Cloud Computing Seminar (2012)
AWS 101: Cloud Computing Seminar (2012)AWS 101: Cloud Computing Seminar (2012)
AWS 101: Cloud Computing Seminar (2012)
Amazon Web Services
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
Amazon Web Services
 
WordPress SEO & Optimisation
WordPress SEO & OptimisationWordPress SEO & Optimisation
WordPress SEO & Optimisation
Joost de Valk
 
Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011
John O'Nolan
 
Install WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHPInstall WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHP
Rupesh Kumar
 
Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS
Harish Ganesan
 
Riding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPressRiding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPress
Liz Danzico
 

Viewers also liked (20)

AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows ServerAWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic Beanstalk
 
IAM Recommended Practices
IAM Recommended PracticesIAM Recommended Practices
IAM Recommended Practices
 
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
 
(DVO301) AWS OpsWorks Under the Hood
(DVO301) AWS OpsWorks Under the Hood(DVO301) AWS OpsWorks Under the Hood
(DVO301) AWS OpsWorks Under the Hood
 
Customer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWSCustomer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWS
 
AWS Lambda and Serverless Cloud
AWS Lambda and Serverless CloudAWS Lambda and Serverless Cloud
AWS Lambda and Serverless Cloud
 
AWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web ServicesAWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web Services
 
Big Data Architectural Patterns
Big Data Architectural PatternsBig Data Architectural Patterns
Big Data Architectural Patterns
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic Beanstalk
 
Bootcamp: Getting Started on AWS
Bootcamp: Getting Started on AWSBootcamp: Getting Started on AWS
Bootcamp: Getting Started on AWS
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and Docker
 
AWS 101: Cloud Computing Seminar (2012)
AWS 101: Cloud Computing Seminar (2012)AWS 101: Cloud Computing Seminar (2012)
AWS 101: Cloud Computing Seminar (2012)
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
WordPress SEO & Optimisation
WordPress SEO & OptimisationWordPress SEO & Optimisation
WordPress SEO & Optimisation
 
Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011Designing WordPress - Heart&Sole2011
Designing WordPress - Heart&Sole2011
 
Install WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHPInstall WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHP
 
Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS Architecting an Highly Available and Scalable WordPress Site in AWS
Architecting an Highly Available and Scalable WordPress Site in AWS
 
Riding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPressRiding The Crazyhorse: Future Generation WordPress
Riding The Crazyhorse: Future Generation WordPress
 

Similar to Installing WordPress on AWS

Module 1 introduction to aws demo 4
Module 1 introduction to aws demo 4Module 1 introduction to aws demo 4
Module 1 introduction to aws demo 4
Ganesh Bhosale
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntu
kesavan N B
 
docker.docx
docker.docxdocker.docx
docker.docx
ssuser97943d
 
AWS essentials EC2
AWS essentials EC2AWS essentials EC2
AWS essentials EC2
mustafa sarac
 
Aws overview part 2(compute services)
Aws overview   part 2(compute services)Aws overview   part 2(compute services)
Aws overview part 2(compute services)
Parag Patil
 
Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2IMC Institute
 
AWS DataSync.pdf
AWS DataSync.pdfAWS DataSync.pdf
AWS DataSync.pdf
Manas Mondal
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Github
hubx
 
Amazon cloudtutorial
Amazon cloudtutorialAmazon cloudtutorial
Amazon cloudtutorial
Chris Buenaventura
 
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platformDrupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Hector Iribarne
 
WordPress on AE Beanstalk:The One-Stop Guide
WordPress on AE Beanstalk:The One-Stop GuideWordPress on AE Beanstalk:The One-Stop Guide
WordPress on AE Beanstalk:The One-Stop Guide
Pixlogix Infotech
 
sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)
Jérémy Vial
 
Software industrialization
Software industrializationSoftware industrialization
Software industrialization
Bibek Lama
 
Installing Hortonworks Hadoop for Windows
Installing Hortonworks Hadoop for WindowsInstalling Hortonworks Hadoop for Windows
Installing Hortonworks Hadoop for Windows
Jonathan Bloom
 
Moving Drupal to the Cloud
Moving Drupal to the CloudMoving Drupal to the Cloud
Moving Drupal to the Cloud
Ari Davidow
 
How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...
How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...
How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...Cloudian
 
Fedora Atomic Workshop handout for Fudcon Pune 2015
Fedora Atomic Workshop handout for Fudcon Pune  2015Fedora Atomic Workshop handout for Fudcon Pune  2015
Fedora Atomic Workshop handout for Fudcon Pune 2015
rranjithrajaram
 
Build, Deploy and Run Node Js Application on Azure using Docker
Build, Deploy and Run Node Js Application on Azure using DockerBuild, Deploy and Run Node Js Application on Azure using Docker
Build, Deploy and Run Node Js Application on Azure using Docker
Osama Mustafa
 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud service
Jeffray Huang
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
GauranG Bajpai
 

Similar to Installing WordPress on AWS (20)

Module 1 introduction to aws demo 4
Module 1 introduction to aws demo 4Module 1 introduction to aws demo 4
Module 1 introduction to aws demo 4
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntu
 
docker.docx
docker.docxdocker.docx
docker.docx
 
AWS essentials EC2
AWS essentials EC2AWS essentials EC2
AWS essentials EC2
 
Aws overview part 2(compute services)
Aws overview   part 2(compute services)Aws overview   part 2(compute services)
Aws overview part 2(compute services)
 
Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2Set up Hadoop Cluster on Amazon EC2
Set up Hadoop Cluster on Amazon EC2
 
AWS DataSync.pdf
AWS DataSync.pdfAWS DataSync.pdf
AWS DataSync.pdf
 
Jump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & GithubJump into Squeak - Integrate Squeak projects with Docker & Github
Jump into Squeak - Integrate Squeak projects with Docker & Github
 
Amazon cloudtutorial
Amazon cloudtutorialAmazon cloudtutorial
Amazon cloudtutorial
 
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platformDrupal camp South Florida 2011 - Introduction to the Aegir hosting platform
Drupal camp South Florida 2011 - Introduction to the Aegir hosting platform
 
WordPress on AE Beanstalk:The One-Stop Guide
WordPress on AE Beanstalk:The One-Stop GuideWordPress on AE Beanstalk:The One-Stop Guide
WordPress on AE Beanstalk:The One-Stop Guide
 
sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)
 
Software industrialization
Software industrializationSoftware industrialization
Software industrialization
 
Installing Hortonworks Hadoop for Windows
Installing Hortonworks Hadoop for WindowsInstalling Hortonworks Hadoop for Windows
Installing Hortonworks Hadoop for Windows
 
Moving Drupal to the Cloud
Moving Drupal to the CloudMoving Drupal to the Cloud
Moving Drupal to the Cloud
 
How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...
How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...
How to become cloud backup provider with Cloudian HyperStore and CloudBerry L...
 
Fedora Atomic Workshop handout for Fudcon Pune 2015
Fedora Atomic Workshop handout for Fudcon Pune  2015Fedora Atomic Workshop handout for Fudcon Pune  2015
Fedora Atomic Workshop handout for Fudcon Pune 2015
 
Build, Deploy and Run Node Js Application on Azure using Docker
Build, Deploy and Run Node Js Application on Azure using DockerBuild, Deploy and Run Node Js Application on Azure using Docker
Build, Deploy and Run Node Js Application on Azure using Docker
 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud service
 
Overview of Docker
Overview of DockerOverview of Docker
Overview of Docker
 

More from Manish Jain

DeFi 101
DeFi 101DeFi 101
DeFi 101
Manish Jain
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An App
Manish Jain
 
Predictive Analytics - Big Data & Artificial Intelligence
Predictive Analytics - Big Data & Artificial IntelligencePredictive Analytics - Big Data & Artificial Intelligence
Predictive Analytics - Big Data & Artificial Intelligence
Manish Jain
 
Startup Engineering Cookbook for Mobile Apps
Startup Engineering Cookbook for Mobile AppsStartup Engineering Cookbook for Mobile Apps
Startup Engineering Cookbook for Mobile Apps
Manish Jain
 
Startup Engineering Cookbook
Startup Engineering CookbookStartup Engineering Cookbook
Startup Engineering Cookbook
Manish Jain
 
10 Things about Aadhaar
10 Things about Aadhaar10 Things about Aadhaar
10 Things about Aadhaar
Manish Jain
 
The Road to Financial Freedom
The Road to Financial FreedomThe Road to Financial Freedom
The Road to Financial Freedom
Manish Jain
 

More from Manish Jain (7)

DeFi 101
DeFi 101DeFi 101
DeFi 101
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An App
 
Predictive Analytics - Big Data & Artificial Intelligence
Predictive Analytics - Big Data & Artificial IntelligencePredictive Analytics - Big Data & Artificial Intelligence
Predictive Analytics - Big Data & Artificial Intelligence
 
Startup Engineering Cookbook for Mobile Apps
Startup Engineering Cookbook for Mobile AppsStartup Engineering Cookbook for Mobile Apps
Startup Engineering Cookbook for Mobile Apps
 
Startup Engineering Cookbook
Startup Engineering CookbookStartup Engineering Cookbook
Startup Engineering Cookbook
 
10 Things about Aadhaar
10 Things about Aadhaar10 Things about Aadhaar
10 Things about Aadhaar
 
The Road to Financial Freedom
The Road to Financial FreedomThe Road to Financial Freedom
The Road to Financial Freedom
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 

Installing WordPress on AWS

  • 1. August 2013 Installing WordPress on AWS EC2 RDS S3EBS
  • 2. What is Covered Slide Topic 3 Architecture Overview 4 Signup for AWS 5-13 Part 1: Create an EC2 Instance 14-16 Part 2: Configure your EC2 Instance 17-27 Part 3: Create an RDS Instance 28-33 Part 4: Install WordPress 34-37 Part 5: Configure S3 38-52 Part 6: Install Git 53 Done.
  • 3. Users Internet The AWS infrastructure for this tutorial Elastic Compute Cloud (EC2) Elastic Block Store (EBS) RDS MySQL Simple Storage Service (S3) Availability Zone: US-East-1b
  • 4. Create your free account on AWS - http://aws.amazon.com/free/
  • 5. Part One: Create an EC2 instance In AWS-speak creating a new virtual server is called an “instance”. “Spinning up an EC2 instance” is a phrase you will hear quite often which just refers to starting a new EC2 instance. EBS refers to the “hard drive” that is attached to the EC2 instance. It’s where all the system files will reside.
  • 6. Step 1: From the AWS Management Console click on EC2
  • 7. Step 2: Click on “Launch Instance” and select Quick Launch Wizard (Enter the Instance name, create a new key pair, download the key pair and select Ubuntu Server 12.04)
  • 8. Step 3: Select Amazon Linux AMI (Under Instance Details make sure t1.micro is selected it’s part of the free trial, then select Launch)
  • 9. Step 4: Your instance is being created
  • 10. Step 5: Add rules to the Default Security Group to allow inbound access to EC2 (port 22 = ssh and port 80 = http)
  • 11. Step 6: Assign an IP address by selecting Elastic IP’s
  • 12. Step 7: Right click on the IP address and select Associate. Assign it to your new instance.
  • 13. Step 8: Select your new Instance and right click on it (this contains some very useful information you might need later on)
  • 14. Part Two: Configure your EC2 instance Now that the EC2 instance has been created it’s time to install the LAMP (Linux, Apache, MySQL and PHP) stack which we’ll need before you can install WordPress. The Linux kernel was preinstalled when the EC2 instance was created. Apache and PHP will be installed in this section. MySQL will be installed in the next section.
  • 15. There are two ways you can connect to EC2, one is to right click on the EC2 instance name and launch a Java SSH client. The other way is to use a command line SSH client such as Terminal.app on the Mac. This tutorial will use Terminal. Step 1: Connect to the EC2 instance
  • 16. From Terminal go to the directory that contains <filename>.pem (the file contains your credentials to access your EC2 instance.) Change the permission of the file: chmod 400 [filename].pem Connect to your EC2 instance: ssh -i [filename].pem ubuntu@[Elastic IP] Switch to superuser: sudo su Install any new updates: sudo apt-get update Install Apache: apt-get -y install apache2 Install PHP: apt-get -y install php5 php5-mysql Step 2: Install Apache and PHP
  • 17. Part Three: Create an RDS MySQL instance
  • 18. Step 1: From the Management Console click on RDS and then select Launch a DB Instance
  • 19. Step 2: Select MySQL Community Edition
  • 20. Step 3: Select db.t1.micro, no for Multi-AZ (db.t1.micro is part of the Free Trial. Remember the Master Username and Master Password for WordPress)
  • 21. Step 4: Enter a Database Name (Remember the Database Name for WordPress)
  • 22. Step 5: Select the defaults
  • 23. Step 6: Select Launch DB Instance
  • 24. Step 7: The database may take 5 minutes to create
  • 25. Step 8: Click on DB Security Groups and click on the magnifying glass
  • 26. Step 9: Verify the EC2 Security Group is authorized
  • 27. Step 10: Click on Instance and review the informatio for the DB you created (Remember the Endpoint for WordPress)
  • 28. Part Four: Install WordPress WordPress will be installed at the root of your EC2 Instance.
  • 29. From Terminal go to the directory that contains <filename>.pem Change the permission of the file: chmod 400 [filename].pem Connect to your EC2 instance: ssh -i [filename].pem ubuntu@[Elastic IP] Switch to superuser: sudo su Change to the root directory: cd /var/www Download the latest WordPress package: wget http://wordpress.org/latest.tar.gz Extract WordPress: tar -xzvf latest.tar.gz Move WordPress to the root www folder: mv wordpress/* /var/www/ Delete the WordPress tar file and the existing index.html file rm latest.tar.gz rm index.html Change permissions on the directory: chown -hR www-data:www-data /var/www chmod -R g+rw /var/www Restart the Apache server service apache2 restart Step 1: Download and install WordPress
  • 30. Step 2: Point your browser to the Elastic IP address and create the config file
  • 31. Step 3: Enter the configuration details and submit
  • 32. Step 4: Finish the installation of WordPress
  • 33. Step 4: Goto your Elastic IP address and visit your new blog
  • 34. Part Five: Configure S3 S3 will be used to serve up media images (jpg, png, etc...) on the WordPress blog. S3 uses the term “bucket”, think of it as a container for your files. The bucket name has to be unique across the entire S3 platform.
  • 35. Step 1: From the Management Console click on S3 and select Create Bucket
  • 36. Step 2: Enter a bucket name
  • 37. Step 3: Click on Upload and add an image (Use the S3 link when adding an image to a blog post in WordPress)
  • 38. Part Six: Install Git Git is a powerful distributed version control system. For this tutorial we’ll be using Git on the EC2 instance, SourceTree an open source Git Mac client and Beanstalk* a service to manage and deploy code. Beanstalk has a free trial plan. BeanstalkSourceTree * Beanstalk should not be confused with Elastic Beanstalk which is an AWS offering to manage your application. Not 100% tested
  • 39. EC2 Staging Server Beanstalk Architecture of Git User X (running Git and SourceTree) User Y (running Git and SourceTree) Users EC2 Production Server AWS
  • 40. 1. Goto http://git-scm.com/downloads/ and download the latest version of Git. Double click on the installer and follow the directions. 2. Download SourceTree an open source Git client from http://www.sourcetreeapp.com and follow the instructions to install and configure it. 3. Open a terminal window Goto the hidden SSH directory in your home directory: cd ~/.ssh Generate a key (don’t enter any passphrase): ssh-keygen -t rsa Copy the generated key to the clipboard (needed for Beanstalk): cat ~/.ssh/id_rsa.pub | pbcopy Step 1: Install Git on your local computer
  • 41. 1. Goto http://beanstalkapp.com and setup an account (it’s free for one user). 2. Add your computers SSH key to the account by going to: https://<your-account>.beanstalkapp.com/public_keys Step 2: Setup Beanstalk 3. Click on Add Public Key 4. Add your SSH key which is in the clipboard (⌘+P)
  • 42. 5. Add a repository by going to https://<your-account>.beanstalkapp.com/repositories and click on Create a repository Setup Beanstalk (cont.)
  • 43. 6. Give it a name and select “Git” for type and click Next Step Setup Beanstalk (cont.)
  • 44. 7. Copy the Git URL Setup Beanstalk (cont.)
  • 45. 8. Launch SourceTree and click on the icon with the database and plus symbol and add the Git information from Beanstalk. You have successfully cloned the empty repository on Beanstalk to your local computer. Setup Beanstalk (cont.)
  • 46. 9. Before we can setup the Deployment Servers in Beanstalk, you need to commit and push a change to Beanstalk. Add a file to the local destination path and then refresh SourceTree. Commit the file and push the change. Setup Beanstalk (cont.)
  • 47. In Beanstalk we will configure the server that will have the code deployed to. From the Repository tab click on Deployment and select Create Server & Environment Step 3: Final setup for Beanstalk (cont.)
  • 48. Select SFTP for the server type. Step 3: Final setup for Beanstalk (cont.)
  • 49. Enter the details of your EC2 instance. Click on “download the key” you will be coping this to your EC2 instance. (DO NOT click “Check Connection”, that will be in the next step) Step 3: Final setup for Beanstalk (cont.)
  • 50. Copy the <repository-name>.pub deployment key to your EC2 instance in the /home/ec2-user/ directory Then from a terminal window add the <repository-name>.pub file to the EC2 authorized keys file: cat <repository-name>.pub >> ~/.ssh/authorized_keys Now click on “Check Connection” Step 3: Final setup for Beanstalk (cont.)
  • 51. Click on Next Step Step 3: Final setup for Beanstalk Done. You can now start to push code to your EC2 instance from Beanstalk.
  • 52. From Terminal go to the directory that contains <filename>.pem (the file contains your credentials to access the EC2 instance.) Change the permission of the file: chmod 400 [filename].pem Connect to your EC2 instance: ssh -i [filename].pem ubuntu@[Elastic IP] Switch to superuser: sudo su Install Git: apt-get -y install git Create a new directory: mkdir /var/www/ferrari Setup a Git repository: mkdir /var/www/ferrari cd /var/www/ferrari git init --bare Copy the <repository-name>.pub file to EC2 then copy the <repository-name>.pub file to the EC2 authorized keys file: cat beanstalk_rsa.pub >> ~/.ssh/authorized_keys Step 4: Install Git on EC2
  • 53. Done. Now What? Make things and break things to learn how all the various services of AWS work together. Visit AWS for more tutorials at: http://aws.amazon.com/articles/
  • 54. Created by: Manish Jain The backstory to why this presentation was created can be found on my blog at: http://celestri.org/
  • 56. Create and edit the config file: cd /var/www mv wp-config-sample.php wp-config.php nano wp-config.php Quick nano tutorial – Control-X to exit. You will need to edit the following entries in the config file with the values from your RDS MySQL instance: define(‘DB_NAME’, ‘wordpress’); define(‘DB_USER’, ‘root’); define(‘DB_PASSWORD’, ‘YOUR_PASSWORD’); define(‘DB_HOST’, ‘localhost’); Below is a mapping of the WordPress config file and the RDS MySQL instance: ‘DB_NAME’ = Database Name ‘DB_USER’ = Master Username ‘DB_PASSWORD’ = Master User Password ‘DB_HOST’ = RDS Endpoint Instructions to manually edit the WordPress config file
  • 57. From Terminal go to the directory that contains <filename>.pem Change the permission of the file: chmod 400 [filename].pem Connect to your EC2 instance: ssh -i [filename].pem ubuntu@[Elastic IP] Switch to superuser: sudo su To install MySQL: apt-get install -y mysql-server Create a root password for MySQL when prompted Enter into the MySQL shell to enter the commands mysql -u root -p (enter the password when prompted) Now you are in the MySQL shell and will create a new database, you should see mysql> CREATE DATABASE wordpressAWS; Create a new user: CREATE USER myadmin@localhost; Set the password for the newly created user: SET PASSWORD FOR myadmin@localhost = PASSWORD(“whatever”); Instructions to install MySQL on an EC2 instance
  • 58. Grant all privileges to the newly created user: GRANT ALL PRIVILEGES ON wordpressAWS.* TO myadmin@localhost IDENTIFIED BY “whatever”; Then refresh MySQL: FLUSH PRIVILEGES; Exit the MySQL shell: exit From the command line secure your database installation: mysql_secure_installation Instructions to install MySQL on an EC2 instance (continued)
  • 59. Cyberduck is an open source FTP/SFTP client. Enter the details below to configure it. Use Cyberduck to copy files to EC2 Your [filename].pem Select SFTP Enter ubuntu