Drupal Tutorial – Content Management System (CMS) Tutorial

Home / Drupal Tutorial – Content Management System (CMS) Tutorial

Drupal Tutorial

Drupal is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content. It is built on PHP based environments. This is carried out under GNU i.e. General Public Licence, that means everyone have a freedom of downloading and sharing it to others. This tutorial will teach you the basics of Drupal using which you can create websites with ease.


This tutorial has been prepared for anyone who has a basic knowledge of HTML and CSS and has an urge to develop websites. After completing this tutorial you will find yourself at a moderate level of expertise in developing websites using Drupal.


Before you start proceeding with this tutorial, we are assuming that you are already aware about the basics of HTML and CSS. If you are not well aware of these concepts, then we will suggest you to go through our short tutorials on HTML and CSS.

Drupal – Overview

What is Drupal?

Drupal is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content. It is built on PHP based environments. This is carried out under GNU i.e. General Public Licence, that means everyone have a freedom of downloading and sharing it to others. Drupal is used on million sites such as WhiteHouse.gov, World Economic Forum, Stanford University, Examiner.com and many more.

What is Content Management System?

The Content Management System (CMS) is a software which keeps all the data of your content (such as text, photos, music, documents etc) which will be available on your website. A CMS helps in editing, publishing and modifying the content of the website.


The standard release of Drupal known as Drupal core was developed by Dries Buytaerti in January 2001. It is considered as leading CMS in variety of industries.

Why to use Drupal?

If you are developing a website with content management system, Drupal CMS is very flexible than any other CMS. Drupal is very powerful and can be used for building large, complex sites. It is PHP based template and allows non-technical users to add and edit the content without any HTML or Web design knowledge. Using Drupal CMS, it can be easy to interact with other sites or technologies and can handle complex forms and workflows. It is available with more than 16000 modules which can be addressed with Drupal core and add-on modules.


  • It makes easy to create and manage your site.
  • Translates anything in the system with built-in user interfaces.
  • It connects your website to other sites and services using feeds, search engine connection capabilities etc.
  • Drupal is open source software hence requires no licensing costs.
  • It designs highly flexible, creative website to the users and display more effectively to increase the visitors.
  • Drupal can publish your content on social media such as Twitter, Facebook and other social mediums.
  • Drupal provides more number of customizable themes, including several base themes which are used to design your own themes for developing web applications.
  • It manages content on informational sites, social media sites, member sites, intranets and web applications.


  • Drupal is a flexible CMS that allows handling content types including video, text, blog, menu handling, real-time statistics etc.
  • It provides a number of templates for developing web applications. So there is no need to start from scratch if you are building simple or complicated web applications.
  • Drupal is easy to manage or create blog or website. It helps to organize, structure, find and reuse content.
  • Drupal provides some interesting themes and templates which gives your website an attractive look.
  • Drupal has over 7000 plug-ins to boost your website. Since Drupal is an open source, you can create your own plug-ins.


  • Drupal is not user friendly interface. It requires advanced knowledge and few basic things about the platform to install and modify.
  • Drupal is new content management system. It is not compatible with other software.
  • Performance is low compared to other CMS’s. The website which is built using Drupal will generate big server loads and never opens with a slow internet connection.
  • This article provides step-by-step procedure for Drupal installation. Befor installing Drupal, you require following system requirements.

    System Requirements for Drupal

    • Database : MySQL 5.1 +
    • Web Server :
      • WAMP (Windows)
      • LAMP (Linux)
      • XAMP (Multi-platform)
      • MAMP (Macintosh)
      • Nginx
      • Microsoft IIS
    • Operating System : Cross-platform
    • Browser Support : IE (Internet Explorer 8+), Firefox, Google Chrome, Safari, Opera
    • SSL (Secure Socket Layer) : A valid security certificate is required for HTTPS
    • PHP Compatibility : PHP 5.2+

    Download Drupal

    Step (1): Download the Drupal and copy to your web server from this link : https://www.drupal.org/project/drupal

    Step (2): Select the latest version of zip file which you want to download as shown in the below screen. The Recommended releases are the latest stable releases of either version.

    Drupal Installation

    Setup Wizard

    It’s very easy to setup Drupal on your system. The following steps describe how to setup Drupal locally on your system.

    Step (1): Download the zip file and extract it to your local computer. Rename the folder from its current name to any name you want to use to refer to your site.

    Step (2): Drupal requires MySQL database. So create a new empty database with user/password for Drupal to use. (For e.g. user as “root” and password as “root” or else you can set as per your choice).

    Step (3): Open your browser and navigate to your Drupal file path, you will see the first Drupal installer screen as shown below. In our case the path is localhost/< Your_drupal_folder >.

    Drupal Installation

  • Next, select the Standard option and click Save and continue.Step (4):Next, select the default language for the Drupal website.After selecting the language, click on Save and continue.

    Step (5): Next is Database configuration page. Here you need to enter type of the database you will be using, Database name, Database username and Database password.

    Drupal Installation

    • Database Type : Select the database type. By default it will be MySQL.
    • Database name : Enter the database name for Drupal.
    • Database username : Enter the user name of your MySQL database.
    • Database password: Enter the password which you had set for MySQL Database.

    When you click on the ADVANCED OPTIONS, you will see a screen as shown below:

    Drupal Installation

  • Here you can fill the advanced options for the database:
    • Database Host : Enter the host name where your database is located.
    • Database port : Enter the database port.
    • Table Prefix : It is used to add prefix in the database tables which helps to run multiple sites on the same database.

    After filling all information, click on Save and continue button.

    Step (6): Next, you will see the installation process starts on your machine.

    Drupal Installation

  • Step (7): Next, you will see the Configure site page:Drupal Installation
  • It contains below fields:
    • Site name : The name that you want to give to your site.
    • Site e-mail address : The email address that automated e-mails will be sent from this address.
    • Username, Email-address and Password : These are all administrative details used for the maintenance account.

    You need to enter all these fields and click on Save and continue.

    Step (8):Next, you will see the below page indicating that your drupal install is successful:

    Drupal Installation

  • Step (9): Click the Visit your new site link as shown in the above image; you will get the newly installed Drupal homepage as shown below.
  • Drupal is a platform for web content management which is powerful tool for building simple and complex sites. In this chapter, we are going to discuss the architectural style of Drupal for implementing user interfaces. The following diagram shows architecture of Drupal:Drupal Taxonomies
  • The architecture of Drupal contains following layers:
    • Users
    • Administrator
    • Drupal
    • PHP
    • Web Server
    • Database


  • Users: These are the users on the Drupal community. The user sends a request to a server using Drupal CMS and where web browsers, search engines etc acts like clients.Administrator: Administrator can provide access permission to authorized users and will be able to block unauthorized access. The Administrative account will be having all privileges for managing content and administering the site.

    Drupal: Drupal is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content and built on PHP based environments. Drupal CMS is very flexible and powerful and can be used for building large, complex sites. It is an easy way of interacting with other site and technologies using Drupal CMS. Further, you will be able to handle complex forms and workflows.

    PHP: Drupal uses PHP in order to work with an application which is created by a user. It takes help of web server to fetch data from the database. PHP memory requirements depend on the modules which are used in your site. Drupal 6 requires at least 16MB, Drupal 7 requires 32MB and Drupal 8 requires 64MB.

    Web Server: Web server is a server where the user interacts and processes requests via HTTP (Hyper Text Transfer Protocol) and serves files that form web pages to web users. The communication between user and server takes place using HTTP. You can use different types of web servers such as apache, IIS, nginx, lighttpd etc.

    Database: The database stores the user information, content and many more required data of the site. It is used to store the administrative information to manage the Drupal site. Drupal uses the database to extract the data from a database and enables to store, modify and update the database.

  • In this chapter, we will study about how to Create Menus in Drupal. Menus are very important to navigate your website easily. Menus offer a set of links as a result, you can navigate your website. The Drupal menu allows you to add, remove and rename the menus and menu items.

    Following are the simple steps to create menus in Drupal.

    Step (1): Click on Structure -> Menus as shown below

    drupal main menu 

  • Step (2): Further, click on Add menu option to add menu.

    drupal main menu 

  • Step (3): Next, you need to fill in the required details as shown below.

    drupal main menu

    • Title: It displays title in the Administrator Menu bar.
    • Description: Enter a brief description about the menu. The description field will display only in the admin dashboard under the menu list, but it does not display any information to site visitors

    After filling all the information about the menu, click on Save button to save your created menu bar.

    Step (4): Once you save the menu bar, the following screen will get displayed. Here you have to define the path link to your created menu page. Click on Add link as shown below.

    drupal main menu 

  • Step (5): Next, you will see the created Menu1 page as shown below.

    drupal main menu 

  • It contains below fields:
    • Menu link title: Specify the name of the menu item.
    • Path: Specify the url path of the page which you want to display.
    • Description: Description about the menu link.
    • Enabled: It enables the item to display on menu.
    • Show as expanded: If it consist of sub menus, then it will be displayed under parent menu item.
    • Parent Link: It sets the main structure of menu.
    • Weight: Sets the order of menu items.

    After filling all the information about the menu link, click on Save button, this will save your Menu link.

    Step (6): Further you will see the following screen as shown below.

    drupal main menuStep (7): Click on Structure -> Menus then you will get the following screen as shown.

    drupal main menuHere, you will see the created Menu1 name in the list of Menus.