Drupal 6.x, from A to D

You read right. We are not going all the way to Z. This article is only meant to be a quick setup guide for a very common Drupal environment. To be perfectly honest, this is my own personal check list of tasks to perform when setting up a new website with Drupal. Maybe it can be useful to you too.

This guide is meant to be used with version 6.x which is the current major version as of this writing. Bear in mind this is not a tutorial. It is barely a check list to get you started.

  1. Get Drupal 6.x and uncompress it to the desired location. This location can be the root of the site or a subfolder (you can name the subfolder whatever suits your needs).
  2. Create the database that Drupal will use and a user with the appropriate access to this database. Drupal needs the following rights: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON.
  3. Copy settings.default.php to settings.php and grant write access to that latter file.
  4. Run the install script at install_dir/install.php
  5. Tweak some settings in the settings.php file (????).
  6. Download the theme you want to use and place it in install_dir/sites/all/themes  (you probably will have to create the themes folder). Select your theme as the default one in the admin section.
  7. Download some commonly used modules:
    • FCKEditor module : to allow entering HTML in text fields. You will also need to download the FCKEditor itself and place it in the fckeditor folder which is inside the module’s folder.
    • IMCE module : to allow image uploads in FCKEditor.
    • Pathauto module (and Token module as required by Pathauto) : to allow better url path control (custom or automatic).
    • CCK module : to create sophisticated custom content types.
    • Image Field module (and Filefield module which imagefield depends on) : to provide custom image upload field in CCK.
    • Image Cache module : to allow creating, cropping, scaling and resizing image thumbnails.
    • Views module : to allow very granular layout control.
    • XML Sitemap module : to create your XML Sitemap.
    • Rules module : to trigger events (such as email notifications on new content or comments). You will probably need to increase memory in your php.ini config file via the memory_limit instruction.
    • Comments Subject module : to auto-enter a sensible default comment subject for new comments.
    • Mollom module : to fight all sorts of spam (for example, blog comment spam).
  8. Uncompress all the downloaded modules in install_dir/sites/all/modules (you probably will have to create the modules folder).
  9. Activate the installed modules in : Administer / modules. If appropriate, also activate the built-in Content Translation and Locale modules to aid with i18n (most of my projects need them).
  10. Configure the modules:
    • In FCKeditor settings, tell it to use IMCE for image uploads.
    • Make “Full HTML” the default input formats. “Admin – Input format”
    • Go to Administer/URL Aliases/Automated Alias Settings/Node path settings. Use "titleraw" by default (needed by path auto).
    • to complete…
  11. Use CCK to create new content types appropriate for your project.
  12. Go to the Pathauto settings page to set the node path settings for all your content types and languages.
  13. Disable outputting of errors in production mode.
  14. If you need the search functionality, I strongly suggest to disable it in the theme configuration and enable it through the blocks configuration (otherwise you will end up with two search boxes).
  15. For SEO (search engine optimization) purposes, it is probably a good idea to redirect example.com to www.example.com. You can do that by uncommenting these two lines in the .htaccess file:

    RewriteCond %{HTTP_HOST} ^cote\.cc$ [NC]
    RewriteRule ^(.*)$ http://www.cote.cc/$1 [L,R=301]

  16. etc.

This is a work in progress. To be continued…

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>