{"id":1752,"date":"2016-09-26T03:17:37","date_gmt":"2016-09-25T22:17:37","guid":{"rendered":"https:\/\/ahmadawais.com\/?p=1752"},"modified":"2023-08-16T05:45:58","modified_gmt":"2023-08-16T12:45:58","slug":"introducing-cem-cli-move-cpanel-easyengine-ease","status":"publish","type":"post","link":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/","title":{"rendered":"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease"},"content":{"rendered":"<p><strong>TL;DR<\/strong>:\u00a0<a href=\"https:\/\/github.com\/ahmadawais\/cPanel-EasyEngine-Migrate-CLI\" target=\"_blank\" rel=\"noopener\">CEM CLI<\/a>\u00a0is a\u00a0<a href=\"https:\/\/Labs.AhmadAwais.com\/CEM-CLI\/\" target=\"_blank\" rel=\"noopener\">cPanel to EasyEngine Migration CLI<\/a>. It&#8217;s quite new at the moment\u00a0and is meant to automate bits of the repetitive\u00a0tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented self-managed VPS.<\/p>\n<h2 id=\"i-love-automation-workflow-optimist\">I Love Automation \u2014 Workflow Optimist!<a href=\"#i-love-automation-workflow-optimist\" class=\"heading-link\">#<\/a><\/h2>\n<p>I had a few small low-traffic sites sitting on a shared hosting account with <strong>cPanel (no SSH access)<\/strong> for quite some time now. I have been meaning to transfer them to a self-managed cloud but it&#8217;s hard to find enough time these days.<\/p>\n<p>Anywho, I have tried <a href=\"https:\/\/easyengine.io\/\" target=\"_blank\" rel=\"noopener\">EasyEngine<\/a> script (built by <a href=\"https:\/\/rtcamp.com\/\" target=\"_blank\" rel=\"noopener\">rtCamp<\/a>) in the past and<strong> I liked everything about it<\/strong>. So, I ended up building a migration CLI which BTW can also be used as a command line tool to build a staging website for a website you host on a shared server.<\/p>\n<p>I am an <a href=\"https:\/\/ahmadawais.com\/my-commitment-to-wordpress-and-epic-moments-of-2015\/\" target=\"_blank\" rel=\"noopener\">end to end product developer<\/a>. Three years ago, I started to pick up on what we call DevOps.<\/p>\n<blockquote><p><b>DevOps<\/b> (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. \u2014 Wikipedia.<\/p><\/blockquote>\n<p>I have always been a <strong>workflow-optimist<\/strong>. What\u00a0that means is whenever I have to perform a task repeatedly, I find a way to make it more efficient, which in turn means automation, and hence I always end up building a\u00a0pro workflow for that task.<\/p>\n<\/section>\n<div class=\"postcontents full dark\">\n<div class=\"wrapper\">\n<blockquote><p>I guess <strong>developers are like that<\/strong>. We hate repetitive nature of any process. I do. I believe that software development is not just my career \u2014 it&#8217;s a way of life.<\/p>\n<p>More often than not I find myself in an <strong>if\/else-if\/else<\/strong>\u00a0situation, whenever life throws a curveball I end up with <strong>switch-case<\/strong>, and then there are these\u00a0things in my life which have a repetitive nature \u2014 Maybe it is my OCD (Obsessive-Compulsive Disorder) that compels me to do what I do \u2014 but then\u00a0I start thinking about the\u00a0repetitive task at hand, I study its patterns and then I try to automate it as much as I can.<\/p>\n<p><strong>That&#8217;s exactly how CEM CLI came into being.<\/strong><\/p><\/blockquote>\n<\/div>\n<\/div>\n<section class=\"postcontents wrapper\">\n<p>Do you have OCD? Does the need of keeping things in check sound familiar? Do you build little workflows \u2014 tell me about that in the comments below.<\/p>\n<p>Anywho, let&#8217;s get to the CEM CLI part before I start talking more about my OCD.<\/p>\n<h2 id=\"introducing-cem-cli\">Introducing CEM CLI<a href=\"#introducing-cem-cli\" class=\"heading-link\">#<\/a><\/h2>\n<p style=\"text-align: left;\">\n<div class=\"alert grey\">\n<p style=\"text-align: center;\"><a href=\"https:\/\/github.com\/ahmadawais\/cPanel-EasyEngine-Migrate-CLI\" target=\"_blank\" rel=\"noopener\">? GITHUB: \u2605 10 \u2442 2 \u2192<\/a><\/p>\n<\/div>\n<p><a href=\"https:\/\/labs.ahmadawais.com\/cem-cli\/\"><img decoding=\"async\" src=\"https:\/\/img.shields.io\/badge\/Built%20For%20WordPress-%E2%93%A6-lightgrey.svg?style=flat-square\" alt=\"CEM CLI\" \/><\/a><\/p>\n<p>cPanel to EasyEngine Migrate CLI (CEM CLI) is a bash script built to help people migrate their sites from a cPanel to a rented VPS with EasyEngine installed on it.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i.imgur.com\/y5BKyPF.png\" alt=\"CEM CLI\" \/> <\/p>\n<h2 id=\"pre-requisite\">Pre-requisite<a href=\"#pre-requisite\" class=\"heading-link\">#<\/a><\/h2>\n<p>You need to rent a VPS with EasyEngine installed on it. Here&#8217;s the list.<\/p>\n<ul>\n<li>Rent a VPS preferably with <kbd>Ubuntu 16.04 x64 OS<\/kbd> (I recommend Vultr.com | During summer, by using my affiliate link you <a href=\"http:\/\/www.vultr.com\/?ref=6942485-3B\">get $20 Signup Bonus<\/a> or if you prefer <a href=\"http:\/\/www.vultr.com\/\">non-affiliate link<\/a>)<\/li>\n<li>Install <a href=\"https:\/\/easyengine.io\/\">EasyEngine<\/a> just run this command after logging into your VPS with SSH <code>wget -qO ee rt.cx\/ee &amp;&amp; sudo bash ee<\/code><\/li>\n<\/ul>\n<h2 id=\"using-cem-cli\">Using CEM CLI<a href=\"#using-cem-cli\" class=\"heading-link\">#<\/a><\/h2>\n<p>After you have completed the pre-requisite steps, all you need to do is download and run the cPanel-EasyEngine-Migrate-CLI. You can do that by running the following commands.<\/p>\n<p>Download <code>cPanel-EasyEngine-Migrate-CLI<\/code><\/p>\n<pre><code class=\"language-bash\">sudo wget -qO cemcli https:\/\/git.io\/vPO0q &amp;&amp; sudo chmod +x .\/cemcli &amp;&amp; sudo install .\/cemcli \/usr\/local\/bin\/cemcli<\/code><\/pre>\n<p>Run <code>cPanel-EasyEngine-Migrate-CLI<\/code><\/p>\n<pre><code class=\"language-bash\">cemcli<\/code><\/pre>\n<p>To Uninstall <code>cPanel-EasyEngine-Migrate-CLI<\/code><\/p>\n<pre><code class=\"language-bash\">rm \/usr\/local\/bin\/cemcli<\/code><\/pre>\n<p>Running this CLI will output several questions on your terminal. Each question comes with an example value enclose with square brackets <code>[]<\/code>. Just fill up the answers and you&#8217;ll be able to automate bits of the complete migration process.<\/p>\n<h2 id=\"how-to\">How To?<a href=\"#how-to\" class=\"heading-link\">#<\/a><\/h2>\n<p>Yes, I get that. This script is quite opinionated and in the beta stage. While I have released v1.0.0 it still needs to be tested and I plan to maintain and grow it. If you are wondering how it works, here&#8217;s a step by step guide.<\/p>\n<hr \/>\n<h3 id=\"step-1-vps\">Step #1: VPS<a href=\"#step-1-vps\" class=\"heading-link\">#<\/a><\/h3>\n<p>Rent a VPS preferably with <kbd>Ubuntu 16.04 x64 OS<\/kbd> (I recommend Vultr.com | During summer, by using my affiliate link you <a href=\"http:\/\/www.vultr.com\/?ref=6942485-3B\">get $20 Signup Bonus<\/a> or if you prefer <a href=\"http:\/\/www.vultr.com\/\">non-affiliate link<\/a>)<\/p>\n<hr \/>\n<h3 id=\"step-2-easyengine\">Step #2: EasyEngine<a href=\"#step-2-easyengine\" class=\"heading-link\">#<\/a><\/h3>\n<p>Install <a href=\"https:\/\/easyengine.io\/\">EasyEngine<\/a> and run this command after logging into your VPS with SSH <code>wget -qO ee rt.cx\/ee &amp;&amp; sudo bash ee<\/code><\/p>\n<hr \/>\n<h3 id=\"step-3-backup\">Step #3: Backup<a href=\"#step-3-backup\" class=\"heading-link\">#<\/a><\/h3>\n<p>Take a backup of your cPanel. I prefer taking a complete backup and that&#8217;s how this script works. <\/p>\n<ol>\n<li>Go to your site&#8217;s  <kbd>cPanel &gt; Backup Wizard<\/kbd> <\/li>\n<li>Click <kbd>Backup<\/kbd>, then <kbd>Full Backup<\/kbd> and finally click on <kbd>Generate Backup<\/kbd><\/li>\n<li>Once the backup is generated, go to <kbd>File Manager<\/kbd><\/li>\n<li>Rename the backup file to something simple like <kbd>bc.tar.gz<\/kbd><\/li>\n<li>Move the backup file to <code>\/public_html\/<\/code> folder<\/li>\n<li>Set the world read permission so that it can be downloaded via wget<\/li>\n<\/ol>\n<p>You can watch all these steps in this short video which can be found at the end of these steps.<\/p>\n<hr \/>\n<h3 id=\"step-4-run-cem-cli\">Step #4: Run CEM CLI<a href=\"#step-4-run-cem-cli\" class=\"heading-link\">#<\/a><\/h3>\n<ul>\n<li>It&#8217;s time to run the CEM CLI. Log in to your VPS via SSH.<\/li>\n<li>Install CEM CLI by running install command as mentioned above command.<\/li>\n<li>Then run <code>cemcli<\/code> command and start answering the questions as I did in the video below.<\/li>\n<\/ul>\n<hr \/>\n<h3 id=\"step-5-what-you-need-to-know\">Step #5: What you need to know!<a href=\"#step-5-what-you-need-to-know\" class=\"heading-link\">#<\/a><\/h3>\n<p>While the CLI migrates your site for you, this following things happen. <\/p>\n<ul>\n<li>CEM CLI Downloads the backup in a folder you specified (I recommend running CEM CLI from the root i.e. <code>cd ~<\/code>).<\/li>\n<li>Then CEM CLI extracts the backup inside a folder called backup.<\/li>\n<li>After that CEM CLI runs EasyEngine to install your site from the scratch (You need to edit <a href=\"https:\/\/easyengine.io\/docs\/config\/\">EasyEngine&#8217;s configuration<\/a> file to make sure EasyEngine should ask you for entering the <code>Database Name<\/code>, <code>Database Username<\/code>, <code>Database Password<\/code>, and <code>Database Prefix<\/code>. You should enter all of these values similar to what you have in your <code>wp-config.php<\/code> on your old server. <strong>This is a crucial step.<\/strong> Otherwise, you won&#8217;t be able to import your old database).<\/li>\n<li>Then CEM CLI installs a new WP site for you with only <code>--wp<\/code> parameter set. <\/li>\n<li>After that it uses <code>rsync<\/code> to copy\/sync your WP Site&#8217;s files from your backup to the EasyEngine site install location i.e. from <code>sitefolder\/backup\/homedir\/public_html\/<\/code> to <code>\/var\/www\/domain.com\/htdocs\/<\/code>.<\/li>\n<li>Then CEM CLI uses WP CLI to import your old database into the new sites database with <code>--allow-root<\/code> parameter.<\/li>\n<li>After that you can get an option to search and replace any string in the DB to go through with the migration. This is also powered by WPCLI and uses <code>--allow-root<\/code> parameter for now.<\/li>\n<li>Once all of this is done your site sits in the <code>\/var\/www\/domain.com\/<\/code> folder. In case you want to use WPCLI to do something else, you can cd to <code>\/var\/www\/domain.com\/htdocs\/<\/code> path.<\/li>\n<li>If you edit your systems host files <code>nano \/etc\/hosts<\/code> and append <code>XX.XX.XX.XX domain.com www.domain.com<\/code> at the end, then you can browse your migrated site to check if everything is running fine. (XX.XX.XX.XX is the IP of your server. I found out that if I flush the DNS cache in my mac then I can avoid the delay for the hosts file edits to take effect. You can flush your DNS cache by running this command on your mac <code>sudo killall -HUP mDNSResponder<\/code>).<\/li>\n<li><code>cemcli<\/code> removes the backups both extracted and tar files as soon as it can to save as much space as possible.<\/li>\n<\/ul>\n<hr \/>\n<h3 id=\"step-6-watch-how-its-done\">Step #6: Watch How It&#8217;s Done<a href=\"#step-6-watch-how-its-done\" class=\"heading-link\">#<\/a><\/h3>\n<p>You can either try to guess how it&#8217;s done with the GIF below or <a href=\"https:\/\/youtu.be\/iTnazXPVplE\">Watch a 2 min video on YouTube<\/a>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i.imgur.com\/JnRdWHs.gif\" alt=\"CEM CLI QUICK GIF\" \/><\/p>\n<h2 id=\"what-does-future-hold-for-cem-cli\">What Does Future Hold for CEM CLI?<a href=\"#what-does-future-hold-for-cem-cli\" class=\"heading-link\">#<\/a><\/h2>\n<p>While CEM CLI is no where near an ideal script, it helps me migrate\/stage my sites on self-managed VPS. I plan to improve this script by adding several new routines to it. Following is a list of ideas that I have. <\/p>\n<ul>\n<li>[x] Download Backup<\/li>\n<li>[x] Extract Backup<\/li>\n<li>[x] Migrated site creation<\/li>\n<li>[x] WP Files sync<\/li>\n<li>[x] WP DB import<\/li>\n<li>[x] Search and Replace<\/li>\n<li>[ ] SSH transfer<\/li>\n<li>[ ] Site sync via NCFTP<\/li>\n<li>[ ] Options to chose how to perform backups<\/li>\n<li>[ ] Better install and uninstall routines<\/li>\n<li>[ ] Mold it into EasyEngine&#8217;s CLI instead of just a migration CLI (Thinking Out Loud)<\/li>\n<\/ul>\n<h2 id=\"disclaimer-beta-software\">Disclaimer (Beta Software)<a href=\"#disclaimer-beta-software\" class=\"heading-link\">#<\/a><\/h2>\n<p>Make sure to test this CLI on a new server. It is beta and completely new. I have tested it to transfer my cPanel sites to an EasyEngine VPS (based on Ubuntu 16.04  x64) while working on a Mac. Use at your own risk \ud83e\udd14.<\/p>\n<h2 id=\"changelog\"><a href=\"https:\/\/github.com\/ahmadawais\/cPanel-EasyEngine-Migrate-CLI\/blob\/master\/CHANGELOG.md\">Changelog<\/a><a href=\"#changelog\" class=\"heading-link\">#<\/a><\/h2>\n<h3 id=\"version-1-1-1-2016-10-09\">Version 1.1.1 \u2014 2016-10-09<a href=\"#version-1-1-1-2016-10-09\" class=\"heading-link\">#<\/a><\/h3>\n<ul>\n<li>Migrate Static sites<\/li>\n<\/ul>\n<h3 id=\"version-1-1-0-2016-10-05\">Version 1.1.0 \u2014 2016-10-05<a href=\"#version-1-1-0-2016-10-05\" class=\"heading-link\">#<\/a><\/h3>\n<ul>\n<li>NEW: Sub domain migration.<\/li>\n<li>NEW: Detailed documentation.<\/li>\n<li>NEW: Timely memory and space management.<\/li>\n<li>FIX: Minor fixes.<\/li>\n<\/ul>\n<h3 id=\"version-1-0-1-to-1-0-9-2016-10-04\">Version 1.0.1 to 1.0.9 \u2014 2016-10-04<a href=\"#version-1-0-1-to-1-0-9-2016-10-04\" class=\"heading-link\">#<\/a><\/h3>\n<ul>\n<li>NEW: <code>cemcli<\/code> removes the backups both extracted and tar files as soon as it can to save as much space as possible.<\/li>\n<li>FIX: Several minor fixes and documentation.<\/li>\n<\/ul>\n<h3 id=\"version-1-0-1-2016-10-04\">Version 1.0.1 \u2014 2016-10-04<a href=\"#version-1-0-1-2016-10-04\" class=\"heading-link\">#<\/a><\/h3>\n<ul>\n<li>NEW: <code>cemcli<\/code> removes the backups both extracted and tar files as soon as it can to save as much space as possible.<\/li>\n<\/ul>\n<h3 id=\"version-1-0-0-2016-09-25\">Version 1.0.0 \u2014 2016-09-25<a href=\"#version-1-0-0-2016-09-25\" class=\"heading-link\">#<\/a><\/h3>\n<ul>\n<li>First version<\/li>\n<li>NEW: Backup download and extraction<\/li>\n<li>NEW: Migrated site creation<\/li>\n<li>NEW: WP Files sync<\/li>\n<li>NEW: WP DB import<\/li>\n<li>NEW: Search and Replace<\/li>\n<\/ul>\n<hr \/>\n<h3 id=\"%f0%9f%99%8c-thedevcouple-partners\">\ud83d\ude4c <a href=\"https:\/\/TheDevCouple.com\/partners\">THEDEVCOUPLE PARTNERS<\/a><a href=\"#%f0%9f%99%8c-thedevcouple-partners\" class=\"heading-link\">#<\/a><\/h3>\n<p>This open source project is maintained by the help of awesome businesses listed below. What? <a href=\"https:\/\/TheDevCouple.com\/partners\">Read more about it \u2192<\/a><\/p>\n<table width='100%'>\n<tr>\n<td width='500'><a target='_blank' href='https:\/\/kinsta.com\/?kaid=WMDAKYHJLNJX&#038;utm_source=TheDevCouple&#038;utm_medium=Partner'><img src='https:\/\/on.ahmda.ws\/73cedc\/c' \/><\/a><\/td>\n<td width='500'><a target='_blank' href='https:\/\/ahmda.ws\/USES_WPE?utm_source=TheDevCouple&#038;utm_medium=Partner'><img src='https:\/\/on.ahmda.ws\/ff40fe\/c' \/><\/a><\/td>\n<\/tr>\n<tr>\n<td width='500'><a target='_blank' href='https:\/\/mythemeshop.com\/?utm_source=TheDevCouple&#038;utm_medium=Partner'><img src='https:\/\/on.ahmda.ws\/3166d9\/c' \/><\/a><\/td>\n<td width='500'><a target='_blank' href='https:\/\/ipapi.co\/?utm_source=TheDevCouple&#038;utm_medium=Partner'><img src='https:\/\/d2ddoduugvun08.cloudfront.net\/items\/1R190r2U0p3N3L0U0b2u\/ip-api.png'\/><\/a><\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n<strong>For anything else, tweet at <a href=\"https:\/\/twitter.com\/MrAhmadAwais\/\" target=\"_blank\" rel=\"noopener noreferrer\">@MrAhmadAwais<\/a><\/strong>\n<\/p>\n<div align=\"center\">\n<p>I have released a video course to help you become a better developer \u2014 <a href=\"https:\/\/VSCode.pro\/?utm_source=GitHubFOSS\" target=\"_blank\">Become a VSCode Power User \u2192<\/a><\/p>\n<p>\n  <a href=\"https:\/\/VSCode.pro\/?utm_source=GitHubFOSS\" target=\"_blank\"><br \/>\n  <img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ahmadawais\/shades-of-purple-vscode\/master\/images\/vscodeproPlay.jpg\" \/><br \/>VSCode<\/a><\/p>\n<p>  _<small><a href=\"https:\/\/VSCode.pro\/?utm_source=GitHubFOSS\" target=\"_blank\">VSCode Power User Course \u2192<\/a><\/small>_\n<\/div>\n<p style=\"text-align: left;\">\n<div class=\"alert grey\">\n<p style=\"text-align: center;\"><a href=\"https:\/\/github.com\/ahmadawais\/cPanel-EasyEngine-Migrate-CLI\" target=\"_blank\" rel=\"noopener\">? GITHUB: \u2605 10 \u2442 2 \u2192<\/a><\/p>\n<\/div>\n<div class=\"alert orange\"> ?\u00a0Looking forward to the feedback and contribution from your end. That&#8217;s how we can make it something more worthwhile. Let&#8217;s collaborate at <span style=\"color: #ffffff;\"><a style=\"color: #ffffff;\" href=\"https:\/\/github.com\/ahmadawais\/cPanel-EasyEngine-Migrate-CLI\" target=\"_blank\" rel=\"noopener\">GitHub<\/a><\/span>.<\/div>\n<div class=\"alert blue\">\u2714\ufe0e Did you like CEM CLI? It&#8217;d be great if you can share it on <span style=\"color: #ffffff;\"><a style=\"color: #ffffff;\" href=\"https:\/\/twitter.com\/intent\/tweet?text=%F0%9F%94%A5%20Introducing%20CEM%20CLI%20%7C%20Move%20From%20cPanel%20to%20EasyEngine%20With%20Ease%20%E2%80%94%20via%20@MrAhmadAwais&amp;url=https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/\" target=\"_blank\" rel=\"noopener\">Twitter<\/a><\/span>. <\/div>\n","protected":false},"excerpt":{"rendered":"<p>CEM CLI is a cPanel to EasyEngine Migration CLI. It&#8217;s quite new at the moment and is meant to automate bits of the repetitive tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented VPS.<\/p>\n","protected":false},"author":2,"featured_media":1755,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[141,10],"tags":[140,139,137,138],"class_list":["post-1752","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-wordpress","tag-cpanel","tag-digitalocean","tag-easyengine","tag-vultr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Introducing CEM CLI | Move From cPanel to EasyEngine With Ease<\/title>\n<meta name=\"description\" content=\"CEM CLI is a cPanel to EasyEngine Migration CLI. It&#039;s quite new at the moment and is meant to automate bits of the repetitive tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented VPS.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease\" \/>\n<meta property=\"og:description\" content=\"CEM CLI is a cPanel to EasyEngine Migration CLI. It&#039;s quite new at the moment and is meant to automate bits of the repetitive tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented VPS.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahmad Awais\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/AhmadAwais\" \/>\n<meta property=\"article:author\" content=\"https:\/\/facebook.com\/AhmadAwais\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-25T22:17:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-16T12:45:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2016\/09\/CEM-CLI_no_logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ahmad Awais\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MrAhmadAwais\" \/>\n<meta name=\"twitter:site\" content=\"@MrAhmadAwais\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ahmad Awais\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/\"},\"author\":{\"name\":\"Ahmad Awais\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"headline\":\"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease\",\"datePublished\":\"2016-09-25T22:17:37+00:00\",\"dateModified\":\"2023-08-16T12:45:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/\"},\"wordCount\":550,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"image\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/CEM-CLI_no_logo.png\",\"keywords\":[\"cPanel\",\"DigitalOcean\",\"EasyEngine\",\"Vultr\"],\"articleSection\":[\"DevOps\",\"WordPress\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/\",\"name\":\"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/CEM-CLI_no_logo.png\",\"datePublished\":\"2016-09-25T22:17:37+00:00\",\"dateModified\":\"2023-08-16T12:45:58+00:00\",\"description\":\"CEM CLI is a cPanel to EasyEngine Migration CLI. It's quite new at the moment and is meant to automate bits of the repetitive tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented VPS.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/CEM-CLI_no_logo.png\",\"contentUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/CEM-CLI_no_logo.png\",\"width\":1920,\"height\":1200,\"caption\":\"CEM-CLI_no_logo image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/introducing-cem-cli-move-cpanel-easyengine-ease\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ahmadawais.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#website\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/\",\"name\":\"Ahmad Awais\",\"description\":\"Founder &amp; CEO of CommandCode.ai f\\\/k\\\/a Langbase | Google Developers Advisory Board (gDAB) founding member\",\"publisher\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ahmadawais.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\",\"name\":\"Ahmad Awais\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"contentUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"width\":2299,\"height\":1705,\"caption\":\"Ahmad Awais\"},\"logo\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\"},\"description\":\"Founder & CEO of \u2318 Command Code coding agent with taste. Founded Langbase.com, AI cloud to build, deploy, and scale AI agents with tools & memory \u00b7 Creator of Command.new. \\\"Awais is an awesome example for developers\\\" \u2014 Satya Nadella, CEO of Microsoft. NASA Mars Ingenuity Helicopter mission code contributor 8th GitHub Stars Award recipient with 5x GitHub Stars Award (Listed as GitHub's #1 JavaScript trending developer). Google Developers Expert Web DevRel. Ex VP Eng (DevTools & DevRel) Rapid \u00b7 Google Developers Advisory Board (gDAB) founding member \u00b7 AI\\\/ML\\\/DevTools Angel Investor (Replit, Resend, Daytona, Gumroad and you?) \u276f AI\\\/ML Advisory Board San Francisco, DevNetwork. Award-winning Open Source Engineering leader authored hundreds of open-source dev-tools and software libraries used by millions of developers, including Shades of Purple code theme and corona-cli. Linux Foundation (Node.js Committee Lead), OpenAPI Business Governing Board. Taught 108K+ developers via NodeCLI.com and VSCode.pro course. 274 million views, blogging for 24 yrs. \u276f Read more about Ahmad Awais or come say hi on \ud835\udd4f @MrAhmadAwais.\",\"sameAs\":[\"https:\\\/\\\/AhmadAwais.com\\\/\",\"https:\\\/\\\/facebook.com\\\/AhmadAwais\",\"https:\\\/\\\/instagram.com\\\/MrAhmadAwais\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/MrAhmadAwais\\\/\",\"https:\\\/\\\/x.com\\\/MrAhmadAwais\",\"https:\\\/\\\/youtube.com\\\/AhmadAwais\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease","description":"CEM CLI is a cPanel to EasyEngine Migration CLI. It's quite new at the moment and is meant to automate bits of the repetitive tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented VPS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/","og_locale":"en_US","og_type":"article","og_title":"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease","og_description":"CEM CLI is a cPanel to EasyEngine Migration CLI. It's quite new at the moment and is meant to automate bits of the repetitive tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented VPS.","og_url":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/","og_site_name":"Ahmad Awais","article_publisher":"https:\/\/facebook.com\/AhmadAwais","article_author":"https:\/\/facebook.com\/AhmadAwais","article_published_time":"2016-09-25T22:17:37+00:00","article_modified_time":"2023-08-16T12:45:58+00:00","og_image":[{"width":1920,"height":1200,"url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2016\/09\/CEM-CLI_no_logo.png","type":"image\/png"}],"author":"Ahmad Awais","twitter_card":"summary_large_image","twitter_creator":"@MrAhmadAwais","twitter_site":"@MrAhmadAwais","twitter_misc":{"Written by":"Ahmad Awais","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#article","isPartOf":{"@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/"},"author":{"name":"Ahmad Awais","@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"headline":"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease","datePublished":"2016-09-25T22:17:37+00:00","dateModified":"2023-08-16T12:45:58+00:00","mainEntityOfPage":{"@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/"},"wordCount":550,"commentCount":2,"publisher":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"image":{"@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#primaryimage"},"thumbnailUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2016\/09\/CEM-CLI_no_logo.png","keywords":["cPanel","DigitalOcean","EasyEngine","Vultr"],"articleSection":["DevOps","WordPress"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/","url":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/","name":"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease","isPartOf":{"@id":"https:\/\/ahmadawais.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#primaryimage"},"image":{"@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#primaryimage"},"thumbnailUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2016\/09\/CEM-CLI_no_logo.png","datePublished":"2016-09-25T22:17:37+00:00","dateModified":"2023-08-16T12:45:58+00:00","description":"CEM CLI is a cPanel to EasyEngine Migration CLI. It's quite new at the moment and is meant to automate bits of the repetitive tasks that one has to go through while migrating their sites from a cPanel based shared hosting (with no SSH access) to an EasyEngine based rented VPS.","breadcrumb":{"@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#primaryimage","url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2016\/09\/CEM-CLI_no_logo.png","contentUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2016\/09\/CEM-CLI_no_logo.png","width":1920,"height":1200,"caption":"CEM-CLI_no_logo image"},{"@type":"BreadcrumbList","@id":"https:\/\/ahmadawais.com\/introducing-cem-cli-move-cpanel-easyengine-ease\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ahmadawais.com\/"},{"@type":"ListItem","position":2,"name":"Introducing CEM CLI | Move From cPanel to EasyEngine With Ease"}]},{"@type":"WebSite","@id":"https:\/\/ahmadawais.com\/#website","url":"https:\/\/ahmadawais.com\/","name":"Ahmad Awais","description":"Founder &amp; CEO of CommandCode.ai f\/k\/a Langbase | Google Developers Advisory Board (gDAB) founding member","publisher":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ahmadawais.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b","name":"Ahmad Awais","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","contentUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","width":2299,"height":1705,"caption":"Ahmad Awais"},"logo":{"@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg"},"description":"Founder & CEO of \u2318 Command Code coding agent with taste. Founded Langbase.com, AI cloud to build, deploy, and scale AI agents with tools & memory \u00b7 Creator of Command.new. \"Awais is an awesome example for developers\" \u2014 Satya Nadella, CEO of Microsoft. NASA Mars Ingenuity Helicopter mission code contributor 8th GitHub Stars Award recipient with 5x GitHub Stars Award (Listed as GitHub's #1 JavaScript trending developer). Google Developers Expert Web DevRel. Ex VP Eng (DevTools & DevRel) Rapid \u00b7 Google Developers Advisory Board (gDAB) founding member \u00b7 AI\/ML\/DevTools Angel Investor (Replit, Resend, Daytona, Gumroad and you?) \u276f AI\/ML Advisory Board San Francisco, DevNetwork. Award-winning Open Source Engineering leader authored hundreds of open-source dev-tools and software libraries used by millions of developers, including Shades of Purple code theme and corona-cli. Linux Foundation (Node.js Committee Lead), OpenAPI Business Governing Board. Taught 108K+ developers via NodeCLI.com and VSCode.pro course. 274 million views, blogging for 24 yrs. \u276f Read more about Ahmad Awais or come say hi on \ud835\udd4f @MrAhmadAwais.","sameAs":["https:\/\/AhmadAwais.com\/","https:\/\/facebook.com\/AhmadAwais","https:\/\/instagram.com\/MrAhmadAwais\/","https:\/\/www.linkedin.com\/in\/MrAhmadAwais\/","https:\/\/x.com\/MrAhmadAwais","https:\/\/youtube.com\/AhmadAwais"]}]}},"jetpack_featured_media_url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2016\/09\/CEM-CLI_no_logo.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/1752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/comments?post=1752"}],"version-history":[{"count":1,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/1752\/revisions"}],"predecessor-version":[{"id":7973,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/1752\/revisions\/7973"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/media\/1755"}],"wp:attachment":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/media?parent=1752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/categories?post=1752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/tags?post=1752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}