SlideShare a Scribd company logo
1 of 31
Download to read offline
Local
– your physical machine (PC/Mac/Laptop)
Staging
– Hosted (interwebs) site used for client showcase and
testing of website changes
Production
– The live website being accessed by visitors
• Heaps faster (no waiting on file transfers)
• Safe environment (let’s not make untested
changes to production)
• Demo to clients and quickly change stuff on the
fly on-site
• Don’t need no freaking interwebs
– Work on a plane or
during a zombie apocalypse
1. Install WordPress on local
2. Edit code and test changes
3. Push changes to the server
– Either direct to production (try to avoid this)
– Or to staging then production
Local Staging Production
Local Production
On your local machine
– Apache (web server)
– MySQL (database server)
– PHP (programming language)
– WordPress
– Code editor
– Your fav web browser
• Or most likely all of them for testing
Server
Component
(AMP)
• Desktop Server (Win & Mac)
– http://serverpress.com/products/desktopserver/
– Free open source
• Setup wizard – installs Apache, MySQL, PHP,
WordPress & PHPMyAdmin
• Uses .dev local TLD
– Sites are installed as:
www.example.dev
Top Level Domain
• XAMPP Apache + MySQL + PHP + Perl
– https://www.apachefriends.org/
– Win, Mac, Linux = free open source
• Just installs the server component
– requires some knowledge of setting up Apache &
MySQL databases
• More granular control over your environment
• Can install WordPress as an add-on module
– https://www.apachefriends.org/add-ons.html
Another Script Language
• MAMP – Apache + MySQL + PHP + Perl + Python
– https://www.mamp.info/
– Win & Mac (mostly Mac users) = free + paid version
• Just installs the server component
– requires some knowledge of setting up Apache &
MySQL databases
• More granular control over your environment
• You need to install WordPress manually
Another Script Language
• AMPPS: Apache + MySQL + PHP + PERL + Python + MongoDB
– http://www.ampps.com/
– Win, Mac & Linux = free
• Same story as MAMP, XAMPP
– Highly configurable but requires setup &
configuration
Alternative Database
• Vagrant + VirtualBox
– Advanced local dev setup
– Win, Mac & Linux = free open source
• Allows you to create a virtual machine running on local
– Virtualisation software
– Run any operating system
– Run any web server configuration
• Used by expert developers to replicate exact client
environment
• Command line setup of server image
• Above creates a new virtual machine running Ubuntu
12.04 LTS 32-bit
• “Vagrant SSH” to configure machine
• “Vagrant destroy” to remove all traces from local
machine
$ vagrant init hashicorp/precise32
$ vagrant up
There is a special build of Vagrant called Chassis
– WordPress, PHP 5.6, NGINX and MySQL pre-installed
“Chassis is a virtual server for WordPress, designed for
simplicity and speed.”
You can read more at http://docs.chassis.io/en/latest/
Desktop Server
XAMPP, MAMP, AMPPS
Vagrant
EASY
INTERMEDIATE
ADVANCED
• What software versions do you need?
– PHP 5.6? Apache 2.4? NGINX?
– Do you need Python? MariaDB?
• The price you’re willing to pay (most are free)
• What tools/support are included?
– Debugger, frameworks (Zend), PHPMyAdmin
• How easy to set up and configure
– Server components
– WordPress
Alternative Database
Alternative Web Server
• Grab latest copy from
https://wordpress.org/download/
• Download to local and unzip
• Open /wordpress folder
• Move contents of /wordpress folder to server
– You probably don’t want /wordpress/ in your site URL
• Copy wp-config-sample.php to wp-config.php
• Edit wp-config.php and change
– DB_NAME, DB_USER, DB_PASSWORD, DB_HOST
– e.g. define('DB_HOST', 'localhost');
• PHPStorm (Win, Mac, Linux) - my fav
– https://www.jetbrains.com/phpstorm/
– Supports WordPress projects
– Also Git/Xdebug/SSH + lots lots lots more
– Paid (30-day trial) ($199 USD March 2016)
• Coda (Mac)
– http://panic.com/coda/
– Supports WordPress Projects (Git +more)
– Paid ($99 USD March 2016)
• Sublime Text (Win, Mac, Linux)
– http://www.sublimetext.com/
– Paid ($70 USD March 2016)
• Dreamweaver CC (Win, Mac)
– http://www.adobe.com/au/products/dreamweaver.html
– Interacts with Photoshop – CSS from PSD layers
– Paid ($22.99 AUD Adobe CC subscription March 2016)
• Notepad (Win) / TextEdit (Mac)
– Free!!
• PHPMyAdmin (Win, Mac, Linux)
– http://www.phpmyadmin.net/
– Free open source
– Standard DB interface with most Linux builds
• Navicat (Win, Max, Linux)
– http://navicat.com/ (Win, Mac, Linux)
– Paid ($99-$799 USD March 2016)
– Advanced users
• Visual SQL/Schema builder
• Cloud DB management
 Local Server Running
 WordPress Installed
 Database Management Installed
 Code Editor Ready
Ultimate goal is to update a production server!
You need to shift code from local to production.
File transfer (FTP)
– WinSCP (Win)
• http://winscp.net/
– FileZilla (Win, Mac, Linux)
• https://filezilla-project.org/
– Forklift (Mac)
• http://www.binarynights.com/forklift/
– Transmit (Mac)
• https://panic.com/transmit/
Protocol FTP
Port 21
Host Name
User Name
Password
Remote Directory & Local Directory
FTP transfers files in plain-text (unencrypted)
FTPS – secure version of FTP, requires SSL
certificate
Even better to use SFTP – using SSH keys to
authenticate, encrypt and transfer files securely
• Git http://git-scm.com/ (open source)
– Distributed repository version control
– Most popular just now
• Mercurial http://mercurial.selenic.com/ (open source)
– Distributed repository version control
• Subversion https://subversion.apache.org/ (open source)
– Central repository version control
• Dropbox https://www.dropbox.com/
– Hmmm? But yes I’ve seen it being used
• PHPMyAdmin
– Export database as sql.gz from local
– Reimport to empty database on server
• Search Replace DB
– https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
– PHP file – run through browser
– Replace testdomain.dev with www.mydomain.com
• WP Migrate DB Pro
– https://deliciousbrains.com/wp-migrate-db-pro/
– Push/Pull/Sync WordPress databases
• Code Diff (compare changes)
– Kaleidoscope (Mac) http://www.kaleidoscopeapp.com/
– Diffmerge (Win) http://www.diffmerge.net/
• Offline API Documentation Browser
– Dash (Mac) https://kapeli.com/dash
– Zeal (Win, Linux) http://zealdocs.org/
• Testing
– PHPUnit for testing PHP code https://phpunit.de/
– WordPress test data http://wptest.io/
• Git Hosting
– Bitbucket (free private repos) https://bitbucket.org/
– GitHub (free public repos) https://github.com/
[Front Cover] 1935 Bride of Frankenstein movie
[3] pixbay.com
[6] serverpress.com
[7] apachefriends.org
[10] vagrantup.com
[11] vagrantup.com
[12] chassis.io
[20] memegenerator.net
[22] zeropointdevelopment.com
[23] zeropointdevelopment.com
[Back Cover] zeropointdevelopment.com
 20+ years in IT: Dev & SysOps
 WordPress Developer since 2008
 Plugins, APIs, Security & Systems Integrations
 Organiser WPSyd & WordCamp Sydney
zeropointdevelopment.com
@DeveloperWil
♥ Pizza & Craft Beer
Setting up a local WordPress development environment

More Related Content

What's hot

Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneruJak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneruVašek Boch
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansibleKhizer Naeem
 
Apache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpApache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpSander Temme
 
CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009Jason Davies
 
Apache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 PresentationApache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 Presentationultimatetux
 
Save Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineSave Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineShawn Hooper
 
Highly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi clusterHighly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi clusterJeff Geerling
 
Configuration Management in WordPress
Configuration Management in WordPressConfiguration Management in WordPress
Configuration Management in WordPressEdmund Turbin
 
Memcached B box presentation
Memcached B box presentationMemcached B box presentation
Memcached B box presentationNagesh Chinkeri
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Alexander Lisachenko
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments Ohad Raz
 
Hosting a Rails App
Hosting a Rails AppHosting a Rails App
Hosting a Rails AppJosh Schramm
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Alan Lok
 
cPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanelcPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanelcPanel
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with PuppetKris Buytaert
 
StackiFest16: Building a Cart
StackiFest16: Building a CartStackiFest16: Building a Cart
StackiFest16: Building a CartStackIQ
 

What's hot (20)

Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneruJak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
Jak se ^bonami\.(cz|pl|sk)$ vešlo do kontejneru
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
 
Apache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpApache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling Up
 
CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009
 
Varnish intro
Varnish introVarnish intro
Varnish intro
 
Apache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 PresentationApache HTTPd Server 2.2 Presentation
Apache HTTPd Server 2.2 Presentation
 
Save Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineSave Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command Line
 
Highly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi clusterHighly available Drupal on a Raspberry Pi cluster
Highly available Drupal on a Raspberry Pi cluster
 
Configuration Management in WordPress
Configuration Management in WordPressConfiguration Management in WordPress
Configuration Management in WordPress
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
 
Memcached B box presentation
Memcached B box presentationMemcached B box presentation
Memcached B box presentation
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments
 
Hosting a Rails App
Hosting a Rails AppHosting a Rails App
Hosting a Rails App
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016
 
Composer
ComposerComposer
Composer
 
10 Data caching
10 Data caching10 Data caching
10 Data caching
 
cPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanelcPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanel
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with Puppet
 
StackiFest16: Building a Cart
StackiFest16: Building a CartStackiFest16: Building a Cart
StackiFest16: Building a Cart
 

Viewers also liked

Viewers also liked (7)

Monetising WordPress
Monetising WordPressMonetising WordPress
Monetising WordPress
 
Understanding Open Source & GPL
Understanding Open Source & GPLUnderstanding Open Source & GPL
Understanding Open Source & GPL
 
23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress
 
Choosing the best hosting package for WordPress
Choosing the best hosting package for WordPressChoosing the best hosting package for WordPress
Choosing the best hosting package for WordPress
 
Scaling WordPress for High Traffic - Server Architecture
Scaling WordPress for High Traffic - Server ArchitectureScaling WordPress for High Traffic - Server Architecture
Scaling WordPress for High Traffic - Server Architecture
 
WordPress Security Best Practices
WordPress Security Best PracticesWordPress Security Best Practices
WordPress Security Best Practices
 
WordPress Theming 101
WordPress Theming 101WordPress Theming 101
WordPress Theming 101
 

Similar to Setting up a local WordPress development environment

Stress Free Deployment - Confoo 2011
Stress Free Deployment  - Confoo 2011Stress Free Deployment  - Confoo 2011
Stress Free Deployment - Confoo 2011Bachkoutou Toutou
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topicsrahulbot
 
XenServer Design Workshop
XenServer Design WorkshopXenServer Design Workshop
XenServer Design WorkshopTim Mackey
 
Building with Virtual Development Environments
Building with Virtual Development EnvironmentsBuilding with Virtual Development Environments
Building with Virtual Development EnvironmentsOscar Merida
 
Deploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeDeploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeWO Community
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamerWannes Rams
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamerSharon James
 
Using MAMP for Web Development
Using MAMP for Web DevelopmentUsing MAMP for Web Development
Using MAMP for Web DevelopmentEric Greene
 
Sutol How To Be A Lion Tamer
Sutol How To Be A Lion TamerSutol How To Be A Lion Tamer
Sutol How To Be A Lion TamerSharon James
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnwgarrett honeycutt
 
Firefox Crash Reporting (@ Open Source Bridge)
Firefox Crash Reporting (@ Open Source Bridge)Firefox Crash Reporting (@ Open Source Bridge)
Firefox Crash Reporting (@ Open Source Bridge)lauraxthomson
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuis Rodríguez Castromil
 
Making Developers Productive with Vagrant, VirtualBox, and Docker
Making Developers Productive with Vagrant, VirtualBox, and DockerMaking Developers Productive with Vagrant, VirtualBox, and Docker
Making Developers Productive with Vagrant, VirtualBox, and DockerJohn Rofrano
 
Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Dmitry Guyvoronsky
 
Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best PracticesTomica Kaniski
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Codemotion
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasaggarrett honeycutt
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with AnsibleRayed Alrashed
 

Similar to Setting up a local WordPress development environment (20)

Stress Free Deployment - Confoo 2011
Stress Free Deployment  - Confoo 2011Stress Free Deployment  - Confoo 2011
Stress Free Deployment - Confoo 2011
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topics
 
XenServer Design Workshop
XenServer Design WorkshopXenServer Design Workshop
XenServer Design Workshop
 
Building with Virtual Development Environments
Building with Virtual Development EnvironmentsBuilding with Virtual Development Environments
Building with Virtual Development Environments
 
Deploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeDeploying to Ubuntu on Linode
Deploying to Ubuntu on Linode
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
Using MAMP for Web Development
Using MAMP for Web DevelopmentUsing MAMP for Web Development
Using MAMP for Web Development
 
Sutol How To Be A Lion Tamer
Sutol How To Be A Lion TamerSutol How To Be A Lion Tamer
Sutol How To Be A Lion Tamer
 
Hadoop on osx
Hadoop on osxHadoop on osx
Hadoop on osx
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw
 
Firefox Crash Reporting (@ Open Source Bridge)
Firefox Crash Reporting (@ Open Source Bridge)Firefox Crash Reporting (@ Open Source Bridge)
Firefox Crash Reporting (@ Open Source Bridge)
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
 
Making Developers Productive with Vagrant, VirtualBox, and Docker
Making Developers Productive with Vagrant, VirtualBox, and DockerMaking Developers Productive with Vagrant, VirtualBox, and Docker
Making Developers Productive with Vagrant, VirtualBox, and Docker
 
Lecture 7: Server side programming
Lecture 7: Server side programmingLecture 7: Server side programming
Lecture 7: Server side programming
 
Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)
 
Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best Practices
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 

Recently uploaded

Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理F
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsPriya Reddy
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.krishnachandrapal52
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsMonica Sydney
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...kumargunjan9515
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...meghakumariji156
 

Recently uploaded (20)

Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 

Setting up a local WordPress development environment

  • 1.
  • 2. Local – your physical machine (PC/Mac/Laptop) Staging – Hosted (interwebs) site used for client showcase and testing of website changes Production – The live website being accessed by visitors
  • 3. • Heaps faster (no waiting on file transfers) • Safe environment (let’s not make untested changes to production) • Demo to clients and quickly change stuff on the fly on-site • Don’t need no freaking interwebs – Work on a plane or during a zombie apocalypse
  • 4. 1. Install WordPress on local 2. Edit code and test changes 3. Push changes to the server – Either direct to production (try to avoid this) – Or to staging then production Local Staging Production Local Production
  • 5. On your local machine – Apache (web server) – MySQL (database server) – PHP (programming language) – WordPress – Code editor – Your fav web browser • Or most likely all of them for testing Server Component (AMP)
  • 6. • Desktop Server (Win & Mac) – http://serverpress.com/products/desktopserver/ – Free open source • Setup wizard – installs Apache, MySQL, PHP, WordPress & PHPMyAdmin • Uses .dev local TLD – Sites are installed as: www.example.dev Top Level Domain
  • 7. • XAMPP Apache + MySQL + PHP + Perl – https://www.apachefriends.org/ – Win, Mac, Linux = free open source • Just installs the server component – requires some knowledge of setting up Apache & MySQL databases • More granular control over your environment • Can install WordPress as an add-on module – https://www.apachefriends.org/add-ons.html Another Script Language
  • 8. • MAMP – Apache + MySQL + PHP + Perl + Python – https://www.mamp.info/ – Win & Mac (mostly Mac users) = free + paid version • Just installs the server component – requires some knowledge of setting up Apache & MySQL databases • More granular control over your environment • You need to install WordPress manually Another Script Language
  • 9. • AMPPS: Apache + MySQL + PHP + PERL + Python + MongoDB – http://www.ampps.com/ – Win, Mac & Linux = free • Same story as MAMP, XAMPP – Highly configurable but requires setup & configuration Alternative Database
  • 10. • Vagrant + VirtualBox – Advanced local dev setup – Win, Mac & Linux = free open source • Allows you to create a virtual machine running on local – Virtualisation software – Run any operating system – Run any web server configuration • Used by expert developers to replicate exact client environment
  • 11. • Command line setup of server image • Above creates a new virtual machine running Ubuntu 12.04 LTS 32-bit • “Vagrant SSH” to configure machine • “Vagrant destroy” to remove all traces from local machine $ vagrant init hashicorp/precise32 $ vagrant up
  • 12. There is a special build of Vagrant called Chassis – WordPress, PHP 5.6, NGINX and MySQL pre-installed “Chassis is a virtual server for WordPress, designed for simplicity and speed.” You can read more at http://docs.chassis.io/en/latest/
  • 13. Desktop Server XAMPP, MAMP, AMPPS Vagrant EASY INTERMEDIATE ADVANCED
  • 14. • What software versions do you need? – PHP 5.6? Apache 2.4? NGINX? – Do you need Python? MariaDB? • The price you’re willing to pay (most are free) • What tools/support are included? – Debugger, frameworks (Zend), PHPMyAdmin • How easy to set up and configure – Server components – WordPress Alternative Database Alternative Web Server
  • 15. • Grab latest copy from https://wordpress.org/download/ • Download to local and unzip • Open /wordpress folder • Move contents of /wordpress folder to server – You probably don’t want /wordpress/ in your site URL • Copy wp-config-sample.php to wp-config.php • Edit wp-config.php and change – DB_NAME, DB_USER, DB_PASSWORD, DB_HOST – e.g. define('DB_HOST', 'localhost');
  • 16. • PHPStorm (Win, Mac, Linux) - my fav – https://www.jetbrains.com/phpstorm/ – Supports WordPress projects – Also Git/Xdebug/SSH + lots lots lots more – Paid (30-day trial) ($199 USD March 2016) • Coda (Mac) – http://panic.com/coda/ – Supports WordPress Projects (Git +more) – Paid ($99 USD March 2016)
  • 17. • Sublime Text (Win, Mac, Linux) – http://www.sublimetext.com/ – Paid ($70 USD March 2016) • Dreamweaver CC (Win, Mac) – http://www.adobe.com/au/products/dreamweaver.html – Interacts with Photoshop – CSS from PSD layers – Paid ($22.99 AUD Adobe CC subscription March 2016) • Notepad (Win) / TextEdit (Mac) – Free!!
  • 18. • PHPMyAdmin (Win, Mac, Linux) – http://www.phpmyadmin.net/ – Free open source – Standard DB interface with most Linux builds • Navicat (Win, Max, Linux) – http://navicat.com/ (Win, Mac, Linux) – Paid ($99-$799 USD March 2016) – Advanced users • Visual SQL/Schema builder • Cloud DB management
  • 19.  Local Server Running  WordPress Installed  Database Management Installed  Code Editor Ready
  • 20. Ultimate goal is to update a production server! You need to shift code from local to production.
  • 21. File transfer (FTP) – WinSCP (Win) • http://winscp.net/ – FileZilla (Win, Mac, Linux) • https://filezilla-project.org/ – Forklift (Mac) • http://www.binarynights.com/forklift/ – Transmit (Mac) • https://panic.com/transmit/
  • 22. Protocol FTP Port 21 Host Name User Name Password
  • 23. Remote Directory & Local Directory
  • 24. FTP transfers files in plain-text (unencrypted) FTPS – secure version of FTP, requires SSL certificate Even better to use SFTP – using SSH keys to authenticate, encrypt and transfer files securely
  • 25. • Git http://git-scm.com/ (open source) – Distributed repository version control – Most popular just now • Mercurial http://mercurial.selenic.com/ (open source) – Distributed repository version control • Subversion https://subversion.apache.org/ (open source) – Central repository version control • Dropbox https://www.dropbox.com/ – Hmmm? But yes I’ve seen it being used
  • 26. • PHPMyAdmin – Export database as sql.gz from local – Reimport to empty database on server • Search Replace DB – https://interconnectit.com/products/search-and-replace-for-wordpress-databases/ – PHP file – run through browser – Replace testdomain.dev with www.mydomain.com • WP Migrate DB Pro – https://deliciousbrains.com/wp-migrate-db-pro/ – Push/Pull/Sync WordPress databases
  • 27. • Code Diff (compare changes) – Kaleidoscope (Mac) http://www.kaleidoscopeapp.com/ – Diffmerge (Win) http://www.diffmerge.net/ • Offline API Documentation Browser – Dash (Mac) https://kapeli.com/dash – Zeal (Win, Linux) http://zealdocs.org/
  • 28. • Testing – PHPUnit for testing PHP code https://phpunit.de/ – WordPress test data http://wptest.io/ • Git Hosting – Bitbucket (free private repos) https://bitbucket.org/ – GitHub (free public repos) https://github.com/
  • 29. [Front Cover] 1935 Bride of Frankenstein movie [3] pixbay.com [6] serverpress.com [7] apachefriends.org [10] vagrantup.com [11] vagrantup.com [12] chassis.io [20] memegenerator.net [22] zeropointdevelopment.com [23] zeropointdevelopment.com [Back Cover] zeropointdevelopment.com
  • 30.  20+ years in IT: Dev & SysOps  WordPress Developer since 2008  Plugins, APIs, Security & Systems Integrations  Organiser WPSyd & WordCamp Sydney zeropointdevelopment.com @DeveloperWil ♥ Pizza & Craft Beer