The image is and the other one is
In this article, i’m going to show you how to set up a local WordPress development environment with Vagrant. We will be using Vagrant WordPress LEMP created by Trevor Maglione. I prefer using this compared to something like VVV because it is more lightweight (using Puppet to provision the VM rather than a complex shell script), it’s quick to use, and uses the latest technologies. Vagrant WordPress LEMP will install WordPress on top of the following technologies:
- Ubuntu 14.04
- MariaDB (an open source, drop-in MySQL replacement)
- WP CLI
Step 1: Install VirtualBox Vagrant & Plugins
To get started, we need to install VirtualBox. VirtualBox is a free and open source virtualization software backed by Oracle. This is what we’ll be using to create our virtual machines. Go to Virtualbox.org to download & install VirtualBox for your operating system.
Next we install Vagrant. Vagrant is your command line interface to VirtualBox. Vagrant is used to create and provision virtual machines. Go to VagrantUp.com to download & install Vagrant for your operating system.
Once Vagrant is installed, we need to install the Vagrant Hosts Updater plugin to make changes to your hosts file so virtual machines can easily be accessed in your web browser. In your command line type:
`vagrant plugin install vagrant-hostsupdater`
Step 2: Set up Vagrant Project
We’re now ready to launch our first virtual machine:
- Download a version of Vagrant WordPress LEMP here.
- Extract the file
- Rename Vagrantfile.sample to Vagrantfile
- Edit line 16 to the desired name of your development site, for example if you renamed it wptemple you can access the site at http://wptemple.dev/
- On line 30, you’ll need to keep track of the IP address. For the first VM you launch you don’t need to change it, but future VMs can’t have the same IP address, or you’ll have conflicts.
There are other things you can change in this file like the version of Ubuntu, amount of memory, CPUs, WordPress Login, MySQL Login, etc.. but i’ll leave that up to you to discover and modify (at your own risk).
Step 3: Launching the VM
Note: Windows users, please do the following steps in an elevated command prompt or the hosts updater plugin won’t set a URL.
Launching your VM is simple:
- In Terminal/Command Prompt go to the folder where your Vagrantfile is located
- Type `vagrant up`
The first thing that will happen (for first time Vagrant users) is it will import Ubuntu, it should take a couple of minutes. After a few minutes (for Mac/Linux Users) it will prompt you for your password for superuser permissions. This is so Vagrant can modify your /etc/hosts file to point the site you specified in the Vagrantfile to the VMs IP Address. Once that is done, Vagrant will then provision the virtual machine Installing a LEMP stack, PHPMyAdmin, WP-CLI, and then WordPress.
Once it’s done, go into a web browser and type in the name that you specified (in my example, http://wptemple.dev/). You will now see a working WordPress site. The default login credentials are vagrant/vagrant, but could be different if you changed this in your Vagrantfile before provisioning.
And there you have it, a completely functional WordPress development environment. How did the setup go for you?
SSL (Secure Socket Layer) Certificates have been a recurring topic in the tech community lately, mostly because of Googles actions to attempt to make the web more secure. When a site is sent over HTTP, all data is sent between a server and web browser in plain text. When an SSL Certificate is used, this data is encrypted. In this article we will discus the potential benefits of using an SSL Certificate on a website.
While this is the most obvious benefit of using an SSL Certificate, it isn’t something that should be taken lightly. Is your website taking in potentially sensitive client/customer information through things like a contact form? If you’re not using an SSL Certificate, someone with the right technical know-how can see all of the info that is being submitted.
That little lock icon can go a long way in the realm of trust. Think about it, would you ever sign onto a bank’s website or enter your credit card information on an ecommerce site if you didn’t see the lock icon? I know I wouldn’t, and even users with not a lot of technical knowledge know this as well. If you would like to build trust with your users, one way could be to implement SSL. There have been a number of Case Studies showing that can increase measurably while using SSL, especially when using EV (Extended Validation) SSL. An EV Certificate requires extra steps to get verified and costs more than normal SSL, and usually displays a business’s name in the browser bar, like so:
Google has recently announced that they will now begin to give rankings boots to sites that use SSL. While studies have shown that there is very little rankings benefit from installing an SSL Certificate, there is undoubtedly some improvements. Also the head of Google’s webspam team, Matt Cutts has stated that he would like SSL certificates to weigh more heavily on rankings in the future.
Extra Credit: SHA-1 vs. SHA-2
One thing that you’ll have to decide when purchasing an SSL Certificate is which SHA (Secure Hash Algorithm) to use. Again, Google has made this decision easy for you. In early September, Google announces that they will depreciate support for SHA-1 SSL Certificates because of security concerns (SHA1 is becoming easier to crack). Starting this month, Google Chrome will start issuing warnings for SHA-1 certificates that are valid after January, 1st 2017. This is part of their pledge to try to make the web more secure. Good news is that you have more than 2 years to figure this out, but don’t wait. All reputable SSL Certificate issuers offer SHA-2 certificates.
If you are serious about your website’s security and the privacy of your customers, I would definitely recommend you install an SSL certificate on your website. You can see that WP Temple uses SSL, I was able to get it up and running with our web host, WP Engine in less than an hour, and it costs less than $50/year. If you are looking to get an SSL Certificate for your website, here are some issuers that I recommend:
Standard SSL Certificates:
- Rapid SSL – from $49/yr
- Comodo – from $64.95/yr
- DigiCert – from $179/yr
Extended Validation SSL Certificates
- Comodo – from $359/yr
- Digicert – from $295/yr
- VeriSign – from $995/yr
Atom, is one of the webs newest text editors. Created by the team at Github, atom is meant to be versatile and customizable to any coder’s needs. Atom is based off the Atom Shell which combines the Chromium framework and Node.js to make a full-fledged desktop app. Atom is highly customizable through a diverse package library and an easy method to create addon packages. Atom is open-source software and is completely free.
Currently there are prebuilt Atom packages for Mac, Windows 7 and Windows 8. Simply go to Atom’s website and download and install the software. On a Mac, Atom can automatically update itself. On Windows, it is recommended to install Atom via Chocolatey in order to get updates until it comes out of Alpha.
Working With Atom
While using Atom, you will notice that the interface is very similar to Sublime Text and Text Mate. The developers at Github were very thoughtful at keeping the interface clean and easy to use.
Atom also offers really nice information about git out of the box. This includes showing the current working branch in the bottom right of the window as well as the status of files (unstaged changes, new files, staged changes, etc..) in the sidebar. This is a really convenient feature that does not come native in any other text editor that we know if (props to Github).
Extending Atom’s through Themes and Packages
Atom is a really useful text editor out of the box. What makes it really powerful is its unlimited potential for extensibility. This can be done through both themes and packages.
Configuring Atom Themes
Installing a new theme for Atom is very simple. Go to their Theme Repository and look around until you find one that suits your needs. My favorite theme is Soda Dark UI. Once you have decided on a theme, go to Atom’s preferences and click on the Themes tab. Enter the desired theme in the search bar, then click install. Once installed select the theme in the UI theme dropdown.
You can also install what is called a Syntax theme, which changes the colors of the syntax highlighting. My personal preference is to used the Solarized Dark syntax, as this is what I use in the command line and in other text editors.
Configuring Atom Packages
Packages are how you add new functionality to Atom. Packages do anything from adding file icons to autocompleting WordPress functions. For a complete list of all available Atom packages, check out Atom’s Package Repository. You install packages in Atom very similarly to how you install themes. Go to Atom’s preferences and click on the packages tab. Search for the package you want and click install. Note that all packages have settings pages which will explain the package in more depth as well as some sample use cases.
While Atom is still in its infancy as far as text editors go, it has the potential to be as widely used as some of it’s competitors. The fact that it is open-source, makes it much more appealing to open-source developers – plus its free! Stay tuned for more Atom tips and tutorials.
As of June 30, 2014 version 2.1 of the Genesis Framework is available for download. While this is a relatively minor point release, Genesis 2.1 brings the popular theme framework up to date with newer WordPress features like the Theme Customizer, and fixes some bugs and annoyances that currently exist within Genesis. Please see the Studiopress blog post for more specific details about all the specific changes.
Settings in the Theme Customizer:
With this new release, many of the settings for the Genesis theme are now available from within the theme customizer. The one that makes the most sense to add in is the color scheme setting. Now, you can change the color scheme and see the changes in real time. Other important settings added to the theme customizer are site layout (where the sidebar is positioned, or not at all), breadcrumbs, and how to display content archives.
While this isn’t the most feature rich release of Genesis (compared to 2.0), it definitely makes the framework more appealing to use. What are your thoughts, do you like the new features added to Genesis 2.1?
Since being publicly released, HipHop Virtual Machine (HHVM) has taken the PHP world by storm. HHVM was created by Facebook as an effort to reduce hardware costs, and the results have been mind-boggling. Facebook saw a 6x reduction in CPU usage drastically increasing performance and reducing costs simultaneously.
How does HHVM work?
Straight from the HHVM website:
The plain English translation is that HHVM cuts out the process of compiling PHP as C++ (and then to binary) allowing for faster performance.
Is WordPress compatible with HHVM?
As of WordPress 3.9 WordPress can run on HHVM. Do note that this means that WordPress Core can run on HHVM, not necessarily all themes an plugins. At the time of writing, this website is running on HHVM, though I may switch it back to PHP5-FPM due to reasons discussed in this article.
Drawbacks of HHVM
HHVM has the potential to change the direction of PHP in the future, however, it is still a work in progress. By no means is HHVM truly ready for production. One common problem incurred is frequent crashes. To remedy this, I have created a Cron job that checks every minute to see if HHVM is running, and if it’s not to start the process again. It works, but it’s not clean. This could also be accomplished with upstart scripts.
The other big issue is that not all PHP functions are translated to HHVM (yet). I was working with a client site and testing HHVM out of curiosity to see the performance differences. When going to some pages of the site, I noticed the White Screen of Death. At first I thought it was a problem with the permalinks in my NGINX configuration, but after delving into the error logs I found it was a different error. This site uses Contact Form 7 with the RECAPTCHA plugin and PHP failed because of an “Undefined Standard Function”.
While HHVM is a very promising technology, there are still a lot of kinks to work out. Once all of the standard PHP functions are brought over and it is more stable, HHVM could quite possibly replace the standard PHP interpreter.