User Tools

Site Tools


build:cms

This is an old revision of the document!


Requirements

We're going to evaluate several CMS packages to see which one best meets our needs. We'll use the following criteria:

  • Must be Open Source / Free Software
    • Active community, so we know it'll be well supported into the future
  • Looks like a "normal" web site, with mostly static content
    • Packages like Plone and PHP-Nuke pretty much fail in this respect
    • Most Wikis fail in this respect
  • Editing a page is moderately easy, using wiki-like syntax or a WYSIWYG
    • We don't want to have to edit raw HTML, but would like the ability to
  • Accounts/ACLs limit who can edit pages, on a per-directory basis
    • Different groups of people will have different access rights
    • Flexible authentication (LDAP, passwd, MySQL, etc.)
  • URLs look like URLs of a "normal" web site
    • Allows us to mirror the structure of our existing web site
    • Uses Apache mod_rewrite, but the CMS needs to be aware of the rewriting
  • Should use modern standards and practices, such as XHTML and CSS
    • CSS is essential to making the site work well
      • Our current site is a mess of FONT tags
    • XHTML isn't necessary; valid HTML 4.01 would suffice
  • Not too hard to install or customize
    • PHP or Perl (mod_perl) preferred
    • Nothing more complex storage-wise than MySQL or PostgreSQL
    • Java-based systems are probably too hard to use
    • Zope is difficult to get working right
  • Expandable, so we can add non-static pages later
    • We'll probably want to add things such as a calendar of events, polls, etc.
    • Bonus points if it's easy to integrate 3rd-party packages
  • Site search
  • Templates, so all pages have te same structure

Other things that would be nice:

  • Site statistics
  • RSS feeds
  • Per-user configuration

Drupal

These instructions detail how to install Drupal (4.5.2) on our Debian 3.1 (RC) system.

Requirements

  • Apache
  • PHP (currently 4.x only)
  • MySQL (I think it supports 4.0 and 4.1)

Installation

Download Drupal:

# cd /home/www/dev.sluug.org/
# wget http://drupal.org/files/project/drupal-4.5.2.tgz

Unpack the program:

# tar xfz drupal-4.5.2.tgz
# cd drupal-4.5.2/

Change the ownership of the files:

# chown -R www-data:www-data .

Create a directory for uploaded attachments:

# mkdir files
# chown -R www-data:www-data files
# chmod 2755 files

Create MySQL database (replace $DRUPAL_MYSQL_USER with the real username, and $DRUPAL_MYSQL_PWD with the real password):

# mysqladmin create drupal
# mysql
	GRANT ALL PRIVILEGES ON drupal.* TO $DRUPAL_MYSQL_USER@localhost IDENTIFIED BY '$DRUPAL_MYSQL_PWD';
	FLUSH PRIVILEGES;
	\q

Load the Drupal Database Schema (enter password when prompted):

# mysql -u $DRUPAL_MYSQL_USER -p drupal < database/database.mysql

Edit config file (includes/conf.php):

$db_url = "mysql://$DRUPAL_MYSQL_USER:$DRUPAL_MYSQL_PWD@localhost/drupal";
$base_url = "http://dev.boochtek.com/drupal-4.5.2";

Launch the site (http://dev.boochtek.com/drupal-4.5.2/). You should see the Drupal page.

Click on the link to create a new 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.

Configuration

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.

Administer/Settings

	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 2005 by Saint Louis UNIX Users Group (TODO: REMOVE) (Development Site)
	Anonymous user: Guest
	Default front page: home
	Clean URLs: Enabled (Make sure mod_rewrite is working before enabling this!)
	Error reporting: Write errors to the log
	Discard log entries older than: 4 weeks
	Cache support: Enabled (TODO: haven't tried it yet)
	Default time zone = -0600 (TODO: Is this correct?)
	Long date format = Weekday, Month 00, 2000 - 1:56pm

Administer/Modules

	Enable: comment, forum, help, menu, node, page, path, ping, poll, profile, 
		queue, search, statistics, story, taxonomy, throttle, tracker, upload
	(Save so you can enable throttling.)
	Enable throttling: comment, forum, help, poll, profile, tracker, upload

Administer/Blocks/List

	Enable everything but Recent Comments and Throttle Status.
	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/Users/Configure/Settings

	Public registrations: Visitors can create accounts but administrator approval is required.

Administer/Users/Configure/Roles

	Add roles:
		administrator
		board member
		officer
		contributor
		gold member
		silver member
		bronze member
		voting member

Administer/Users/Configure/Permissions

	Give administrators all rights.
	TODO: Give other rights to other users.

Administer/Users/Configure/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.

Notes

I'm not terribly confident with all the configuration choices I made. This is basically a rough first cut.

TODO

Create a cron job to activate the cron tasks (per install instructions):

# crontab -e
	0    *   *   *   *   wget -O - -q http://dev.sluug.org/drupal/cron.php

Determine more/better configuration settings.

Periodic backups of the entire content of the site.

Move from http://dev.sluug.org/drupal-4.5.2/ to http://dev.sluug.org/drupal/, or possibly even http://dev.sluug.org/.

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.).

Credits

Initially installed, configured, and documented by Craig Buchek, 2005-02-23.

Mambo

These instructions detail how to install Mambo (4.5.2) on our Debian 3.1 (RC) system.

Requirements

  • Apache (mod_rewrite recommended)
  • PHP >= 4.1.0 (XML and zlib support required)
  • MySQL

Installation

Download Mambo:

# cd /home/www/dev.sluug.org/
# wget http://mamboforge.net/frs/download.php/4004/MamboV4.5.2-Stable.tar.gz

Unpack the program:

# mkdir mambo
# cd mambo/
# tar xfz ../MamboV4.5.2-Stable.tar.gz

Create the .htaccess file:

# mv htaccess.txt .htaccess

and edit it to add the line:

RewriteBase /mambo

Change the ownership and permissions of the files:

# chown -R www-data:www-data .
# chmod -R ug+wX .

Create the MySQL database (replace $MAMBO_MYSQL_USER with the real username, and $MAMBO_MYSQL_PWD with the real password):

# mysqladmin create mambo
# mysql
	GRANT ALL PRIVILEGES ON mambo.* TO $MAMBO_MYSQL_USER@localhost IDENTIFIED BY '$MAMBO_MYSQL_PWD';
	FLUSH PRIVILEGES;
	\q

Launch the site (http://dev.boochtek.com/mambo/). You should see the Mambo installer page. Make sure all the pre-install checks are green (correct them and refresh the page to check them again), and hit Next. Accept the GPL license terms and hit Next. Tell the program how to access the MySQL database:

  Host Name: localhost
  MySQL User Name: $MAMBO_MYSQL_USER
  MySQL Password: $MAMBO_MYSQL_PWD
  MySQL Database Name: mambo
  (accept the defaults for the rest) and hit Next

Enter the name of the site: St. Louis UNIX Users Group, and hit Next. Enter the requested info about the site.

  URL : http://dev.sluug.org/mambo
  Path: /home/www/dev.sluug.org/mambo
  Email: webmaster@sluug.org
  Record (and change, if desired) the admin password.
  Leave the chmod permission settings alone. (TODO: Not sure what these mean.)
  Hit Next.

Click on View Site. You should see a message telling you to remove the installation files. Do that:

# rm -rf installation/

Refresh the site. You should see the site's home page.

Configure

Browse to the site's front page. Hit the Administrator menu item on the left. Log in as admin (using the password given earlier in the installation).

Hit the Global Configuration button.

Locale
  Country Locale: en_US
Metadata
  Global Site Meta Description: St. Louis UNIX Users Group
  Global Site Meta Keywords: St. Louis, Saint Louis, UNIX, Users Group, User Group, Linux, LUG, Open Source
Cache
  Caching: Yes
Statistics
  Statistics: Yes
  Log Content Hits by Date: Yes
  Log Search Strings: Yes
SEO
  Search Engine Friendly URLs: Yes (make sure you have gotten the .htaccess file correct)

Hit Save.

TODO

Finish configuration.

Try some plugins, modules, templates, etc.

Upgrade to Drupal 4.6.0.

Try some other CMSes. Perhaps these:

Credits

Initially installed, configured, and documented by Craig Buchek, 2005-03-10.

build/cms.1113855466.txt.gz · Last modified: 2005/11/27 01:19 (external edit)