ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Internet & the Web»
  • Web Page & Web Site Development

A Foolproof Guide and Steps to Build a Website with Drupal

Updated on October 20, 2011

Building a Website With Drupal

I thought I would write a tutorial that you can easily follow step-by-step to create and customize your own website with Drupal.

I'm going to show you how to build a website using Drupal that can accomplish virtually anything. The basic functionality we are going to implement is as follows.

I show you how to build a site that can accommodate...

... your blog,
... individual pages,
... forums,
... content structured in book format,
... a contact form,
... three different menus (primary / secondary horizontal, sidebar vertical)
... polls,
... a site-wide search feature,
... a taxonomy system (a system for organizing tags and categories in hierarchies)

Also, I show you how to administer and maintain the site and where to look for help to expand upon your knowledge.

Which blogging system are you most familiar with?

See results
Create Content Page in Drupal
Create Content Page in Drupal

As I have said, building a website in Drupal is easy. All you need in the beginning is to follow my steps to put the thing together.

Step 1 - Hosting Service Provider supporting PHP5 and MySQL

You have to register with a hosting service provider. A free service provider is not acceptable for our purposes, because we need PHP5 support, MySQL support and Cpanel or InterWorx. There are many cheap solution available in the market.

You'll get your Cpanel username and password; the address of the ftp server and your username and password to the ftp server from your provider.

Step 2 - Download Drupal Content Management System

To see an example of what a Drupal website can do, go see Apple's site at

Type into your browser:; Log in to Cpanel by using your username and password the service provider gave you.

Find Fantastico software wizard and click it. Choose 'Drupal' under the heading 'Content Management Systems'.

Click 'New Installation'. Choose your domain. Leave 'Install in Directory' box empty. Under 'Admin Access Data' enter a username and password (of your choosing) for the superuser you want to administer the site. Specify your email address and click 'Install Drupal'.

You are given the name of your MySQL database and username, so note this down. Click 'Finish Installation'.

Your superuser username and password will be confirmed. Enter the email address where you want to receive the details of your installation and click 'Send Email'.

You are done. Log out of Cpanel and visit your site.
Drupal welcomes you. Log in as the superuser.

Here we are at your shiny new website, but it does nothing yet. We need to implement a few features.

Step 3 - Creating a Blog in Drupal

Click 'Administer - Site Building - Modules'. Check the boxes beside Aggregator, Blog, Book, Contact, Forum, Poll, Profile, Search, Upload. Click 'Save Configuartion'.

Let's write a blog entry. Click 'Create Content - Blog Entry'. Write the title and the body of your entry. Scroll down and click 'Publishing Options'. Here you can decide if you want your entry published (we do ), if you want your entry to appear on the first page (we don't so uncheck), if you want it to stick to the top (we don't, so leave unchecked). Now save.

You have your first blog entry that you can edit at any time. What you need is a menu item for the blog entry. Click 'Edit - Menu Settings', write 'blog' in 'Menu Link Title'. From the dropdown choose 'Primery Links' for primery horizontal, 'Secondary Links' for secondary horizontal, 'Navigation' for sidebar vertical. For now, let's leave it 'Primary Links' and save.

Now, you have your menu item up there and by clicking it, it takes you to this entry. But we don't want it to take us to this specific entry, we want a menu item that takes us to a page where all future entries are listed. So click 'Administer - Site Building - Menus - Primary Links' and delete the item.

Now, click 'Add Item' and specify the 'Path' as 'blog' and the 'Menu Link Title' also as 'blog'. Save. What we just did is we just created a menu item that leads us to, the page that contains all blog entries in Drupal.

Administration Page in Drupal
Administration Page in Drupal

Step 4 - Creating Pages in Drupal

Let's make a front page. Click 'Create Content - Page'. Write the title and body. Under menu settings write 'Home'. Choose the weight to be -50. This tells Drupal, no matter what, this page will appear first in the menu sequence. Save. Click 'Home' and take note of the homepage's address. It will be something like You now have the homepage and the menu item, but it doesn't appear as the first page yet. Go ahead and type to see for yourself.

You need to click 'Administer - Site Configuration - Site Information'. Give your site a name, a slogan, specify your email address, then scroll down to 'Default Front Page' and type 'node/whatever'. Save configuration. Now type your domain name and behold your homepage.

You can make any number of pages in this manner and assign menu item to them in any of the menus.

Step 5 - Creating Forums in Drupal

Click 'Administer - Content Management - Forums'. Click 'Add Container', specify container name and description. Leave parent as root. Save. This is a container that will house your forums.

Now click 'Add Forum', specify forum name and description, choose your container name as root and save. Repeat this step as many times as you wish.

Now click 'Administer - Site Building - Menus - Navigation'. Click 'Add Item'. Specify name as 'forum', menu link title as 'Forums'. Save.

You have your Forums item appearing in navigation menu. You could've put it in primary links if you wanted. We can even change this at any time. Just click 'Administer - Site Building - Menus - Navigation' again. Find 'Forums' and click on 'Edit'. Change the parent item to primary links and save. Now click 'Forums' menu item and behold your first forum.

Step 6 - Setting Up a Contact Form In Drupal

Click 'administer - site building - menus - primary links'. Click 'add item' and specify path as 'contact', menu link title as 'Contect Us' and save.

Click on 'contect us' in the menu. The contact form has not been configured yet, so click on 'Add one or more categories'. Add the category 'feedback' and specify the email address of the recipient. Write an auto-reply like 'Gee, thanks for that one!' Save. Clock on 'contect us' to see your contact form.

Step 7 - Using Drupal Taxonomy ti Create Tags and Categories

you can build a taxonomy tree, which is a hierarchic structure for the tags you want to add to your blog, page or whatever posts. Click 'administer - content management - taxonomy'. Click 'add vocabulary'. Give it a name that will appear when you post a blog entry and choose the appropriate tags, give a description and a help line like 'please select multiple tags by holding down the Ctrl key'. Select the content type you want to use this taxonomy tree for, check 'multiple selection' and save.

Now click 'add items' beside the name of your vocabulary and add a tag (just term names). Save. Keep on adding till you're satisfied. You can choose the parent of each tag under advanced options to make a treelike structure.

Step 8 - Adding Content, Blocks, Permissions

Now that we've covered the very basics and the site is functional, we can start adding content to it. You can add blog entries, pages, stories (another type of page), forum topic, polls by clicking 'create content' and the item you want. Let's just add a poll. Click 'Poll'. Write the question and the possible choices. Select duration and save.

Your site is made up of several sections including a left sitebar, a right sitebar, a content area, a header and a footer. Click 'administer - site building - blocks'. Here is where you decide what goes where. Scroll down to the disabled section and click the dropdown next to 'Most recent poll'. Select right sitebar and save blocks. Now your poll is on your right sidebar.

Registered users can vote. But we want to give everyone the chance to do it, so we'll graciously grant this right to unregistered users. Click 'administer - user management - permissions'. Scroll down to poll and check the boxes next to vote on polls for both anonymous and authenticated users. The former is the unregistered the latter is the registered user. You are the superuser and can do whatever you want. Now save. Log out and see if you can vote? Yes, you can. Log back in.

Now, when you were logged out you noticed that the 'contact us' menu item disappeared. Why? Because anonymous users are not allowed to see it. What are we doing? We go back to permissions, scroll down to cotact module and allow all visitors to access our contact form. Then we save. Log out. All is well. Log back in.

Step 9 - Using Themes to Customize the Looks

Now, you just realized you don't like how the site looks. Click 'administer - site building - themes'. Scroll down and select another theme. Check both enabled and default and save. Still don't like how it looks? There are host of themes available for download for free at

Open a new browser window and visit Click 'Themes'. Let's pick 1024px as it is recommended for our version of drupal 6x. Download and unpack it. Open an ftp software. For me it's Krusader for Linux, but for you it might be Total Commander for Windows. Find the ftp feature. For me it's under 'tools - new connection', for you ??? Use the ftp server name provided by your host. Sometimes it is Use the ftp username and pw also provided by your host. Once in, find and enter the themes directory. You need to copy the folder containing your new theme, in this case 1024px in here. You might be asked to reenter your pw in the process. When finished, disconnect and close the ftp software.
Go back to your site and find your new theme. Activate it. Well, this may not be the best theme we could choose so go back to the original one. At least you now know how to get your hands on a new looks.

Step 10 - Taking it further

Now you have a fully functional website that houses your blog, polls, forums, custom pages, whatever. There is much more to Drupal than this, virtually anything a website can accomplish. You can create a community like Hubpage, but for this to happen, you still have a long way to go.

One thing I can guarantee you. The community at will answer any questions you might have along the road. Also, the best book on Drupal for starters is Building Powerful And Robust Websites With Drupal 6, by David Mercer.

Good Luck!


    0 of 8192 characters used
    Post Comment

    • hotwebideas profile image

      Bruce Chamoff 3 years ago from New York

      I think this is a great started article for those people who are jumping into Drupal, but now Drupal 8 is coming out soon and it has changed so much in 4 years since this article was released.

      I have a few hubs on Drupal, but for those people just getting started on Drupal, definitely take the advice from this author.


    • shameemweb profile image

      shameemweb 5 years ago from India

      I have not tried drupal yet for my website may be in feature

    • AudreyHowitt profile image

      Audrey Howitt 6 years ago from California

      Well this looks extremely useful--am bookmarking!!

    • BRIAN SLATER profile image

      Brian Slater 6 years ago from England

      Great tutorial, sounds very much like Wordpress in the way you set it up. Voted up and b/marked.

    • hotwebideas profile image

      Bruce Chamoff 6 years ago from New York

      Hey Haunty, great tutorial. I recently got into Drupal 7 and am building modules for it, so maybe I will chime in on that topic.

    • profile image

      latest vcp-510 exam 6 years ago

      I want to add that a system administrator has installed the router,

      connected the network cables, set up equipment, firewall configured,

      controlled and guided the traffic that passes through each node in the

      network that travels on copper, is to make life easier.

    • Haunty profile image

      Haunty 6 years ago from Hungary

      Thanks, sodbells. I got your email. I have a hub on how to install drupal and get started. The official drupal website is a good place to go if you need further information. Everything I know I have learned there.

    • sodbells profile image

      sodbells 6 years ago from Lagos

      these is cool keep it up

    • opensourcevarsity profile image

      Ivan Bayross 6 years ago from Mumbai / India

      Hi Haunty,

      I've been thinking of learning how to use Drupal for quite a while now. What prevented me from doing so till date was the steep learning curve that everyone seems to speak about.

      After reading this Hub, and carefully going though the comments on this Hub, I've decided to take the plunge.

      I'm just glad I read this Hub and it got me going on Drupal. I'm sure that I'm going to become a fan of Drupal shortly. Thanks heaps.


      Ivan Bayross

      P.S. Jai why not take a quick look at www dot opensourcevasity dot com, it does cover all that you need I think

    • Haunty profile image

      Haunty 6 years ago from Hungary

      Hi Jai,

      Of the three CMSes I'm only familiar with Drupal, and this tutorial does nothing but scratching the surface. I wrote it to be a good starting point for anyone to learn the basics of Drupal, but if you want to really delve into it you might want to consider the video tutorials on sites like gotdrupal, drupaltherapy, yadadrop, etc. The lullabot store has some great items for beginners and packt publishing has the best books I know of that teach CMSes through building sample sites. Please, keep in mind that the most of what you'll find will be on Drupal 6, whereas the latest version is Drupal 7. The only changes that you'll notice are concerned with the administrative interface and some functionality that used to require the installation of contributed modules is no in core. If I was to start learning any of these CMSes now, I would start by familiarizing myself with the terminology that they use, because most of the tutorials will find, use CMS-specific terminology. Good luck!

      Best regards,


    • profile image

      Jayakumar 6 years ago

      Hi Haunty,

      I started working on php only 2 years back. I am now looking up all the content management systems quickly. Mainly I need to learn joomla, wordpress and drupal. Your tutorial above makes me familiar with the features of drupal by taking me through the steps of actually building a sample site.

      Yours is the only tutorial that tries to do that. Thank you very much for that. Can you direct me to similar tutorials for Joomla and wordpress which teach things by trying to build sites and make a person familiar with the features of the cms?

      Also if you can direct me to some other similar tutorials for drupal I would be grateful to you.

      Warm Regards,


    • Aya Katz profile image

      Aya Katz 7 years ago from The Ozarks

      Thanks, Haunty!

    • Haunty profile image

      Haunty 7 years ago from Hungary

      Yes, you have to have full administrative rights over your files (view, edit, copy, delete etc). It's like this: You go ahead and buy webhosting with the company of your choice. (I bought mine for $25 a year with a free domain included.) This gives you storage space on an online server, onto which you can upload the Drupal software package and go from there. You can't do it at

    • Aya Katz profile image

      Aya Katz 7 years ago from The Ozarks

      Haunty, so you have to own the whole domain, and not just be one of the users on the domain?

      I pay for the right to have my website on But there, my page on the site ends with /~amnfn. I can upload anything in HTML there, and I have webpages. But you're saying that's not good enough, I need to own the entire domain like the whole

    • Haunty profile image

      Haunty 7 years ago from Hungary

      Drupal is a software, which is in itself free. But to use it you need web hosting that supports PHP 5.2 and MySQL 5.0 and also a domain. Most web hosts work well. Basically, you have to go to GoDaddy or whatever host, buy hosting and domain and then you are free to use drupal. It's easy to install through CPanel or a bit more tricky manually, but I have a hub about that one.

    • Aya Katz profile image

      Aya Katz 7 years ago from The Ozarks

      Haunty, is Drupal free for anyone to use, as long as they have a non-free hosting site? My personal website is on the well ( Can I use Drupal there? If I do, will my existing pages still work?

    • Haunty profile image

      Haunty 7 years ago from Hungary

      Hi SiddSingh,

      Think of it this way: there are different layers of drupal functionality and it's up to you how deep you want to go.

      If you want a simple blog, it's easy to do in Drupal. Forums, subpages, category pages, tagging, polls, contact form, even book-like structures are also easy to do. Even for a non-techie person.

      This is only the surface though. You can do much more advanced stuff such as e-commerce, different layouts, customized forms, community features, adsense revenue sharing, etc. I'll be honest, these things are not as easy to do. Drupal is in constant development, so if you come back three years from now, it will probably be much more user-friendly.

      Another thing to consider: Drupal SEO. This is not very straightforward and requires you to put in some effort.

      In addition, you don't just build a Drupal site, you maintain it. New security updates are coming out all the time. Honestly, I don't know how wordpress keeps your site secure without updates.

      Bottom line is Drupal requires study. Generally speaking, it is much more a question of time and dedication than whether you are a techie or non-techie guy.

    • SiddSingh profile image

      SiddSingh 7 years ago

      Hi Haunty,

      This is my second comment on your hubs in as many minutes -but seriously - I am not spamming ;)

      I have just put the final touches to my first 'website' - I built it on WordPress. I thought about Joomla/Drupal also, but being somewhat 'technologically challenged', I settled for the safety of wordpress.

      Wish I had come across this tutorial earlier. (On second thoughts, maybe I will still try to put this in practice).

      I wanted to ask you - Would you advise Drupal for a non-techie guy like me ?

    • Haunty profile image

      Haunty 7 years ago from Hungary

      agvulpes, thanks for your comment. Did I write it beats wp? Well, I meant it does more and also, it is a bit more complicated. :)

    • agvulpes profile image

      Peter 7 years ago from Australia

      Haunty, a great tutorial as usual :-) When I get around playing with Wordpress I will have a look at Drupal. It will have to be good to beat Wordpress!

    • Haunty profile image

      Haunty 7 years ago from Hungary

      Thank you, Dale. As you said, it's intended to be an actionable tutorial. And it is really a boring read in itself.

    • Dale Mazurek profile image

      Dale Mazurek 7 years ago from Canada

      Im really not sure what I will use or even if I will ever build a website. I love playing with blogs.

      However I did read every word of this hub and it is a great tutorial.

      I have now listed your hub on my blog.

      The link to my blog can be found at the bottom of my profile page



    • Haunty profile image

      Haunty 8 years ago from Hungary

      WA - It's not that hard to learn and there are many good books on Drupal available for beginners. :)

    • WriteAngled profile image

      WriteAngled 8 years ago from Abertawe, Cymru

      I've never heard of Drupal. It sounds like something that will help me a lot. Thank you!

    • Haunty profile image

      Haunty 8 years ago from Hungary

      I think drupal is not as straightforward as wordpress, but once you get the hang of it, it's easy to use. The thing I like about it most is if I want a new function it is easy to find a module (plugin) that does what I want at

    • lbtrader profile image

      lbtrader 8 years ago from Canada

      Great Stuff Haunty.

      I'm thinking of building a website and this is bang on.

    • Haunty profile image

      Haunty 8 years ago from Hungary

      FTI - You're very clever with wordpress, I've seen your sites. :)

      I speak a little Drupal, so if you have trouble figuring something out, just drop me a line. :) Good luck.

    • ForTheInterim profile image

      ForTheInterim 8 years ago from Montreal

      Thanks for the guidance! I'm currently fumbling with my first Drupal site. Ive managed Word Press, and moderately Joomla, but I think maybe I installed too many modules with Drupal and now I just keep getting errors and lost my right side column! I'll get there eventually...!

    • Haunty profile image

      Haunty 8 years ago from Hungary

      free4india - you made me curious about wordpress, so I checked it out. It's pretty great. And beautiful!

      I agree with you 100%

    • Haunty profile image

      Haunty 8 years ago from Hungary

      Thanks, free4india. You are right, of course. From one perspective.

    • free4india profile image

      free4india 8 years ago

      I have tried out Drupal and I feel that though it has high functionality is a bit too much for newbies....

      I feel Joomla is like Frontpage.... and word press I do not know much but I feel it is just click installation.....

      For ordinary people for a blog wordpress will do....

    • profile image

      akhilkarun 8 years ago

      Hey thankyou so much man!

    • Haunty profile image

      Haunty 8 years ago from Hungary

      Frog - sent you an email. If the problem remains, tell me please.

    • frogdropping profile image

      Andria 8 years ago

      Haunty - humph! I am following your guide to the letter and I can't get past 'failed to install'. Says: there are conflicting filenames, therefore we can not proceed. Following filenames already exist in the main directory of the domain (path="/home/frogdro1/public_html/").You must manually remove these files before proceeding with auto-installation:modules.htaccessindex.php

      What the cheese does that mean? I keep trying and it just keeps relaoding with that mess of html speak!

      Help please :)

    • Haunty profile image

      Haunty 8 years ago from Hungary

      travelerhubs - I hope that day comes pretty soon. :) Developing a website today is not nearly as hard as it has been.

    • travelerhubs profile image

      travelerhubs 8 years ago from USA

      I am bookmarking this hub...hopefully I will be able to develop my own website one day. Thanks for the informative hub.

    • Haunty profile image

      Haunty 8 years ago from Hungary

      frogdropping - popularity, right? I guess that Martini got the genius out of you. :) At least I won't comment on it again I swear.

      I've been a Drupal user for a while so if you've got any questions regarding the system, I may be able to help. :) Thanks for hopping in.

    • frogdropping profile image

      Andria 8 years ago

      Haunty - I desperately need a website and I'm thinking this will be very useful stuff. I've bookmarked your hub and am going to be pottering back and forth. Damn but you're good. I hope you get quiet readers. The type that don't comment.

      I shall find someplace to link this as well as shout it out.

      Massive kudos. This must have taken some putting together.

    • Haunty profile image

      Haunty 8 years ago from Hungary

    • profile image

      shreekrishna 8 years ago

      i also bookmarked it ,but if we practically try first drupal then come here for any help, then this hub is very usefull. will you send me the link of any succesfull drupal site.

      thanks haunty

    • Haunty profile image

      Haunty 8 years ago from Hungary


    • lxxy profile image

      lxxy 8 years ago from Beneath, Between, Beyond

      Well done. Like a good cow burger. ;) Full of 'fo for the taking and using.

    • Haunty profile image

      Haunty 8 years ago from Hungary


    • Hawkesdream profile image

      Hawkesdream 8 years ago from Cornwall

      Well now, heres a step by step idiots guide to building a website, just what I have been looking for. Thanks Haunty, have bookmarked it.