Animesh Singh

Create WordPress sites with one SSH Command using EasyEngine

Use EasyEngine to manage your WordPress, HTML and PHP websites easily

Animesh SinghAnimesh Singh

There are many developers who don’t like to do the same thing (I mean typing the same usual SSH commands in Linux for doing the same job). Imagine, if you were ordered to install 50 WordPress blogs/portfolio site in just 1 server by your client, and you were restricted to use any web panel for management, what would you do? Or maybe your client or you can’t afford the cPanel charges. Umm Stuck, right?

Would you be typing the same commands for each domain directories? and installing WordPress over there, and then changing file permissions of them for each time? Don’t you think that would be a hard job as to make 4 walls with bricks? What if you had a machine that can easily make a wall for you, and just you had to do is tell your labour to keep on entering the bricks.

Getting bored is what developers hate.

Or do you like getting bored? Actually, none of the species who belong to Homo sapiens would ever like that sensation.

Create WordPress sites with one SSH Command using EasyEngine

So, here is the solution for you. And the life saver for you in the case is “Easy Engine“.

What actually is Easy Engine?

EasyEngine1
EasyEngine
Obviously we aren't talking about engines of the auto-mobile which is easy to handle. But it is an application created to manage your Ubuntu/Debian OS VPS.

EasyEngine (ee) is python based command line control panel to setup NGINX server on Ubuntu and Debian Linux distribution

for HTML, PHP, MySQL, HHVM, PageSpeed and WordPress sites.

What does it offer?

Here is a small list, what would you get after installing Easy Engine in your server. In other words, Easy Engine features:

Requirements:

Well, this is a basic thing. Everything is made for something that suits well. Your lovely dog can’t wear your pajamas, or can he?

Supported Distribution:

Port requirements

Installation

Now, the main part which you would be waiting for. The installation part is so easy as you are chewing your Cadbury.

And it had been further divided into two easy steps.

Here are the quick commands to setup EasyEngine on your server and making your site Live:

Make Sure you are having the Ubuntu/Debian OS Distribution installed. Install NGINX (not necessary, the command below will automatically install it) A cup of coffee, if you want.

Now, just type the following commands:

wget -qO ee rt.cx/ee && sudo bash ee

This command installs EasyEngine on your server. You may be asked certain questions at the time of installation, like your username (which would be same for all WordPress you install) so make sure you answer them correctly.

Also, note that it may take some times to fully install.

sudo ee site create yourdomain.com --wp

Of course, you would have to replace yourdomain.com with your domain. Make sure that your domain name has the name server correctly set up and your DNS is pointing to the right server, otherwise, you can better judge the consequences.

This command installs necessary stack and creates Single WordPress Site with domain yourdomain.com. This would take sometimes to complete the installation process, and after that, you don’t need to do anything like File Permission configuration, and directory migration and all that.

 

WordPress admin user : animesh 
password : yugG5ARNxxxxxxx
Successfully created site http://yourdomain.com

Save the details, it would be useful to you.

And now login to WordPress dashboard by yourdomain.com/wp-admin and then login with the details given when the WordPress install finishes. Now go to Users > Your Profile and update your password.

And You are done!

Note:

Now to view yourdomain.com in the browser, you will just have to point the nameserver of the domain from your Domain Registrar to your host. I had already warned you earlier, and you already know that better.

 

 Bonus Tips:

In the same way, you can install WordPress in yourdomain.com subdomain or youranotherdomain.com subdomain:

sudo ee site create subdomain.yourdomain.com --wp
sudo ee site create youranotherdomain.com --wp
sudo ee site create subdomain.youranotherdomain.com --wp

Addons:

sudo ee site create simpledomain.com #With no WordPress
sudo ee site create yourdomain.com --wp #With WordPress
sudo ee site create yourdomain.com --wpsc #With WordPress Super Cache
sudo ee site create yourdomain.com --w3tc #With WP3 Total Cache
sudo ee site create yourdomain.com --wpfc #With NGINX cache
sudo ee site create yourdomain.com --wpredis #With Redis Cache

 

Let’s Encrypt

LetsEncrypt-Free-SSL-for-All
Let’s Encrypt is a free, automated, and open certificate authority brought to you by the Internet Security Research Group (ISRG). It basically let you get an SSL (https://) ahead of your domain name for free.
Let us Encrypt?
Get a free https (SSL cert) using Let's Encrypt. FREE! FREE! FREE!

Easy Engine updated version comes with a pre-installed Lets Encrypt which lets you to automatically add https to your domain (SSL cert) and do all those stuff automatically for you. It adds a cron job for you that automatically renew the cert after 90 days.

If you are installing a new WordPress site (also works fine with simple or PHP sites), you would need to add the --letsencrypt at the end of the command.

For ex:

sudo ee site create youranotherdomain.com --wp --wpsc --letsencrypt

The --wp lets EE know that you are willing to create a WordPress directory, --wpsc lets EE know you want to automatically install WordPress Super Cache in that WordPress installation and --letsencrypt tells EE to make that WordPress domain SSL cert verified.

If you want to update your already existing yourdomain.com WordPress dir to enable Let’s Encrypt, you would need to do this:

sudo ee site update yourdomain.com --letsencrypt

If you want to turn off the Let’s Encrypt SSL of your domain, you can type:

sudo ee site udpate yourdomain.com --letsencrypt=off

Like wise, you can turn on the security,

sudo ee site update yourdomain.com --letsencrypt=on

Free Renewal

You can renew the security before/after its expiration, i.e the 90 days limit.

sudo ee site update yourdomain.com --letsencrypt=renew

Please make sure you disable the CloudFlare support for your domain temporarily while installing or renewing your domain name.

Also Note:

When you had successfully added the ”–letsencrypt’ SSL cert to your WordPress site, immediately go to your wp-admin and then to General Settings and change the Site and Home URL from http://yourdomain.com to https://yourdomain.com or https://www.yourdomain.com, to avoid the browser returning too many redirect loop error. Alternatively, you can use PhpMyAdmin for changing the site URL and home.

If you had already or planning to enable CloudFlare CDN to your Let’s Encrypt enabled WordPress site, make sure you turn your security to Full security or Strict Security mode from Encrypt tab of CloudFlare.

It would take some time for your browser to recognise the certificate, and till then it might not display green lock icon and may display some security error. It wouldn’t take more than a day to complete the identification process successfully.

 

Final Words

Overall EasyEngine is a very good application that can assist you like a LifeSaver if you aren’t satisfied with any other web based panel for your server or are out of budget for affording cPanel.

Working with EasyEngine is like giving orders to the labour while you relax with a cup of coffee or beer (whatever you prefer), and the labours doing your jobs within minutes like a Zin.

I would recommend this application to everyone, and this is too user-friendly that you would be in love with SSH again. Maybe, you would never opt for cPanel again. There are many hidden features of EasyEngine, which would be discussed in another article.

You can view Easy Engine FAQs and Docs for quick reference. If you are ever stuck at EE, rtcamp, the community powering EE, is having a free support forum. And no question asked regarding its security as it is updated on regular basis.

Summing up the whole in a sentence, you would enjoy using EasyEngine, I bet that.

I am a buddy developer who loves coding and feels sharing == learning. In this blog not only do I share the developing stuff but also shares few glimpses of the things happening in my life.