Deric Cain

Tech ramblings of a true #geek.


Easy site management with EasyEngine

January 19th, 2016


If you have ever had to set up and manage websites on a VPS, you should really check out EasyEngine. It will make your life approximately 1,000% easier. Let’s look at a scenario. I have a new Linode or Digital Ocean instance setup, installation is as easy as entering this command: wget -qO ee rt.cx/ee && sudo bash ee.

Once that is finished, all you will do to create a site is:

sudo ee site create example.com --wp  // install wordpress on example.com

You now have a fresh install of Wordpress running on Nginx. Simple.

Here are a few of my favorite things about EasyEngine.

Wordpress Install

Now, I would challenge you to look more into their different commands. For instance, if you want to create a Wordpress site and configure it for the W3 Total Cache plugin so that your site is crazy fast. All you have to do is enter:

sudo ee site create example.com --w3tc

It will automatically set up the server with the correct caching settings for the W3 Total Cache plugin. You don’t have to worry about messing with Nginx config files, or configuring the servers cache - it is all configured and ready to go.

What about Wordpress multisite? Here you go:

ee site create example.com --wpsubdir   # multisite sub-directories

or

ee site create example.com --wpsubdom   # multisite sub-domains

It really is so simple to use and it always works.

Organization

One of my favorite aspects of the EasyEngine tool is the organization that it provides. I have a few servers that I manage and they all use EasyEngine. No matter what server I am on, I know that all of my sites are organized neatly in the /var/www/. It doesn’t choose some user folder to put them in like, say… Server Pilot (which also costs money to do anything significant). This means that I can go to my www folder and type ls -l and see all of the sites that reside on that server. Of course, I could just use the EasyEngine shortcut of ee site list and have a nicely printed out list of all of the current sites. Again, so simple.

Nginx Config, if you have to…

Sometimes you may find that you have to edit Nginx conf files. It seems that I can never remember the path to the available-sites folder on the system. This means that I have to either google it or I will look in every single folder until I find the right path (yes, I should probably learn grep but I just haven’t taken the time yet). This is so easy with EasyEngine. Ready? ee site edit example.com Yep. That’s it.

Letsencrypt (Can you say free SSL/TLS certificate?)

I have been very intrigued by the Letsencrypt open source initiative. I would love to have a free SSL certificate! While Letsencrypt is still in beta, they are moving fast to produce just that - free site encryption using SSL/TLS. EasyEngine is moving fast and has already implemented support for Letsencrypt.

Now, there is a caveat to Letsencrypt and that is the certificate age. A single certificate will only last 90 days and then a new one must be obtained. This would require some server commands in order to make this happen. This is not a huge deal, but I don’t want to have to set a 90-day reminder to remind me to log in to my server and re-install another certificate. This would be a huge nightmare if you had quite a few sites.

EasyEngine to the rescue! Once I updated my current sites with ee site update example.com --letsencrypt, EasyEngine creates a cron job that will automatically update the sites SSL every 90 days. That is just too sweet.

Side note

If you use the --letsencrypt switch on one of your sites, be sure and set an DNS A record for www and non-www of that site. Even if you are setting up on a subdomain, you need to do this. Hopefully, this saves someone some headache.

Closing

EasyEngine really is a timesaver. I know some server management, but that is mostly on the Microsoft side, so learning to be a DevOps is not a high priority on my list. If you, too, want to save some time on setting up and managing sites, I highly recommend giving EasyEngine a shot. Let me know if you have any questions or comments! You can find me on Twitter at @dericcain


blog comments powered by Disqus