These are the must-have requirements for a CMS:
Other things that would be nice:
Drupal is a popular Content Management System (CMS). It is used to handle web sites that include various components of functionality.
We chose Drupal after considering a few other CMSes. We tried installing and using a few others, and came to the conclusion that Drupal is the most flexible, and comes closest to meeting our requirements.
We considered tried using a pre-release version of Drupal 6, but had to revert to Drupal 5. Even though Drupal 6 is in code freeze and is set to be released in a few months, very few modules and themes have support for it yet.
Drupal requires the following:
Download Drupal:
cd /home/web/test.sluug.org/ wget http://drupal.org/files/projects/drupal-5.2.tar.gz
Unpack the program:
tar xfz drupal-5.2.tar.gz rm drupal-5.2.tar.gz
Create a directory for uploaded attachments (TODO: not sure if this is still required):
mkdir drupal-5.2/files chmod 2755 drupal-5.2/files
Change the ownership of the files:
chown -R www-data:www drupal-5.2 find ./drupal-5.2 -type d | xargs -L1 chmod g+ws find ./drupal-5.2 -type f | xargs -L1 chmod g+w
Create MySQL database (replace $DRUPAL_MYSQL_USER with the real username, and $DRUPAL_MYSQL_PWD with the real password):
database='drupal' user="$DRUPAL_MYSQL_USER" password="$DRUPAL_MYSQL_PWD" mysql <<-EOF CREATE DATABASE $database DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON $database.* TO '$user'@localhost IDENTIFIED BY '$password'; FLUSH PRIVILEGES; EOF mysqladmin reload
Save the username and password in a [drupal] section of /root/.my.cnf
for safe-keeping.
Point the "current" directory, where the Apache instance points, to the just-downloaded version:
rm current ln -s drupal-5.2 current
Launch the site (http://test.sluug.org/).
You should see the Drupal Database Configuration page.
Select the mysqli
database connector.
Enter the name of the database, the database user, and the database user's password (from above).
Click on the Save button, and you should get a screen saying Drupal installation complete. Click on the link to visit the new site.
Click on the link to create the first account.
This first account will have full admin priveleges.
Call the account 'admin'. Enter an email address.
For the very first account, the password will be randomly generated and printed to the screen.
Record the password in /root/.my.cnf
for safe-keeping.
Change the user's time zone.
Set up a cron job to do some housekeeping activities once every hour, and run it once initially:
echo -e '#!/bin/bash\nwget -O - -q http://test.sluug.org/cron.php' > /etc/cron.hourly/drupal chmod +x /etc/cron.hourly/drupal /etc/cron.hourly/drupal
Download the add-on modules that you'd like to use.
cd current/modules wget http://ftp.drupal.org/files/projects/gallery-5.x-1.0.tar.gz wget http://ftp.drupal.org/files/projects/calendar-5.x-1.5.tar.gz # requires Views and Date modules wget http://ftp.drupal.org/files/projects/cck-5.x-1.6-1.tar.gz wget http://ftp.drupal.org/files/projects/views-5.x-1.6.tar.gz wget http://ftp.drupal.org/files/projects/date-5.x-1.6.tar.gz wget http://ftp.drupal.org/files/projects/jstools-5.x-0.8.tar.gz wget http://ftp.drupal.org/files/projects/tinymce-5.x-1.9.tar.gz # have to download TinyMCE itself manually wget http://ftp.drupal.org/files/projects/fckeditor-5.x-1.3-beta.tar.gz wget http://ftp.drupal.org/files/projects/htmlarea-5.x-2.0.tar.gz wget http://ftp.drupal.org/files/projects/widgeditor-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/wymeditor-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/linktocontent-5.x-1.6.tar.gz # TinyMCE extension wget http://ftp.drupal.org/files/projects/easylink-5.x-1.x-dev.tar.gz # drop-down for TinyMCE links wget http://ftp.drupal.org/files/projects/easylists-5.x-0.1.tar.gz wget http://ftp.drupal.org/files/projects/footnotes-5.x-1.2.tar.gz wget http://ftp.drupal.org/files/projects/marksmarty-5.x-1.x-dev.tar.gz # MarkDown plus SmartyPants wget http://ftp.drupal.org/files/projects/textile-5.x-2.1.tar.gz wget http://ftp.drupal.org/files/projects/texy-5.x-3.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/pearwiki_filter-5.x-1.1.tar.gz # requires PEAR Text_Wiki wget http://ftp.drupal.org/files/projects/bueditor-5.x-1.0.tar.gz # customizable editor wget http://ftp.drupal.org/files/projects/admin_message-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/decisions-5.x-1.0.tar.gz # voting for decision-making, see also http://drupal.org/project/advpoll wget http://ftp.drupal.org/files/projects/editablefields-5.x-1.0.tar.gz wget http://ftp.drupal.org/files/projects/default_filter-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/formdefaults-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/smartypants-5.x-1.0.tar.gz wget http://ftp.drupal.org/files/projects/typogrify-5.x-1.x-dev.tar.gz # includes SmartyPants plus other similar goodies wget http://ftp.drupal.org/files/projects/smileys-5.x-1.2-beta.tar.gz wget http://ftp.drupal.org/files/projects/codefilter-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/cck_button-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/fivestar-5.x-1.7.tar.gz # requires VotingAPI
Unpack the modules, and remove the tarballs.
ls -1 *.tar.gz | xargs -L1 tar xfz rm *.tar.gz cd ../..
Download the add-on themes that you'd like to make available.
cd current/themes wget http://ftp.drupal.org/files/projects/abac-5.x-1.4.tar.gz wget http://ftp.drupal.org/files/projects/aberdeen-5.x-1.7.tar.gz wget http://ftp.drupal.org/files/projects/activesigns-4.7.x-1.x-dev.tar.gz # based on SpreadFirefox, 4.7 wget http://ftp.drupal.org/files/projects/Aeon5-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/andreas01-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/antique_modern-5.x-1.2.tar.gz # no left sidebar wget http://ftp.drupal.org/files/projects/base-5.x-1.x-dev.tar.gz # good base for new themes wget http://ftp.drupal.org/files/projects/cms-theme-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/combustion-5.x-1.0.tar.gz wget http://ftp.drupal.org/files/projects/danger4k-5.x-1.1.tar.gz wget http://ftp.drupal.org/files/projects/deco-6.x-1.0.tar.gz # Drupal 6 wget http://ftp.drupal.org/files/projects/dreamy-5.x-1.3.tar.gz wget http://ftp.drupal.org/files/projects/fancy-5.x-1.0.tar.gz wget http://ftp.drupal.org/files/projects/fern-4.7.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/glossyblue-5.x-1.0.tar.gz # no left sidebar, SpreadFirefox derivative? wget http://ftp.drupal.org/files/projects/golden_hour-5.x-2.2.tar.gz wget http://ftp.drupal.org/files/projects/litejazz-5.x-1.1.tar.gz wget http://ftp.drupal.org/files/projects/lumen-5.x-1.x-dev.tar.gz # good base, lots of classes, jQuery wget http://ftp.drupal.org/files/projects/multiflex37-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/MyDrupal_Impact-5.x-1.4.tar.gz wget http://ftp.drupal.org/files/projects/MyDrupal_Universal-5.x-1.1.tar.gz wget http://ftp.drupal.org/files/projects/nautica09-5.x-1.2.tar.gz wget http://ftp.drupal.org/files/projects/newsportal-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/newsportal02-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/niftyCorners-5.x-1.x-dev.tar.gz # looks like SpreadFirefox some wget http://ftp.drupal.org/files/projects/ocadia-5.x-1.0-1.tar.gz wget http://ftp.drupal.org/files/projects/Pleroma-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/purple_beauty-5.x-1.1.tar.gz wget http://ftp.drupal.org/files/projects/scribbish-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/SEOposition-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/sharepoint-like-5.x-1.0.tar.gz wget http://ftp.drupal.org/files/projects/SHINOBI-5.x-1.3.tar.gz wget http://ftp.drupal.org/files/projects/sib-5.x-1.1.tar.gz wget http://ftp.drupal.org/files/projects/sinatra-5.x-1.0-1.tar.gz wget http://ftp.drupal.org/files/projects/soccer-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/spreadfirefox-5.x-0.1.tar.gz wget http://ftp.drupal.org/files/projects/spring_bloom-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/sweethome-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/sympal_theme-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/terrafirma_theme-5.x-1.3.tar.gz wget http://ftp.drupal.org/files/projects/greenhouse-5.x-1.1.tar.gz wget http://ftp.drupal.org/files/projects/treedesert-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/ubiquity-5.x-0.11.tar.gz wget http://ftp.drupal.org/files/projects/wall-5.x-1.x-dev.tar.gz wget http://ftp.drupal.org/files/projects/webchick-5.x-1.1.tar.gz wget http://ftp.drupal.org/files/projects/zen-5.x-0.6.tar.gz # good base wget http://www.minimalistic-design.net/minimalistic.zip
Unpack the themes and remove the tarballs.
ls -1 *.tar.gz | xargs -L1 tar xfz unzip *.zip rm *.tar.gz *.zip cd ../..
Login to the site with the new 'admin' account and the password that was selected for you.
Make sure .htaccess
is set properly, before trying to get Clean URLs to work.
All configuration is done via the Administer menu on the left.
Name: Saint Louis UNIX Users Group
E-mail address: webhead@sluug.org
Slogan: Open Source, Open Standards, Open Systems
Mission: To promote Open Source, Open Standards, and Open Systems.
Footer message: Copyright © 2007 by Saint Louis UNIX Users Group
Anonymous user: Guest
Default front page: home
Click on the "Test Clean URLs" link.
Clean URLs: Enabled
Default time zone: -0500 (NOTE: For Central Daylight Time; use -0600 if not in Daylight Saving Time)
Configurable time zones: Enabled
Short date format: 2007/08/20 12:17pm
Medium date format: Mon, 2007/08/20 12:17pm
Long date format: Monday, August 20, 2007 - 12:17pm
First day of week: Sunday
Error reporting: Write errors to the log
Discard log entries older than: 4 weeks
File system path: files
Temporary directory: /tmp
Download method: private
Caching mode: normal
Minimum cache lifetime: none
Site offline message: The Saint Louis UNIX Users Group web site is currently under maintenance. We should be back shortly. Thank you for your patience.
NOTE: We really have to wait until we define roles for this to work right. We should also wait for installation of modules that add new input filters.
Public registrations: Visitors can create accounts but administrator approval is required.
CHECK: Require e-mail verification when a visitor creates an account
Picture support: Enabled
Add roles:
Give web admin
all rights.
Give web editor
these rights:
TODO: Give other rights to other users.
Enable the following modules:
Save so you can enable throttling on the same page. Enable throttling for all enabled modules, EXCEPT:
Create menu items in Primary links menu to point to top-level SLUUG sites.
Add the following blocks to the Right Sidebar:
Configure Syndicate settings, to change block title to RSS Feed.
Administer/Blocks/List
Enable everything but Recent Comments. TODO: Check Custom for everything but Navigation, User Login, and Throttle Status??? Set weights: Navigation: -10 User login: -9 Most recent poll: -5 Syndicate: 10 Change to the right side: Popular content Most recent poll Who's new Syndicate
Administer/Settings/Profile
Add single-line text field: Category: Personal Info Title: Real Name Form name: profile_realname Explanation: Please enter your real name. Weight: -5 Visibility: Private field The user must enter a value. Visible in user registration form. Add single-line text field: Category: Personal Info Title: Location Form name: profile_location Explanation: Please enter the city (and state) you live in. (For consistency, please spell out the word "Saint" if applicable.) Weight: -3 Visibility: Public field, content shown on profile page and on member list pages. Page title: City (TODO: Not sure what to put here.) The user must enter a value. Visible in user registration form. TODO: More user info.
Administer/Users/Configure/Access Rules
Administer/Users/Configure/Settings
Administer/Settings/Search
Minimum word length to index: 1 Noise words: the, and, or, not, a, to, he, she, it, I, me, they, them, their, my, we
Administer/Settings/Statistics
Enable access log: Enabled Discard access logs older than: 4 weeks Count content views: Enabled Display counter values: Enabled Number of day's top views to display: 5 Number of all time top views to display: 5
Administer/Content/Configure/Default Workflow
Page: R/W comments, publish, promote, sticky, revision Story: R/W comments, publish, promote, revision
Administer/Comments/Configure/Settings
Default comments per page: 30 Comment controls: Display above and below the comments Anonymous poster settings: Anonymous posters may leave their contact information
Administer/Themes/Select
Enable all themes.
Download and install the SpreadFirefox theme:
cd /home/web/www.sluug.org/themes/ wget http://drupal.org/files/projects/spreadfirefox-cvs.tar.gz tar xfz spreadfirefox-cvs.tar.gz rm spreadfirefox-cvs.tar.gz
Administer/Themes/Select
Enable all themes. Select SpreadFirefox as the default theme.
After enabling the theme, you can go back in and configure it.
I'm not terribly confident with all the configuration choices I made. This is basically a rough first cut.
Try some more plugins, modules, templates, etc.
Try some other CMSes. Perhaps these:
Determine more/better configuration settings.
Periodic backups of the entire content of the site.
Can we create sections of the site that are only visible to certain accounts? For example, it would be very handy (I'd go so far to say that it's a requirement for a CMS for use) to have a section that only officers can read (for things like phone numbers, etc.).
Initially installed, configured, and documented by Craig Buchek, 2005-02-23.
Installed version pre-6.0 from CVS – Craig Buchek, 2007-06-08, 2007-08-20.