#No More Cowboy Coding!
AKA Easy Local WordPress Development
Presented by Mike Schinkel
##Agenda
- Install VirtualBox
- Install Vagrant
- Install Vagrant Plugins
- Pick your "Sites" Directory
- Get WPLib Box
- Now: Vagrant Up!
- Open wplib.box
- Login to the Admin Console
- Change the Domain Name
- Exploring the Database
- Debugging with PhpStorm
- Fixing IP Conflicts
- Importing Your Own Project
- Multi-tenancy
- 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
- VirtualBox (Download Here)
- Vagrant (Download Here)
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
- Install on your computer
- Free, open source and standard
- Commercial and proprietary
- Install a Virtual Machine from on a Hypervisor (VirtualBox or VMware)
- Free
- 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?