ExpressionEngine is just another fantastic content management system (CMS) like wordpress, Drupal and Magento. It possesses some of the best features which can make ExpressionEngine stand out from rest of the other CMS available on the internet.
Thousands of websites are powered by ExpressionEngine. The flexible and powerful architecture of the CMS provides various extensible options with your website.
Having realized the importance of the CMS, I’ve decided to set it up on Cloudways ExpressionEngine hosting. So, In this article I’ll show you how to install ExpressionEngine on Cloudways and the possible options to extend it.
How ExpressionEngine Works?
ExpressionEngine CMS has got nice UI based control panel which help designers to publish content easily. The cherry on the top is that the CMS is compatible with most of the devices and works flawlessly with every other platform.
When you write a content and publish it, the content gets saved in the database and shows in real time to every user on the website. Basically it generates pages with the database content, formatting, design for every visiting user. No matter what markup you have setup for the design, the CMS will show exactly same on every device.
The dynamic approach of this CMS empowers the users to easily format, control the content, and utilize flexibility to reuse the components in pages.
ExpressionEngine stores your content inside Channels. Channels are simply information and are completely independent from the pages your visitors see, which are known as Templates. Templates contain any markup you desire (ExpressionEngine affords 100% control over the markup on every page) as well as ExpressionEngine Tags which pull in bits of content dynamically.
Since there is no assumed relationship between a Channel and a Template, your content exists independent of your site’s design, making ExpressionEngine a true content management system with great flexibility. Below is the visual representation:
In a nutshell, ExpressionEngine provides a freedom to manually update pages and lets you control, publish the content on every related page including home, archives and single pages.
Prerequisites for ExpressionEngine
The requirements to install ExpressionEngine on Cloudways are as follows:
Server Requirement
- Cloudways Account with PHP Hosting
- PHP7 or newer with PHP-FPM (by-default enabled on cloudways)
- MYSQL 5.6 or newer
Browser Requirement
- Chrome
- Safari
- Firefox
- Opera
- Microsoft Edge
Extensions Required
- GD (or GD 2) library
- The File Information (fileinfo) PHP extension
- The Internationalization extension, for full functionality of variable modifiers
- Multibyte String (mbstring) handling
Apache Server
Cloudways provides both Apache and Nginx servers on its platform. For Apache, AcceptPathInfo must be enabled for URLs to work properly. While also remember to set site’s URLs to use query strings.
Nothing as Easy as Deploying PHP Apps on Cloud
With Cloudways, you can have your PHP apps up and running on managed cloud servers in just a few minutes.
Download Expressionengine Binaries
The first thing you need to do is to download a zip file of ExpressionEngine binaries from its official website. Click on Get Started button and a popup screen will appear asking about your email. Enter your email and hit enter, it will start downloading the Zip file on your computer. Rename the zip file to ExpressionEngine.
Now connect Filezilla with master credentials available on server details page. Next, move to application folder and upload the zip file in public_html folder.
Installing ExpressionEngine at Cloudways
As I told in the prerequisites that you need to launch Custom PHP server by signing up at Cloudways. The default PHP version will be 7.0 and MySQL 5.7.
After launching the server and application, move on to the server details page and note down your Master credentials from there. Next, login to the SSH terminal using those credentials.
You Might Also Like: How to Host PHP on Amazon AWS EC2
Move to your application folder and unzip the folder which we have uploaded via filezilla using the below command:
Unzip -r expressionengine
The files will be unzipped in few time and will be available in your app folder. Now move to the application access details page and open the URL in browser, adding /admin.php in the end.
It will ask you about database credentials including Name, Username and Password which you can find on application details page:
Copy and enter them on database detail page:
Enter any prefix which you want and localhost in server address.
Now in the next step, enter admin email and password. You can also select whether to install default theme or not.
Now click on start installation, in a while you will see opening of the website homepage like this:
Now head over to the admin URL and enter the username and password.
Once submitting the credentials, you will see the control panel opening like this:
What ExpressionEngine has For You?
Now that I’ve installed ExpressionEngine on hosting of Cloudways, you must be eagerly waiting to see what this CMS comprises inside. ExpressionEngine has some of the best features to build your next advanced web application. Let’s have a look what they are:
Spam Prevention
This CMS has built in mechanism to quickly detect spams in the website and take timely actions to fix them for the cores. It helps to identify malicious sources that are constantly hitting up and harming the content in search engines. It learns from the website’s content and create filters to prevent spam.
Build a Community
ExpressionEngine also helps to build better communities with the membership system. You can easily create members list and assign roles and permissions to create content.
Infinitely Extensible
Extensibility is the key to any CMS or framework. ExpressionEngine provides you the ability to develop and integrate 3rd party add-ons. So you don’t worry about the limits of CMS.
Powerful Templates
The CMS provides pre-built templates but you can customize them via programming and utilize the layout blocks to create new features.
Flexible Content Types
When you talk about content, you must think about text, images, files, videos etc. So how to add them to the ExpressionEngine CMS? It’s simple, the CMS manages it all and you can store any type of content you want.
Mobile Friendly
ExpressionEngine is a CMS for all devices. You can find it compatible with mobile, tablets, desktop PCs and other pocket devices. The control panel can easily adjust to any screen size.
Easy Updates
Updating ExpressionEngine is quite simple also. Just click the button in control panel and its done. Yes!
Q: How to check the ExpressionEngine version?
A: You can find out the current version of ExpressionEngine defined at the bottom of your CMS interface.
Q: How to upgrade ExpressionEngine?
A: Always try to install ExpressionEngine having the latest version. However, if you have installed any older version of the ExpressionEngine, it’s still quite simple to upgrade the existing version to a newer one. You can find the latest version update (if available) in the control panel footer highlighted in yellow or red color. Just click on that version number and start updating to a newer one.
Q: How to redirect to https in ExpressionEngine?
A: Here are the quick 3 steps to perform https redirection in ExpressionEngine:
1. Go to your htaccess file and define the certain pages you need to redirect to https. Here’s the code that could help defining them:
# Force HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /account/checkout/
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
2. Next, convert any of the google font link to start with //.
3. Then, add this code to your index.php file to set the site URL compatible for https.
if(strtolower(substr($_SERVER[“SERVER_PROTOCOL”],0,5))==’https’) // site_url is https if its in the url
$assign_to_config[‘site_url’] = ‘https://’.$_SERVER[‘HTTP_HOST’].’/’;
Conclusion
There are alot of CMS available in the market to work with but you must always go with the reliable and secure ones. ExpressionEngine has created its credibility in the community for easy management, security and performance. I would recommend you to try that for your upcoming websites.
If you have any questions please feel free to ask in comments.
Shahzeb Ahmed
Shahzeb is a Digital Marketer with a Software Engineering background, works as a Community Manager — PHP Community at Cloudways. He is growth ambitious and aims to learn & share information about PHP & Laravel Development through practice and experimentation. He loves to travel and explore new ideas whenever he finds time. Get in touch with him at [email protected]