Skip to content

No More Cowboy Coding! A.K.A. Easy Local WordPress Staging and Development Site

Notifications You must be signed in to change notification settings

mikeschinkel/wordcamp-tampa-2016

Repository files navigation

#No More Cowboy Coding!

AKA Easy Local WordPress Development

Presented by Mike Schinkel

##Agenda

WORKSHOP

  1. Install VirtualBox
  2. Install Vagrant
  3. Install Vagrant Plugins
  4. Pick your "Sites" Directory
  5. Get WPLib Box
  6. Now: Vagrant Up!
  7. Open wplib.box
  8. Login to the Admin Console
  9. Change the Domain Name
  10. Exploring the Database
  11. Debugging with PhpStorm
  12. Fixing IP Conflicts
  13. Importing Your Own Project
  14. Multi-tenancy

BACKGROUND

  • What Defines a Web Server?
  • What Defines WordPress on a Web Server?
  • Web Servers vs Local Computers
  • Benefits of Local Development
  • Options for Local Development
  • Options for Local WordPress Development

#WORKSHOP

##Software Required

OR

  • Use a Thumb Drive (One of four Lexar 8Gb drives)
  • Instructions Here for Unzipping vagrant.d.zip

##Workshop Instructions For:

#BACKGROUND ##What Defines a Web Server?

  • A computer running software
  • Web Server software aka a "Listener" on port 80
  • Maybe a database server like MySQL
  • Maybe a programming language like PHP

##What Defines WordPress on a Web Server?

  • Apache or Nginx web server
  • MySQL or MariaDB database server
  • PHP programming language
  • Source code (PHP + CSS + JS + HTML + Images + etc.)
    • WordPress Core
    • One Theme
    • Zero or More Plugins
  • A Database containing Content (and some configuration)
  • Uploaded Files: (Images, PDFs, etc.)

##Web Servers vs Local Computers

  • Both are just computers
  • IP addresses:
    • Laptop/Desktop: Dynamically assigned (usually)
    • Hosted Website: Statically assigned
  • Both can host websites
  • All you need to host locally in to install the software

##Benefits of Local Development

  • No more Cowboy Coding!
  • Local Changes do not affect the Live Website
  • Ability to use a Debugger
  • No Latency when editing theme and plugin files.
  • Try "what if" scenarios
    • If no good, throw away and start over
  • Easier to use Version Control
  • Easier to use Composer
  • Easier to level up to Best Practices over time

##Options for Local Development

  1. Install on your computer
    • Free, open source and standard
    • Commercial and proprietary
  2. Install a Virtual Machine from on a Hypervisor (VirtualBox or VMware)
    • Free
  3. Install Docker Container in a Virtual Machine with a Hypervisor
    • Free and Commercial

##Options for Local WordPress Development

  • WAMP/MAMP/XXAMP (Commercial)
  • Laravel Homestead (free, optimized for Laravel)
  • Laravel Valet (free, installs directly on your computer)
  • ScotchBox (free, generic PHP, no XDEBUG)
  • VVV (Free, Complicated)
  • VIP Quickstart (Free, Ironically named)
  • Trellis (Free, Complicated)
  • DesktopServer (Commercial)
  • Pressmatic (Commercial)
  • Many other lesser known solutions (most are free)
  • WPLib Box (Free, Simple)
    • Full Disclosure - I designed it, and our team built it.

##Questions?

  • About anything except future plans

##WPLib Box Future Plans

  • We Pledge:

    • To keep WPLib Box software always free to use
    • To solve the harder problems WordPress site builders experience
    • To have a fanatical focus on "Developer Experience"
    • To make it easier for WordPress Pros to follow best practices vs. not.
  • Multi-project Support in the very near future (~1 month?), including:

    • An Admin Console
    • An API
    • An In-Box Command Line Tool
  • A Windows and Mac Command Line Tool to Manage the Box

  • Commercial Support to include Installers for Mac & Windows

  • Build Tools

  • Deployment Tools

  • Installable Packages

  • Hardware versions of WPLib Box

    • Would you be interested in one?
  • Questions?

About

No More Cowboy Coding! A.K.A. Easy Local WordPress Staging and Development Site

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published