A Foolproof Guide and Steps to Build a Website with Drupal

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?

  • Wordpress
  • Drupal
  • Joomla
See results without voting
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 www.apple.com.

Type into your browser: www.YOURDOMAINNAME.com/cpanel; 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 www.YOURDOMAINNAME.com/blog, 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 www.YOURDOMAINNAME.com/node/whatever. You now have the homepage and the menu item, but it doesn't appear as the first page yet. Go ahead and type www.YOURDOMAINNAME.com 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 drupal.org.

Open a new browser window and visit drupal.org. 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 ftp.YOURDOMAINNAME.com. 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 Drupal.org 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!

More by this Author


Comments 44 comments

Hawkesdream profile image

Hawkesdream 7 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.


Haunty profile image

Haunty 7 years ago from Hungary Author

lol


lxxy profile image

lxxy 7 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 7 years ago from Hungary Author

ok


shreekrishna 7 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 7 years ago from Hungary Author


frogdropping profile image

frogdropping 7 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 7 years ago from Hungary Author

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.


travelerhubs profile image

travelerhubs 7 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 7 years ago from Hungary Author

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


frogdropping profile image

frogdropping 7 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 frogdropping.com (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 7 years ago from Hungary Author

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


akhilkarun 7 years ago

Hey thankyou so much man!


free4india profile image

free4india 7 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....


Haunty profile image

Haunty 7 years ago from Hungary Author

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


Haunty profile image

Haunty 7 years ago from Hungary Author

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

I agree with you 100%


ForTheInterim profile image

ForTheInterim 6 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 6 years ago from Hungary Author

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.


lbtrader profile image

lbtrader 6 years ago from Canada

Great Stuff Haunty.

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


Haunty profile image

Haunty 6 years ago from Hungary Author

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 drupal.org.


WriteAngled profile image

WriteAngled 6 years ago from Treorci, Cymru

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


Haunty profile image

Haunty 6 years ago from Hungary Author

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


Dale Mazurek profile image

Dale Mazurek 6 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

Cheers

Dale


Haunty profile image

Haunty 6 years ago from Hungary Author

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


agvulpes profile image

agvulpes 6 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 6 years ago from Hungary Author

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. :)


SiddSingh profile image

SiddSingh 6 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 6 years ago from Hungary Author

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.


Aya Katz profile image

Aya Katz 6 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 (www.well.com). Can I use Drupal there? If I do, will my existing pages still work?


Haunty profile image

Haunty 6 years ago from Hungary Author

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 6 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 well.com. 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 www.well.com?


Haunty profile image

Haunty 6 years ago from Hungary Author

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 well.com.


Aya Katz profile image

Aya Katz 6 years ago from The Ozarks

Thanks, Haunty!


Jayakumar 5 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,

Jai


Haunty profile image

Haunty 5 years ago from Hungary Author

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,

Haunty


opensourcevarsity profile image

opensourcevarsity 5 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.

Regards,

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


sodbells profile image

sodbells 5 years ago from Lagos

these is cool keep it up


Haunty profile image

Haunty 5 years ago from Hungary Author

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.


latest vcp-510 exam 5 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.


hotwebideas profile image

hotwebideas 4 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.


BRIAN SLATER profile image

BRIAN SLATER 4 years ago from Nottingham Uk

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


AudreyHowitt profile image

AudreyHowitt 4 years ago from California

Well this looks extremely useful--am bookmarking!!


shameemweb profile image

shameemweb 4 years ago from India

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


hotwebideas profile image

hotwebideas 2 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.

Bruce

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working