Getting Drupal core, nearly nearly there.

Submitted by admindm on Mon, 11/04/2013 - 20:54

There's lots of debate about which version of Drupal is best. Drupal 6 has been out for a long time and is the most stable (arguably) and has the best support for modules. Drupal 7 is more advanced but has less complete module support. Drupal 8 is also available. Theres a hell of a lot more included in drupal 8 core but theres harly any modules that support it. I prefer Drupal 7. Despite a feeling that drupal 6 has better support and is more stable amongst the Drupal community I have never had an issue with support. True, I have seen several modules that only support Drupal 6 but theres always an alternative, at least as far as I've seen. Before you install Drupal theres a few things you need to know about it.

Despite the fact that Drupal 7 has a lot of functionality in its core you will find yourself adding dozens of modules. This site for example at the time of writing has 135 modules enabled, 36 of which are core modules. Core contains 44 modules in total but not everyone will use them all. Our site is also fairly new we are looking into a large number of additioal modules to extend the sites functionality. Some modules improve on Drupals management and administration to make running your site easier. Others add reporting tools to track usage or performance data, many modules add functionality to your site. The social share links at the bottom of this page are added by a module, another module manages the contacts page. This modular system allows you to include only the functionality you want, allowing you to expand the site to meet your needs. Once set up this makes a Drupal site a dream to manage. During setup though you need to work out exactly what modules your going to need and with so many to choose from its going to take a while to identify your needs. I'll be showing you a set of modules that will save you a lot of time and make your early setup much easier.

You can if you wish download a drupal distribution. A distribution is a bundle which contains drupal core, a set of modules, a theme and an installation profile to give you a fully featured an working site relatively easily. If your intended final site is almost identical to one of the Druapl distributions then its a good idea to start with one of these. An installation profile is a set of instructions that runs once you have installed drupal to configure it in a certain way. You have to find the required modules yourself though. If you find yourself setting up the same set of modules time and time again it may be worth writing yourself an installation profile, but thats is outside the scope of this guide. I may cover it at a later date though.

I would recommend at this point that you try both drupal core and several distributions to see what suits you best. I'm going to start with drupal core but if you think a distribution will save you a lot of hassle by all means go for it. I'd also suggest you have poke around at to take a look at the various options.

Ak so assuming we are doing this the hard way download drupal core. The current version at time of writing is 7.16
ou can skip the page on minimum requirements as we have already been through that. Its a pretty pointless page anyway in my view. It bothers to tell us that we need 15MB (or typically 60 with modules) of disk space. If you are running a server that would have an issue with 15MB then you need to go get a better server. It does tell you what php version you need which is slightly helpful. You will need a program capable of decompressing zip files. I'm using 7-zip but you can use anything you like. Downlaod the core files and keep them somewhere safe. I have a folder called Drupal which contains subfolders, Core, Modules, Themes, Libraries. I suggest you do the same and drop it into the core folder.

Download Drupal Download Drupal

I'm going to continue using the same example user I used before "granny". Log in using your ftp client and copy the files you just downloaded into the website folder

Installing Drupal

While we are logged in now would be a good time to create some of the folders we need. Open the sites folder on both the server and your local machine. You should see two folders, all and default. Rename default to, where lionhigh is your site name. This folder will host your test site configuration. Open it.  Now create a directory called "files" and rename the file default.settings.php to settings.php or copy it if your client allows (mine does not). Now right click the "files" folder and change its properties to allow write permission to everyone. Then do the same with settings.php. If your ftp client does not allow copying of files in the remote location then you need to reupload a copy of default.settings.php so now your folder should contain "files", "default.settings.php" and "settings.php"

drupal installationDrupal installationdrupal installationdrupal installation

Now upload the default folder again from the local sites folder to the servers sites folder. So now on your server the sites folder should copntain, all, default and This time open the default folder and create a directory called "files" and rename default.settings.php to settings.php once again. Now set the permissions for this folder and file to writeable for everyone just as you did before.

drupal installation

We also need to create a database for our new Drupal site. Or more accurately two new databases, one for the default site which is in our example and one for The easiest way to do this is with phpmyadmin. The test server I have setup for this has an IP address of so to access phpmyadmin I need to type into a web browser. You will need to log in using your MySQL root username and password. Remember this is your MySQL root user, not your servers root user.  When you log in you will be greeted with a list of databases that you have access to on the left and a set of tabs along the top. Click on the "Databases" tab. You will be greeted by the create new database dialogue. It would be a good idea to create both databases now. The databases can be called anything you like but I'll be calling mine and so its easy to tell which sites they relate to. Type your desired database name in the box and click create, repeat for your test site's database. 

Drupal installation mysqlDrupal installation mysqlDrupal installation mysql

Now it would be a good idea to create granny her own MySQL username and give her access to the database so that if her details are ever compromised its only this website that can be damaged. To do this we first click on the privleges tab and then on "Add new user". The Keep a note of these details, Drupal is about to ask for them. I'm going to continue using the username granny. Fill in the username and password, and set teh host to local host. Then click "Create User". This creates a user with no privleges

Drupal installation mysqlDrupal installation

We now need to give granny full privleges on both databases. You will notice that the user list now has granny in it. Click on the edit Edit Privleges link. You can skip the first section for global privleges and move on to the bit about database specific privleges. From the dropdown menu select your first database. This will take you to the edit privleges page for that database. Click the check all link and then press GO. This will give granny full privleges on that database. Repeat the procedure for your test database.

Drupal installation mysqlDrupal installation mysqlDrupal installation mysql

Now we have our databases we can run the drupal installation wizard. We need to do this for both our site and our test site. Assuming your web host has been pretty quick with setting up your dns settings then you should now be able to access you site from its domain name, in my example, and its test subdomain If you have done this so quickly your waiting for your dns records to update you can still access your site, but not your test site. In my example to access the default site I would type Then Drupal's installation wizard will pop up. You can play about with exactly which modules you want installed later but personally I go with the standard install. You will get a slightly different default layout btu its not a big deal. Click save and continue and then you will be asked for a language. English is the only one available in the version I downloaded so on we go. If you get a summary screen with errors at this point you have done something wrong. Post in the comments and I'll help where I can but it would be best if you go over everything again. You should get a screen asking you give details of the database you are using. Enter the details we created above and click save.

Drupal installationDrupal installationDrupal installation

You will now be asked for some site information and to create a site maintainance account. The site maintainance account is the sites admin user. Its the user with all the power who will by default have access to everything. This gives you a huge amount of flexability and the sheer number  of available settings can be daunting to new users, especially when we get to enabling modules and the number of available settings goes through the roof. Try not to be put off by this though a lot of things don't need adjusting just yet and I'll walk you through the important settings. The site email address and maintainance account email address need to be email addresses you have access to. This email address will be the default from address and you will get various notifications to this address. They can be different addresses if you like. Fill in the details and click save. You will be given confirmation that the installation has finished. Congradulations you have a Drupal site. Don't forget to run through the installation wizard for your test site too.

Drupal installationDrupal installation

One last thing to check before we get playing around. Click on Reports and then on Status Report. You will likely see an error related to the configuration file. To protect it we need to remove some of the write permissions. In your ftp program find the sites/default/settings.php file and edit its properties to remove group and public write permissions. You will also need to do this for sites/ Refresh the page on the status report and it should be all green.

Drupal installation guideDrupal installation guideDrupal installation guide