- Written by Constantin Oesterling
Drupal Web Hosting in the Cloud
Everything in the world revolves around the Internet these days. Right from the moment, one opens his eyes in the morning, to that hour of the night when he slips to sleep, he is bounded by the various features of the Internet in one way or the other.
The main reason for this is that everything in the world - whether it be learning, reading, music, movies, shopping, or anything are available through websites or mobile apps. Website designing and development has thereby flourished as a great career for many.
Content Management System, abbreviated as CMS is the tool which helps in creating, managing and updating the contents on a website. There are numerous CMS available in the market these days. Some are open source and are free while some others are licensed and have a cost involved.
A CMS, whether free or licensed, will have many attractive features in common such as web based and real time editing and publishing, statistic monitoring, indexing, formatting tools, revision control etc.
CMS allows dynamic editing, which means you can make changes to your website in a second, preview the change and then finally apply it rather than making changes to a number of files in the backend, uploading them via FTP and then continue the same steps to make corrections.
What is the Drupal CMS?
Drupal is one among the most popular CMS available these days. More than 2% of world's entire websites are run by Drupal. Drupal is an open source Content Management System built in PHP. It can use any database like MySQL to hold data.
Drupal is very flexible, feature-rich and simple to use. It is a stable software which lets you create websites of any size, from a small personal blog to a large corporate website. Drupal has bagged a lot of awards related to the best content management software, best open source application and many more.
Drupal has come across many changes in the recent years, and the two major release series that are currently supported are Drupal 7 and Drupal 8. Drupal 8 is the latest version, however, if your hosting environment does not have the latest software then you should go for Drupal 7.
Drupal was initially developed by two university students Dries Buytaert and Hans Snijder in 2000, who were looking out for a medium to communicate with their friends. They started it as a small internal messaging board where they and their friends can talk to each other, share their ideas, plans and news.
After graduation, they decided to publish it on the web so that they can communicate online. They were searching for a suitable domain name to be purchased and decided to use 'dorp.org'. 'Dorp' means a small community like a village and it suited this software which was intended for a small community.
However, Dries made a mistake while registering the domain name. He typed 'drop.org' instead of dorp.org. Later, they decided to go with drop.org and it was from that name the current drupal.org was born. The software when published in web gained popularity and started getting new audience.
Thus Dries decided to release the code to public in 2001 so that they can make modification and use it to modify and meet their requirements. Thus drupal.org became a fully open source product. The logo of Drupal also was designed with the 'drop' in mind and resembles a water drop.
Who Uses Drupal?
Drupal is widely used by millions of people and organizations across the world. Drupal is mostly used for the following purposes:
- Many government agencies use the Drupal framework to communicate with their citizens, the best example being the White House
- Many universities use it to design their websites
- Media and broadcasting companies use it
- Bloggers use it for creating personal blogs
- It is used for creating online magazines, newspapers, publications etc
- Used for creating shopping carts
- Used for creating online examinations, mock quizzes etc
- Though not a specific forum software, many popular forums are also created in Drupal
- Many small business owners as well as many corporates design their official website with Drupal
- Many use it for creating community web portals
Advantages of Choosing Drupal CMS for Your Website
Drupal is an extremely feature rich application. It is well suited for beginners as well as for experts to handle with ease, although WordPress is generally better for beginners.
A few features of Drupal, as a Content Management System are as follows:
- Drupal Core - Drupal has a core module called the Drupal Core which is forms the basic framework for designing Drupal websites. The core module consists of basic features like account registration, statistic monitoring, menu management, page layout and much more which forms the backbone of any website. Other third party, Drupal friendly modules can be integrated with the core module to meet any website requirements.
- User Friendly - Drupal is an extremely user friendly CMS. Anyone can easily create a website using the various features present in the admin panel. People with no technical knowledge also can easily work with Drupal. Developers have a lot more functionalities to explore. You have absolute control over the data you manage and it helps in creating a secure application without knowing much.
- Customizable - Drupal is a CMS which excels in features. You can customize the website in any way you like. It has advanced tools for menu management, graphics management, account management and much more. This helps in moulding the CMS to any form you like - whether it be a normal blog, an ecommerce site, a social networking page, a forum or much more.
- Open Source - Drupal is a 100% open source project. There is no cost involved in downloading the software. Anyone can download it and install it and use as they wish. Further more, the source code also is available and you are allowed to suggest modifications in it.
- Additional Modules - Think of a requirement, and a module will already be available for it. The Drupal community holds thousands of free Drupal friendly modules which helps you quickly add any features that you visualise for your website. Third party plugins or modules are also compatible with Drupal
- Themes - Drupal themes are available in plenty in the community. There is great competition among developers in building Drupal friendly templates which excel in one way or the other. Templates are present in whichever looks and features you wish to have. Drupal being a fully open source product, the modules are also built in the same manner, and does not come with a price tag.
- Scalability - Drupal is a highly scalable product. You can use it for a simple personal blog with just one page, and at the same time you can use it to build a high traffic website with thousands of pages. Scaling up or down, depending on the requirements, is pretty easy with Drupal.
- SEO Friendly - SEO or Search Engine Optimization is the greatest tool used for marketing these days. SEO helps websites in ranking at the top of the search engine results, leading to business. Drupal is a very SEO friendly software which has in built code which helps in building SEO friendly websites. In addition there are many third party SEO modules also available which you can use to improve the search engine ranking of your website
- Security - Security and Reliability are two great feature incorporated into Drupal's admin interface. Drupal security team is very keen in patching and releasing security updates as and when an exploit is discovered. This helps to keep your websites safe from attacks. Less attacks leads to high uptime for the websites as well.
- Strong Community - Drupal is backed by a very large and strong community of Drupal lovers. It consists of thousands of Drupal experts and developers who are there to answer any questions you ask. A beginner can use the community to learn Drupal and developers can find answers to those headache causing issues in their websites. There are high quality tutorials and documentation available in the community which anyone can use. Drupal also provides support through Forums, IRC chats, community discussions and many other ways
- APIs - Drupal supports a lot of APIs which make any feature integrations easier. If you want to integrate any payment gateways, or create an ecommerce platform this can be done easily with the help of supported APIs. This attracts more and more developers into Drupal.
Managed Drupal Hosting at JavaPipe
A hosting setup which is specialized in hosting Drupal websites is termed as Drupal Hosting. Such hosting companies outperforms others by making their servers Drupal friendly and tailoring their servers for meeting all Drupal requirements, providing high uptime, security, speed and expert support.
A managed Drupal Hosting has much more features like pre-installed Drupal setup, automatic upgrades, caching techniques, plugin management, support for all Drupal related issues etc. A managed Drupal host will let their users concentrate on building their website, and leave all headache of administering their Drupal website to the support team.
Drupal hosting is done on various types of hosting like shared hosting, VPS hosting or on dedicated servers. Frankly speaking, Drupal does not require a lot of specifications to run. Any webserver running PHP can run Drupal easily. MySQL is the mostly used database for Drupal, while other databases are also supported. Hence, pretty much any decent shared hosting can host Drupal sites without issues.
JavaPipe's shared hosting package called PHP Cloud Hosting has absolute support for Drupal. JavaPipe do not advertise ourselves as a Drupal Host, but our PHP Cloud Hosting packages are all well tailored to meet any Drupal requirements.
We also provide 1 click installation of Drupal through the use of Softaculous, the wonder software which bags around 350+ popular scripts. Users can simply enter a few details and install Drupal in 1 click without going through the hurdles of downloading the software and installing it manually.
Stability and reliability is a major plus point of Drupal hosting. JavaPipe's PHP Cloud Hosting package ensures both by hosting the websites on a redundant CloudStack environment, backed by superior SSD drives. This ensures that the websites reside in an environment which combines the power and convenience of a cloud platform and speed and performance boost of SSD drives.
In addition JavaPipe supports multiple PHP versions on the same server, which makes it highly available to run any version of Drupal. Most hosting companies run the latest version of PHP, and so does JavaPipe by default. However if you have an old Drupal installation, you can switch to an old version of PHP just for your website and run your old Drupal in it without issues.
Account migrations are thus far more easier and brings your site live in minutes.
JavaPipe offers a control panel for website management named SiteWorx. While most hosting companies choose cPanel as their control panel, we decided to go with SiteWorx as we were impressed by its feature rich interface and options it provides. cPanel is considered the best in the industry so far, but we are equally impressed with SiteWorx.
JavaPipe has an amazing support team with a bunch of knowledgeable techs, who are available round the clock to help our customers. Raise a support ticket at any time of the day or night, you will receive an update in less than 15 minutes. Security is of great improtance for us, and we have the industry's best security practices available on our servers. Our support team works tirelessly to meet the high uptime guarantee and never allows downtime on any of our servers.
How to Install Drupal on JavaPipe's PHP Hosting using Softaculous
We will now see how JavaPipe offers 1 click installation of Drupal through Softaculous. The step by step instructions are provided below.
Step 2: Once inside, you will see a search box on the left side. Here you can easily search for Softaculous by typing "softaculous" in the text box. You can also find it under the "Hosting features" section. Click on it.
Step 3: Once inside the Softaculous interface, you can search for Drupal on the left side search box for easy access. You can also scroll through the list on the left side if required and can find it under 'Portals/CMS' category. Click 'Drupal' and it will take you to the installation page. The page displays a small description of the software and its space requirements. Click on the 'Install Now' button to start with the installation.
Step 4: This is the most important step which collects all required details from you regarding your installation. You need to enter the details correctly, and based on this the installation will be taken forward. However there are options to modify the data entered at a later time as well.
The details to be entered are as follows. We will provide a small description on each so that if you are a beginner, it would be easier for you.
- Choose the version you want to install - The combo box to the right of this box provides multiple versions of Drupal. The latest stable version is Drupal 8 and hence I am choosing 8.1.10 . Drupal 7 also is equally good and you can choose it based on your hosting environment.
- Choose Protocol - The combo box has 4 options. 'http' and 'https' defines whether you want your website to display contents securely or not. If there are no critical information, then http is fine, however if any critical data is involved or payment gateways are added then it is recommended to choose 'https'. 'www' defines whether you want Drupal to be installed on www.javapipe.com (my example domain) or simply javapipe.com
- Choose Domain - The domains that you have created through your SiteWorx panel will be listed here. Choose the domain name under which you wish to install Drupal. I chose 'javapipe.demo'
- In Directory - This determines whether you need Drupal installed on the main site, say http://javapipe.demo or in a sub directory. I need it in a sub folder named 'drop', hence I entered the directory name as 'drop'. There is no need to create the folder, the installation will create it automatically
- Cron Job - A cron job is a scheduled task which will automatically perform the tasks on the time you specify. Drupal requires a cron job for its proper working and you can choose the time at which you want the cron to run. If you are unsure, leave it as such
- Site Name - As it says, enter the name you wish to give for your Drupal installation. I enter my Site Name as 'My Trial with Drupal'
- Admin Username - This is a very important step. The details you enter here will become the login details to your Drupal's admin interface. It is the admin interface that lets you manage and customize everything, hence choose a username and password that you can remember but never make it simple. I chose my username as 'drudmin'
- Admin Password - A strong and difficult password should be chosen here. It is always recommended to use the password generator by clicking on the key icon. This will ensure you have a strong and random password set.
- Admin Email - Enter the email address of the admin user. Next you will notice a topic 'Advanced Options' with a + icon. Click on the icon and it will expand to list the database details which you can modify.
- Database Name - You can choose a name of your wish. The installation will automatically create the database and there is no need to create it manually. I have no specific choice, hence leaving it to the default.
- Table Prefix - Again, you can leave it as default or modify the prefix for the database tables as you wish.
- Disable Update Notifications - A strict NO to check the box here, as you have to be notified of updates. Updates should be performed regularly to prevent attacks
- Automated Backups - Always a wise option to enable backups. I choose once a day so that my Drupal website will be backed up on a daily basis
- Backup Rotation - This specifies the number of backups to keep. I choose it as 2 so that at any point of time, I will have two copies of my backups. On the third day, the oldest backup will be erased and the new one added to the list.
- Email installation details to - If you want to receive the installation details to your email address, enter your email address here. It can be any email address and needn't be the admin email itself.
Once all data are entered, go through them once again, ensure all have been entered correctly and click the 'Install' button.
Step 5: This step will now verify the details you provided and install the software based on it. All compatibility checks will be conducted at this stage and you can simply wait and watch. It will not take more than 2-3 minutes. Once the installation is carried out successfully you will get a confirmation message.
The confirmation message displays my installation related links. The installation is available at http://javapipe.demo/drop and the admin interface is at http://javapipe.demo/drop/user/login
Step 6: Now we can try accessing the installation at http://javapipe.demo/drop
Now try logging in to the admin area at http://javapipe.demo/drop/user/login. You need to enter the username and password you provided at the time of installation.
Working with Drupal
In this section we will see how content can be added to Drupal. Let us begin by adding a front page to our website http://javapipe.demo/drop. You might have noticed in the screenshot provided above that there is no content on the front page. Let's try to add one now.
Login to the admin interface and click on Content -> Add Content.
Here you can decide whether you are creating a static page like 'About Us' or something like an Article. Choose accordingly. I am going to create a static front page, so I choose 'Basic Page' option.
You will now be taken to a page where you can enter the content. Enter the title for the page and within the text box, enter the content. I have entered a text as well as an image for example. Image can be added by clicking on the image icon highlighted in the screenshot. There are a lot of formatting options available there which can be chosen as required.
Once all editing is done and you are ready, click the 'Preview' button to view your changes. If all is good, then click 'Promotion Options' tab on the right side and check the box which reads "Promoted to FrontPage". Only if this is done that the content will be posted to your front page. Then click on 'Save and publish' button so that the page will be visible on the main site. If you click on the arrow to the right of the button, you also have the option to just save the post without publishing.
Now clear your browser cache and access your site once again, and you will notice the front page you just designed.
Managing Drupal Themes
Next, we will see how a new theme can be added to your Drupal website. Themes provide a better look and design to your website. To upload a new theme, go to 'Appearance' section and click 'Install new theme'.
You now need to upload the theme. Either you can provide the link to the theme or you can download it to your machine, browse and select the file to be uploaded. I am providing a direct link to a theme.
Once the file is uploaded or the link inserted, click the 'Install' button. The installation will be carried out and you will receive a success message that the theme has been installed. Once you see it, go back to Appearance -> Scroll down to 'Uninstalled Themes'. The theme you installed will be present there. Click on 'Install and set as default' to install the new theme and set it as the default theme for your website.
Now go back to your website, clear the browser cache and refresh the website and enjoy the new theme.What to Look for in Drupal Hosting
People always think a Drupal Hosting is the best place to host Drupal sites. To an extent they are, but there are many hosts who simply advertise themselves to be Drupal hosts without any preparation to run them. Hosting Drupal sites is not a headache, however below are a few features a good hosting company should consider in order to run Drupal friendly sites.
- Performance - Whether it be a Drupal hosting or a normal shared hosting, performance is a huge factor. In order to provide good performance, the hosting company should employ superior hardware for their servers. JavaPipe takes special care in choosing hardware. Our CloudStack environment backed by SSD drives provides performance boost to websites. In addition to hardware, the network used should be good and should be able to handle the traffic.
- Speed - No-one likes to keep waiting for minutes to load a web page. Speed is an important factor that the hosting company has to take care of. Good hardware and network can increase speed to an extent. In addition, the hosting company needs to implement caching mechanisms in the server or provide CDN services to speed up web pages. JavaPipe has both caching and CDN implemented in the PHP Cloud Hosting package. A CDN or Content Delivery Network is a system which has data distributed over multiple servers. When a user request data, it will be fetched and provided to the visitor from a server which is geographically nearer to his location.
- Resource Usage - A good hosting company will never over sell resources. Overselling leads to server throttling and will badly affect the websites hosted on the server. Drupal hosting is normally a shared hosting environment and hence resource caps per account are important. This doesn't happen much in the case of a good VPS hosting. JavaPipe monitors resources usage and has also implemented LVE (Light Weight Virtual Environment) in servers which provides proper isolation between accounts. Any account which goes above its allowed resource usage will be further prevented from using resources. Some hosting companies advertise unmetered bandwidth for customers. JavaPipe however knows that is not a practical method, and we do not advertise unmetered bandwidth. However we are very peculiar about adding the required amount of bandwidth limits to each plan.
- Security - Security should be given utmost importance when you host websites with third party software. Drupal being a popular software and having a big collection of external modules, is a main target of attackers. JavaPipe's servers are all well secured with the latest security practices. In addition we have DDOS protection available for selected services which further helps in reducing attacks. DDoS protection may not be affordable for all hosts, however a good firewall is a must for any hosting company.
- Knowledgeable Support - The popularity of a host is always increased by a team of knowledgeable techs. The belief that there is a strong team behind to take care of and resolve any issues that come across is a great relief for many customers. A good Drupal hosting company should have a team of server experts who are also Drupal experts. They should be courteous and should be ready to help at any time.
Tips for Drupal Hosting Security
Companies who are hosting Drupal sites will have their own methods of protecting the servers. However security of a Drupal installation is not limited to the Drupal hosting company alone. The users also have to take care of a few points to make their installation cent percent secure. Here we discuss a few tips that the users should take care of while running Drupal websites.
- Choose Hosting wisely - Always choose your hosting company wisely. They should be reputed and should be reliable. Reviews and previous customer experiences should be counted before making a decision. Their sales and support team, attitude, response time, technologies used, pricing etc are factors you need to compare. Unlimited and Free are two magical terms that companies use for marketing. You should know that it is practically not possible to provide any unlimited resources. Unlimited resources are advertised in a guess that no one will ever use that much of resources. Hence always go for plans which have properly described the limits.
- Use Strong Passwords - Most commonly websites are hacked due to the presence of weak passwords. This could be the password to their control panel, FTP or Drupal admin passwords. Always keep your passwords confidential and do not share it with anyone. Remember to set strong passwords which are at least 8 characters long and are a mix of alphanumeric characters and special symbols. Do not use dictionary words. If possible, always use the password generator tool in your control panel to create passwords. Never store passwords in browsers or FTP clients.
- Use Antivirus in your Machine - Your machine should have a good antivirus and firewall installed. You should periodically scan your machine and take necessary steps to correct the issues noticed. The presence of a good firewall and antivirus will protect your machine from attacks and will there by provide security to your website when you log in to it from your machine. Most often, the viruses installed in local machine can harm websites when accessed from there.
- Remove Unused Modules - Drupal modules are available in plenty. Always deactivate and remove unused modules. This helps in reducing attacks through malicious modules and also helps to bring down resource hogs created by poorly coded modules. Remember to download modules from authorized sources only. It is also good to have security modules installed, which will provide an extra layer of security to your Drupal site.
- Use Latest Version - Always use the latest version of the software. Drupal's latest stable version, as of this writing, is Drupal 8. There are also old versions like Drupal 7 still available however it is recommended that everyone use the latest version if possible. Drupal 8 has a lot of new features and has also strong code which will minimize hacking. Not only Drupal, but all related modules and themes should be updated periodically as and when their major or minor versions are released.
- Subscribe to Security Mailing List - Drupal has a security mailing list where security related matters are discussed. Always keep an eye on the list for any vulnerabilities detected. If your version is affected by that vulnerability, Drupal will release a security patch which should be applied.
- Password Protect Admin Area - It is a wise idea to password protect your Drupal admin area. Most often hackers gain access by guessing the login combination. By password protecting the admin area, you are providing a two-factor authentication thereby requiring the hackers to crack two login combinations to gain access. Also do not use common usernames like 'admin' for the admin login. Use something different which others cannot easily guess.
- Remove Inactive Users and Permissions - Drupal allows creating multiple users and provide various access permissions and roles. Make sure you always remove inactive users and remove their permissions. This will reduce the chance of attacks. Remember to set strict permissions for active users and never provide any roles or permissions that they don't require. Only admin users should have full permissions and that should be monitored as well.
- Status Report & Logs - Drupal has a wonderful status report which will warn you of any issues noticed. Remember to check the status report often and take corrective and preventive actions. Drupal also has a log viewer which clearly lists all actions done through the admin interface. This should be monitored to know in advance if any attacks are coming, or to identify the loop hole which created an attack.
These are a few tips that the users should take care of to secure Drupal. There are many more, but including all is beyond the scope of this post.Drupal Hosting is gaining more and more popularity these days. JavaPipe's current PHP Cloud Hosting packages support Drupal well. We are also planning to launch special VPS hosting plans for Drupal users and are also thinking of releasing dedicated servers with managed Drupal hosting. Current details of our PHP Cloud Hosting packages can be found here.