This is the age of the DIY (do it yourself, for the uninitiated), and as organizations get crafty at organizing themselves for survival, building a website in-house (READ: yourself) is becoming more common. I have a great deal of respect for do-it-yourselfers. It's how I first learned to build drupal websites 8 years ago, and at this point, I am able to contribute work towards building drupal itself.
That being said, there was a learning curve. This blog is being written with the intent of helping the brave and geeky lay-person get their heads around building a drupal website.
When you put in someone's URL into your browser window, you see pictures and text and moving objects. In fact, all web pages exist as text files that refer to other files such as pictures, documents, etc.
All these files exist in folders on a computer that is always on (server). The URL is associated to your website by your Domain Name Registrar who associates your Domain Name or URL (example: jellobrain.com or www.mayfirst.org) with the address of the specific computer that has your website files on it. As you will see bellow, sometimes your host can also be your Domain Name Registrar, but you should be cautious to make sure they offer the services you want (more below).
- Action Items
- Do you have a domain name picked out and if so, who is it registered with? If you do not already have a domain name picked out, you will want to go to a site like availabilitydomain.net and check to see if your name is available. If when you find one that you like that is available, you can purchase the use of that Domain Name or URL from a variety of vendors including Network Solutions, godaddy, hostpapa, etc. My preference is clear. I do not think there is a Domain Name Registrar that meets any ideal of political or solcial awareness, but there are companies that are more blatant and horrible to deal with (hostpapa, godaddy) than others.
- Who is going to host your site? This issue you have a deal more control over. Sometimes, you can choose the same outfit that serves your domain name (above) but you want to make sure they will serve your needs first. For drupal you will want to look for a host who will meet the requirements that drupal has. If they advertise that they host drupal, make sure that you ask how current they keep their drupal installations, and how much control you have over files like the php.ini file, and the .htaccess file. If having access to the server via command line is important or something that you want to learn, you will need to make sure this is something they offer. It often is not. If you want to take the guess work out of it, or you want to shop for hosts in a place that meets your political or social ethic as well as your pocket book, you should checkout Mayfirst People Link.
Drupal is basically a folder full of files and other folders that you download from drupal in a compressed form. Sometimes it is referred to as a tarball because the file extension (at the end of the compressed filename) is “.tar.gz”.
The first thing you will need to wrap your head around is what version of drupal to get. Generally the rule of thumb is to get a version of drupal is not too new or too old. Especially if your reputation is on the line. The reason for this is simple. Drupal has a 'core' set of files (link above) that represents a basic drupal installation. You can create a website with only the drupal core, but why would you want to? Part of the amazing thing about drupal is that it literally has a library of tens of thousands of 'contributed drupal modules' that will plug into the base of drupal and make it able to do cool stuff that you can't do with just the core. Same thing goes with different 'contributed drupal themes'. We'll get more into those later.
The gist of the idea is that it takes a while for the cool and amazing contributed modules to be developed for a new version of drupal, and because a lot of that development is new, it could still be a bit buggy. Generally you want to wait at least a half year from the release date of a new drupal version before trying on the newest version of drupal. I am still developing websites for drupal 6, and drupal 7 has been out for over a year.
Once you have your domain name registered, and you also have a website host, you can start installing drupal. But first you need a few things:
- Action Items
- Do you have a access to the place where you will put the files on your host's computer? Often, the host will install drupal for you, and place it in a folder on their site called 'public_html' or 'web'.
I am going to go into what is involved with that below in case your host does not provide this service.
- If you are going to install drupal yourself, you will also want to know the details about your database including:
- the database name
- the drupal database user
- and the database password.
Without going into too much detail that you would be better getting from the horses mouth, here is the main idea:
- Put drupal in the right folder
- The 'root' folder is where the files in drupal are kept. Depending on your host, this folder might be called “public_html” or “web”. You will want to check with your host to ask where the 'root' folder of your site is located.
- The settings.php file is located in the '/sites/default' folder of drupal. It has an important line that looks something like this:
$db_url = 'mysql://database_user:password@localhost/database_name';
$db_prefix = '';
When you first go to the URL of your site, drupal will lead you through the process of installing your site. Fill in the information for database_user, database_name and password with the information you got from your host above.
- In this process, you will also give drupal the user name and password for your 'root drupal user'. This user is called a 'superuser' and will have access to performing upgrades on drupal without having to change a (different) line in the settings.php file.
- Alternately, you can go to the URL of your site, and it will guide you on line through the process mentioned above or look at the troubleshooting sections of the drupal installation guide .
Before going much further, I would login to your drupal site and look around. In particular, you should go to the Administration → Build → Themes and Administration → Build → Theme section of your site and see if you can play around with configuring different 'default' themes, and installing/uninstalling the modules that came with your core drupal installation. If you have any questions about how to use different modules or what they do, your best bet is to search the module or theme itself for that information.
Installing Modules and Themes
- Login to your server and navigate to the root folder of your site. Most of you will do this by logging into your host, and using their 'File Manager'.
- Contributed drupal themes and modules have to live in certain folders of your site or they will not be recognized. Generally, you will want to navigate from the root of your site into the 'sites/all' folder. In this folder, if they are not already there, you will want to add two directories (or folders): 'themes' and 'modules'. Be sure to not capitalize and to spell both as plural.
- To install a module, you want to download the compressed and latest 'release' of the module from drupal onto your computer. The file you get will be compressed. Ideally, if you can uncompress a file on your server (instead of before uploading it) your time will go further. However, this is not always the case. In any case, you want to put the 'module' folders in your '/sites/all/modules' folder. Be sure to read the “README.txt file in the module to make sure there aren't any special or non-typical installation instructions. One it is in that folder, when you go to the 'Administration → Build → Modules' section of your site, you should be able to see the module on the list of modules there. To install it, check the checkbox next to it. If drupal does not let you check the check box, read next to the module name as their might be another 'required' module that you need to install as well. Then click save. To work the module, you can either look for it on the Administration page, or you can read the documentation provided on the same page you downloaded the module from.
- To install a contributed theme, using similar methods as described for modules about, take the theme and upload it into the '/sites/all/themes' folder of your site, and then navigate to the the 'Administration → Build → Themes' section of your site. There are two things you can do from that page. The first is 'configure' the theme, and the second is to make it your default theme. The best thing to do is to play around and see how the site responds to the things you do.
My sincere hope is that this article gives folks the courage you need to jump in and try it out. Remember that this is only the beginning of the learning you are about to embark on. I wish you luck! If you would like tutoring or have questions, the http://drupal.org site is your friend, as am I. I provide trainings for individuals and organizations. Contact me if this is something you are interested in!