Setting Up a Drupal Site
This document lays out the general steps to be followed in setting up a new site.
- First, set up the actual new Drupal instance (single or multi-site). The steps to this are explained under the Drupal Local Install or Sandboxes & Multi-sites pages
- Next, install the new site http://new-site.com/install.php. Record all admin and login information. The admin entered at this step is the superuser, user #1, who has more rights than anyone else. If there is a specific individual useful for this role, make sure they have these login rights
- Next, go into the Admin section of the site, and take it offline (Admin -> Site configuration -> Site maintenance); change the error message if need be. While in offline mode, only admins may see and edit and manage the site. To get into the site while in offline mode, go to http://new-site.com/user and enter the proper admin login info
- Configure and install the standard modules to be used by the site. Excepting conStruct modules (see below), here are the standard recommended modules (in most multi-site installs, these will be part of the shared modules directory):
- Content Access
- CCK (all)
- Core (add Path, Ping, PHP Filter, Profile, Upload, Tracker, Trigger). Do NOT activate blog; if desired, it will be handled differently (see below)
- Image (all except ImageMagick)
- WYSIWYG (Tiny MCE)
- Views (all; exporter optional)
- Then, after saving configuration, you will be prompted and should rebuild permissions
- Under User management -> Roles, add an "admin" role (at the least); give admins virtually all permissions ("edit permissions")
- Under User management -> Permissions, set or change any anonymous and authenticated user permissions (re-visit this step whenever new modules are added or changed) (often, misassignments here are a source of perplexing problems that may occur later)
- Set up the site information under Site configuration -> Site information. The site name likely needs changing, and perhaps adding a footer
- Here is an example footer (from http://bibliontology.com):
Copyright © 2009-2010. The Bibliographic Ontology. All content available via <a href="http://creativecommons.org/licenses/by-sa/3.0/us/" rel="license">Creative Commons Attribution-Share Alike 3.0 <img src="" alt="Creative Commons License" style="border-width: 0pt;" /></a>
Site hosted by <a href="http://structureddynamics.com"><img src="/sites/bibliontology.com/files/icons/sd-favicon.png" alt="Structured Dynamics LLC" /> Structured Dynamics LLC</a>.
- If desired, set up Blog option. See [Setting Up a Drupal Blog]
- Set up Pathauto (Site building -> URL aliases -> Automated alias settings -> Node path settings):
- Default path
- Blog path (will need to have set up Blog option previously; see above)
- Image paths
- Page paths
Set Menu Structure
Prior to settling on design, I prefer to have some shell content and menu structure in order to see theme and other design decisions.
- Earlier, we had turned on the WYSIWYG module; it is now time to configure it
- Under Site configuration -> Wysiwyg, then Installation, you should see the installed editors. In the standard case, TinyMCE is installed; if not, refer to the WYSIWYG module instructions
- Set TinyMCE for the full and filtered content types
- You can Edit each of these types for how you want the editor to appear and operate
- Under Site configuration -> Input formats define which input type is your preferred default (I generally prefer Full HTML)
- Proceed to create both primary (and secondary, if used) menu items. Simply name the page for now and add some content like "temporary placeholder" or some such; make sure you assign the new content to menus
- Then reorder menu items as necessary (Site building -> Menus -> Primary links) (for example).
Test and Assign Theme
We are now ready to test theme options and pick one, then perhaps modify it directly.
- First, make sure all desired theme options have been uploaded to correct Drupal folder. It is always best to put under sites/newsite.com/themes
- Then, set the general site theming options:
- As best practice, for both themes and modules, try to adhere to these guidelines:
- For installed modules and themes that come with the basic Drupal distribution, keep them and them alone in the theme and module directories at the first level under Drupal
- Place all shared themes and modules that are not part of the original Drupal distribution under the 'all' sites directory (e.g., [Drupal root]/sites/all)
- Only place site-specific modules or themes under their respective site directory (e.g., [Drupal root]/sites/new-site/themes or [Drupal root]/sites/new-site/modules)
- When first installing a new site, try to have the site's "super admin" or main owner do the actual install. That is because the first user to configure a Drupal site is given user ID 1, which has later update rights (see further this article)
- However, when later updates are required, by changing this normal value of 'FALSE' to 'TRUE' as below in the site's settings.php file, the current logged in admin can do the update without being a super admin:
$update_free_access = TRUE;
the flag should be set back to 'FALSE' when the update is done to reinstitute correct security. Also, if you do not make this change, you will get error warnings within Drupal until you do!
- We suggest to offline when not in active development (via /admin/settings/site-maintenance), or set up some IP-based access restriction within the Apache virtual host file
- When you want to bring the site back online, simply type in 'user' after the slash for your site (http://new-site.com/user) to get the login which will enable you to see the site or turn the site back on.
- The proper order for creating new content appears to be:
- CCK --> Pathauto --> Views (with Views being tricky with regard to entering Path as the first setting)
- A video relating Pathauto and Views to "hackable URLs" is: http://growingventuresolutions.com/about/tutorials-and-screencasts/hackable-urls-drupal-using-pathauto-and-views
Here is code for specialized blocks, with dozens of options: