- Written by Constantin Oesterling
Magento Web Hosting in the Cloud
Online shopping has become the latest trend of modern days. Need a new dress or a new wallet or a new office bag, a new pen, a toothbrush? Whatever it is, just log on to any shopping website, make your choice from the abundant list of brands and products, place your order, make the payment and relax. You will get the product delivered at your doorstep the next day. No hassle of shopping outside, no wasting of time in traffic jams, no trouble of moving from one shop to another to find what you need. You get everything at your home and often at better rates than local stores can offer.
With the demand and growth of online shopping business, arose a number of shopping websites. That paved the way for the development of many e-commerce software. The online presence of a business and all commercial transactions, payments etc done through it using the internet is termed as e-commerce or electronic commerce. The most prominent among them is undoubtedly Magento.
What is Magento?
Magento is an e-commerce platform based on open source technology. It is written in PHP and uses MySQL/MariaDB. The software had its first beta release on August 2007 by Varien INC, who originally developed Magento. It was later acquired by eBay. Through years, there were changes on the management side, and since November 2015, Magento is operating as an independent company, backed by Permira Funds.
Magento is one of the best e-commerce software available these days. It provides visitors as well as shop owners a lot of features that makes online shopping a wonderful experience. With Magento, a shop owner can design his store from the scratch to end, like upload product details, setup payment gateways, configure shipping methods, manage various currencies etc. On the customer side also, it provides various features like manage products, create accounts, track orders and shipping etc. Magento is available in mainly three forms:
- Community Edition - This edition of Magento is aimed at developers and startups who wants to explore the features of Magento. This is free of cost and can be simply downloaded and installed. This is the suitable choice for any small business who cannot afford to invest a huge amount, at the same time get a decent software to start their business with. It offers any number of stores to be setup within the same installation, but do not have a hosting option included. It means that a hosting needs to be purchased first from any hosting provider, account created and Magento installed before you can start using the store. Magento, provides an easy user interface, however for certain features you might require the help from an expert developer.
- Enterprise Edition - This is an extended version of community edition, however, unlike community edition enterprise edition is not free. It has an annual maintenance fee involved. However, compared to community edition, enterprise edition has more advanced features and customization options included. It is also much better performance wise and speed wise. It also has support options enabled, which enables a customer to directly contact the support team for help with installation, configuration or any technical doubts encountered. Like community edition, enterprise edition does not provide the hosting option.
- Enterprise Cloud Edition - This was a much-awaited move from Magento. Enterprise Cloud Edition combines the features of community and enterprise editions and at the same time removes the headache of finding a hosting provider for hosting the application elsewhere. With Enterprise Cloud Edition, you get your store installed and hosted on a reliable Cloud platform, mostly AWS. With this move, Magento steps into the world of cloud by providing this package as a PaaS platform (Platform As A Service). Enterprise Cloud edition is available for only those customers who use Magento 2, which is the latest release of Magento.
Advantages of Magento Over Other Ecommerce Hosting Solutions
- Feature Rich - Magento is a feature-rich commerce software. This makes it the most popular and favorite shopping cart application for most sellers.
- Open Source - Magento is an open source product and its community edition is free to use. Many small businesses and startups hence prefer Magento as they get all features at zero cost. Being open source, developers are able to modify the core files and customize it according to their needs which further enhances its popularity.
- Multiple stores and unlimited products - There is no limit in Magento as to how many products are supported. Magento supports the addition of unlimited products. It also allows creation of multiple stores within a single installation
- Scalability - Magento is equally accepted by small business owners as well as big shots. Magento can scale up or down based on your requirements.
- Customization of the store - Magento is very flexible and users can customize the cart any way they wish. Various access levels are also built into the store there by providing access restrictions to various users. It helps in imposing security to the store
- Wide range of themes and extensions - Innumerable themes and extensions are available for Magento. Owing to its popularity, new extensions are developed and release on a day to day basis which makes customization more easier
- Performance - Performance of Magento is much better than many other ecommerce software. It has good speed, robust and it is reliable
- Mobile Friendly - Shopping carts created in Magento are mobile friendly and they can be browsed through mobile phones with ease.
- Search Engine Friendly - Magento has been designed as an extremely search engine friendly software. This helps the store to easily rank in search engines.
- Multilingual Capabilities - Magento supports almost all languages. It has built-in multi-lingual support which helps in creating stores in any language.
- Magento Community - Magento community is much bigger than anyone can anticipate. There are thousands of developers working on Magento and creating advanced features and customizations all over the world.
Magento Hosting at JavaPipe
Magento is built on PHP and MySQL/MariaDB platform. The ideal hosting solution for supporting Magento application will be a pure LAMP (Linux, Apache, MySQL, PHP) stack. Hence, pretty much any normal shared hosting server can accommodate Magento with ease. However, Magento gets a bit resource hungry when the themes, plugins or add-ons increase in number. There are chances for the store to get slow, and degrade in performance. Hence extra care needs to be taken when a hosting provider hosts Magento applications. All hosting providers who sell managed Magento hosting will have Magento optimized servers for speed and performance.
Here at JavaPipe, we tailor all our servers for best performance. Our PHP Cloud Hosting servers are the best choices for hosting Magento stores. We employ superior SSD hard disks which rank high in performance. In addition, they are built on top of highly redundant CloudStack platform, which makes it highly reliable. Various versions of Magento are released, the latest being Magento 2. JavaPipe's PHP Cloud Hosting servers support multiple PHP versions so that anyone with the oldest or latest code can host on our platform alike.
Our servers have high uptime which is essential for a store. We always make it a point to meet the uptime guarantee offered to customers. For any commercial transactions, it is mandatory for the host to provide a secure means of data transfer. Keeping this in mind, JavaPipe provides a Free SSL certificate to all PHP Cloud Hosting customers so that their store and all related transactions are done through safe channels. We have also implemented several caching mechanisms in the server to boost the website speed and page response times.
Some Magento hosting companies provide unmetered bandwidth for customers. If you have a busy shopping cart, then bandwidth will be required in plenty and unmetered bandwidth will be a boon. JavaPipe's PHP Cloud Hosting provides metered bandwidth facility, as we know unmetered is not a practical term when it comes to a shared environment. However, we have unmetered VPS servers which can be used for running busy Magento websites.
JavaPipe knows the importance of page loading speeds and hence to boost the loading speed of websites, we provide a CDN along with our control panel. CDN (Content Delivery Network) is an optional feature which customers can choose if they wish. CDN, if utilized, will increase your page loading speed by fetching data from servers which are geographically nearer to the visitor. The CDN incorporated with our PHP Cloud Hosting package is CloudFlare.
How to Setup Magento on JavaPipe's PHP Hosting Using Softaculous
Most hosting companies provide the cPanel control panel to their customers for managing their websites. JavaPipe, on the contrary, provides SiteWorx, which is an equally feature-rich and easy to use control panel as cPanel. We also provide the wonder tool Softaculous, which bags around 400+ software in it. With the help of Softaculous, you can install Magento at a click. Let us see how.
Step 1: Login to the SiteWorx control panel using your username which is your email address, password and domain name. If you are not sure of the details, please check the email from JavaPipe with the subject "Hosting Package Information at JavaPipe". My domain name is javapipe.demo and I would log in as follows.
Step 2: On the left-hand side, search for 'Softaculous' in the search box. Alternatively, you can find the same under the Hosting Features section on the left side.
Step 3: Once in the Softaculous interface, search for Magento by typing in the left search box. Once in the Magento page, click the 'Install' button to install the software.
Step 4: In next screen, you need to enter a few details so that Magento can be installed as per your requirements.
- Choose the version you want to install - The available versions of Magento will be listed and you can choose the version you require. I am installing version 1.9
- Choose Protocol - If you want your store to send details over secure channels, then choose https, otherwise choose http. It is not mandatory that the product listing which would normally be in the index page is https. However, all commercial transactions need to be https.
- Choose Domain - Enter the domain name under which you need to install the Magento store
- In Directory - The directory in which you want the store to be available. If you want the store to be displayed when you access your website, leave it empty. I need it as http://javapipe.demo/store , hence I would enter 'store' in the text box
- Cron Job - Magento requires a cron to work. You can enter the timings based on your requirements
- Admin Path - The name of the admin folder you wish to choose. I chose it as admin. It is recommended to use a different name so that it would be difficult for hackers to guess
- Admin Username - The username you would like to set for the administrator. I set it as 'admin', again it is better to keep it a hard to crack one
- Admin Password - Password for the admin user. Recommended to generate a strong password by clicking on the key icon to the right
- First Name, Last Name - First and Last Name of Admin user respectively
- Admin Email - Email address of the administratorClick on Advanced Options for further details. It can be left as default, or you can modify it as you wish.
- Database Name - The name of the database that will be used by the Magento installation
- Table Prefix - Prefix for the database tables. Leave it unchanged if not sure
- Disable Update Notifications - Magento releases updates and it is recommended that you uncheck this option, as it is better to receive the update notifications
- Auto Upgrade - Set it to yes if you want the store to be upgraded automatically whenever a new release is found
- Automated Backups - Lists the backup options available. I set it to daily
- Backup Rotation - Number of days to keep the backup. I set it to 2, so that at any point of time, there will be 2 copies of backup present
- Email installation details to - If required, you can set an email address here to receive the installation details over email. It is optional
Now click on 'Install' button and it is done!
Step 5: Once all required details are entered correctly, click the 'Install' button. It might take a minute or two to check the details and complete the installation, after which you will be provided with a confirmation message.
Step 6: I can now access my default store at http://javapipe.demo/store. It will be a plain store with the default theme.
Working With Magento Stores
We will now see how to make changes to the default Magento so that you can design a store of your own. We will start by modifying the theme of the store and will then show you how to add products to the store. For any such changes to be done, we first need to login to the admin area of the store. My admin area is at http://javapipe.demo/store/admin. Similarly use the admin details you provided and log in to the admin interface.
Changing Magento Themes
Magento, being the most popular shopping cart, there are a lot of third-party vendors who provides Magento themes. First, you need to choose a theme suitable for your store, download it and then apply it to your store. Magento itself provides a wide variety of themes - both free and paid - for its customers through the Magento Commerce website. You can refine the searches by providing your Magento version etc on the left side so that only themes which are suitable for your store will be displayed. I am choosing a free theme from the list.
Click on the theme name and this will take you to a page with more details on the theme. You will notice an 'Install Now' button. You need a registered account to proceed further, hence log in with your details and it will provide and click on the install button. You will be provided with an extension key. Accept the license agreement by checking the small box.
Click on 'Get Extension key' and you will be presented with a text which you need to copy. For all Magento versions above 1.5, you should select Magento Connect 2. Click on 'Select Key' or copy the key manually. This key is what we require to add the new theme to our store.
With this key copied, go to your Magento dashboard -> System -> Magento Connect -> Magento Connect Manager. You will be prompted for login again, enter the same admin details of Magento admin area. Under 'Install New Extension' paste the extension key and click 'Install' button.
If there are no errors, it will download the package ready to be installed. Click on 'Proceed' to proceed with the installation. This will install the theme. If you scroll down, you can see the results in a black screen towards the bottom of the page.
Now return to the Magento admin area. To integrate the new theme with your store, go to System -> Configuration. On the combo box on the top left side, choose the Configuration Scope as 'Default Store View'. Now scroll down to 'Design' and click on 'Package'. The installation instructions for the theme you downloaded will be present in the theme's official website. Based on that enter the details in the text box to the right of 'Current Package Name'. For the theme I chose, I had to enter 'f001'. Click 'Save Config' at the top right of the page which will save the configuration and apply the new theme to the store.
Now, clear the browser cache and try accessing the store front again. The new theme will be applied.
Adding Products to Your Magento Store
Now, let us see how to add products to your online shop. Go to Magento Admin Dashboard -> Catalog -> Products. Click on 'Add Product'.
The next page asks for two details - an attribute set and the product type.
An attribute set is a list of attributes like color, size, shape etc. You can create a new attribute set with all features you require or many of them are already available in Magento in the default attribute set. Next is the product type. There are 6 product types present in Magento.
Simple - A simple product is a product which will be purchased and shipped as is. There are no choices like color, size etc. For eg. a lens.
Grouped - The store owner or seller can combine a group of simple products into a grouped product. Say for example simple products like phone, earphone, case etc when sold together make a grouped product. In this case, the prize will be for the entire group and the customer cannot add or remove products to that group.
Configurable - A product, which can be chosen by the customer according to his likes is called a configurable product. Say, for example, a shirt. The customer can choose the color, size etc of the product.
Virtual - A virtual product is something that cannot be shipped. It can be a service like security auditing of website, house cleaning service, laundry service or such
Bundled - Like grouped product, a bundled product is again a group of simple products. The difference is that the customer can make a choice as to which product needs to be added or removed based on which the rates will vary.
Downloadable - A downloadable product is something which cannot be shipped, but instead can be downloaded from the website. An example is an ebook.
In our example, I am choosing a simple product. Click 'Continue'. This will take you to the product details page. You can add the name of the product, provide a description for it, enter the SKU which is a unique identifier of your choice and many other details. The fields marked with star (*) are mandatory. Remember to set the status as 'Enabled'. On the left side, there are further details to be added for the product like price, images and much more. Fill them up based on the product and click 'Save'.
Make sure that the status is set to 'Enabled', and that in Inventory section quantity is mentioned in numbers and stock availability is set as 'In Stock'. Otherwise, the product will not be listed in the cart.
Once the details are all entered correctly, try accessing your web store and the product will be displayed.
Tips for Securing Your Magento Store
- Choose Right - The community and enterprise editions of Magento do not provide hosting. Hence, the first step towards securing your Magento store starts from choosing the right hosting provider. You should choose a provider who is reputed, reliable, has good reviews and has been in the industry since the past few years.
- Support Team - The host you choose should have a good support team who is on board 24 X 7. They should have a decent response time and should be able to fix any technical issues raised by customers. We at JavaPipe, give utmost importance for customer satisfaction and hence makes sure that our support team consists of the best techs available. Our support team is very vigilant and performs proactive server monitoring and conducts frequent security audits on the server. Any issues noticed are corrected within no time. JavaPipe focuses on imposing all the best security practices in our PHP Cloud Hosting servers. Our Support team also focuses on providing the highest uptime possible for all servers, which makes sure that your store never goes down.
- Magento Updates - Magento periodically releases security updates and new versions. Magento users should make it a point to perform updates on time so that their store is always up to date. This makes it stable and less susceptible to attacks.
- Secure store with https - It is strongly recommended that you should secure your store by sending all communication over a secure channel. Valid SSL Certificates should be purchased and installed on the domain to prevent eavesdropping.
- Use secure permissions - Do not set loose permissions on Magento files. Full permission on any files or folders should be given only if it is required by Magento or any of its extensions.
- Use strong passwords - Weak passwords are the main reason for website hacks. The FTP password, Magento admin password, and the control panel password, if any, should be set strong. It is recommended to generate random passwords with alphanumeric characters and special symbols.
- IP restrict Admin area - Magento admin area should be IP restricted. It means only specific IP Addresses which are allowed to access admin area should be whitelisted and all other IP Addresses should be denied access. This way, hackers cannot get into the admin login prompt.
- Use two-factor authentication - It is also a good idea to password protect the admin area. This way the hackers will have to crack two login details to gain access. It is also a good idea not to use generic usernames for admin login.
- Install Firewall and Brute Force Detection in the server - There should be a server firewall to protect the server from malicious attacks. It is also a good idea to impose a brute force detection kit which will block access based on login failures. This will prevent attacks to an extent.
- Use themes and extensions from trusted sources only - A lot of themes and extensions are available for Magento from third party websites. When installing, make sure that the themes and extensions you use are from trusted sources. Otherwise, they may act as backdoors for hackers. There is also a chance that some themes or extensions, if not properly coded, will cause resource hog in the server
- Ensure proper backups - No matter how prepared you are, disasters can happen and you should be well prepared with a disaster recovery plan. The best and foremost among those is to ensure proper remote backups. You should backup the entire store and associated database on a periodic basis. We at JavaPipe, ensure proper remote backups for all PHP Cloud Hosting accounts.
- Magento's security configuration - Make sure you have noted and taken care of Magento's security configuration settings like Captcha and others
- Managed hosting - It would be a good option to consider a managed hosting for Magento if you are a newbie. This will make sure that the hosting provider will provide all support for the software like installation, configuration, troubleshooting etc. Managed hosting lets customers concentrate on building their website and leaves the headache of security to the hosting company.
Disadvantages of Magento
- Cost - While Magento community edition is free, more advanced features are available only in enterprise edition which is paid. It has an annual maintenance fee and not all can afford this
- Not very user friendly - Magento is an easy to use platform, however, if you want to go for a full customization, the help of an expert Magento developer is required. Additional features cannot be easily done by a normal user
- Hosting limitations - Magento does not provide hosting along with their popular community or enterprise editions. Customers need to find a separate host who has tweaked their servers for Magento. JavaPipe's PHP Cloud Hosting gets a crucial role here, as our servers are well tweaked to host Magento websites. We also allow Magento installations at a click which makes it further easier for customers.
JavaPipe's PHP Cloud Hosting is currently a shared platform which combines the features of shared hosting as well as Magento hosting. We will soon be releasing SSD VPS servers optimized for running Magento and also have plans to release dedicated server plans which will be fully managed Magento hosting servers. JavaPipe also has DDoS protection available for VPS servers and dedicated servers which will make the managed Magento hosting more reliable and secure. Since we use SSD disks on our servers, high performance also is guaranteed. More details on our current PHP Cloud Hosting plans can be found here.