User Tools

Site Tools


build:cms

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
build:cms [2007/08/20 19:53]
24.207.253.154 Add sh-bang line to cron script. (CMB)
build:cms [2008/01/08 19:23] (current)
206.197.251.51 Add some requirements, move the requirements section to the top. (CMB)
Line 1: Line 1:
-====== ​Drupal ​====== +====== ​Requirements ​======
-[[http://​drupal.org | 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 <​del>​considered</​del>​ 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.+
  
-===== Requirements ===== +These are the must-have requirements for a CMS:
-We evaluated several CMS packages to see which one best meets our needs. +
-We used the following criteria:+
   * Must be Open Source / Free Software   * Must be Open Source / Free Software
     * Active community, so we know it'll be well supported into the future     * Active community, so we know it'll be well supported into the future
Line 14: Line 7:
     * Packages like Plone and PHP-Nuke pretty much fail in this respect     * Packages like Plone and PHP-Nuke pretty much fail in this respect
     * Most Wikis fail in this respect     * Most Wikis fail in this respect
-  * Editing a page is moderately easy, using wiki-like syntax ​or a WYSIWYG+  * Editing a page is moderately easy, using WYSIWYG or wiki-like syntax
     * We don't want to have to edit raw HTML, but would like the ability to     * 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   * Accounts/​ACLs limit who can edit pages, on a per-directory basis
     * Different groups of people will have different access rights     * Different groups of people will have different access rights
-    * Flexible authentication (LDAP, passwd, MySQL, etc.)+    * Flexible authentication (LDAP, MySQL, etc.)
   * URLs look like URLs of a "​normal"​ web site   * URLs look like URLs of a "​normal"​ web site
     * Allows us to mirror the structure of our existing web site     * Allows us to mirror the structure of our existing web site
Line 27: Line 20:
     * XHTML isn't necessary; valid HTML 4.01 would suffice     * XHTML isn't necessary; valid HTML 4.01 would suffice
   * Not too hard to install or customize   * Not too hard to install or customize
-    * PHP or Perl (mod_perl) ​preferred+    * PHP preferred
     * Nothing more complex storage-wise than MySQL or PostgreSQL     * Nothing more complex storage-wise than MySQL or PostgreSQL
-    * Java-based systems are probably too hard to use+    * Java-based systems are probably too hard to set up
     * Zope is difficult to get working right     * Zope is difficult to get working right
 +    * Drupal took too much configuration
   * Expandable, so we can add non-static pages later   * Expandable, so we can add non-static pages later
     * We'll probably want to add things such as a calendar of events, polls, etc.     * We'll probably want to add things such as a calendar of events, polls, etc.
Line 38: Line 32:
  
 Other things that would be nice: Other things that would be nice:
-  * Site statistics+  * Calendar of events 
 +  * News
   * RSS feeds   * RSS feeds
   * Per-user configuration   * Per-user configuration
 +  * Site statistics
   * Integration with MailMan   * Integration with MailMan
   * Forums   * Forums
     * Especially if the forums have bi-directional gateway with MailMan lists     * Especially if the forums have bi-directional gateway with MailMan lists
 +
 +
 +====== Drupal ======
 +[[http://​drupal.org | 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 <​del>​considered</​del>​ 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.
  
 ===== Pre-Requisites ===== ===== Pre-Requisites =====
Line 50: Line 54:
   * PHP (4.3.3+ or 5.x)   * PHP (4.3.3+ or 5.x)
   * MySQL (4.1 or higher)   * MySQL (4.1 or higher)
- 
  
  
 ===== Installation ===== ===== Installation =====
- 
 Download Drupal: Download Drupal:
 <code bash> <code bash>
Line 82: Line 84:
 Create MySQL database (replace $DRUPAL_MYSQL_USER with the real username, and $DRUPAL_MYSQL_PWD with the real password): Create MySQL database (replace $DRUPAL_MYSQL_USER with the real username, and $DRUPAL_MYSQL_PWD with the real password):
 <code rootshell>​ <code rootshell>​
-mysql +database='​drupal'​ 
-  CREATE 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   GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES
-    ON drupal.* TO '$DRUPAL_MYSQL_USER'@'localhost' ​IDENTIFIED BY '$DRUPAL_MYSQL_PWD';+    ON $database.* TO '$user'​@localhost IDENTIFIED BY '$password';
   FLUSH PRIVILEGES;   FLUSH PRIVILEGES;
-  \q+EOF 
 +mysqladmin reload
 </​code>​ </​code>​
  
Line 120: Line 126:
 /​etc/​cron.hourly/​drupal /​etc/​cron.hourly/​drupal
 </​code>​ </​code>​
 +
 +==== Modules ====
 +Download the add-on modules that you'd like to use.
 +<code bash>
 +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
 +</​code>​
 +
 +Unpack the modules, and remove the tarballs.
 +<code bash>
 +ls -1 *.tar.gz | xargs -L1 tar xfz
 +rm *.tar.gz
 +cd ../..
 +</​code>​
 +
 +==== Themes ====
 +Download the add-on themes that you'd like to make available.
 +<code bash>
 +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
 +</​code>​
 +
 +Unpack the themes and remove the tarballs.
 +<code bash>
 +ls -1 *.tar.gz | xargs -L1 tar xfz
 +unzip *.zip
 +rm *.tar.gz *.zip
 +cd ../..
 +</​code>​
 +
  
  
build/cms.1187657637.txt.gz · Last modified: 2007/08/20 19:53 by 24.207.253.154