Everywhere you look these days, a new PHP Nuke site is popping up. From basket weaving to dual-core processor fan sites, PHP Nuke has become the de facto portal site for users of every skill level. The problem is, even though the Nuke code base has advanced over the years, Nuke sites still all look alike and contain the same tired modules across the board: Forum, Member List, Downloads, and Topics.
Although Nuke is quite a powerful application, its popularity overshadows other systems that are easier to customize for business and personal pursuits and have reached “production/stable” status on the SourceForge.net web site.
The day you decide that you or your company needs to deploy a web site is the day you’ve decided to use a content management system, or CMS. A CMS allows allow you to perform all of the publishing and maintenance tasks for your site without having to learn the minutiae of HTML and CSS syntax. A CMS lets you concentrate on finding skilled writers and editors who may or may not have secondary web page authoring skills.
When exploring the various CMS packages on the market today — either open source or proprietary packages — you’ll need to consider how the system will fit in with your existing applications and if the package actually provides a solution to your needs. How robust are the system’s content editing tools? Are the tools extensible via an API? Does it provide a framework for building new components?
And most importantly, who is going to provide support and maintenance? Whether you pay a million dollars for a proprietary solution or you download a CMS from SourceForge, something will always go wrong or someone will run into a problem performing their tasks. It’s very important to develop a roadmap for support at the onset.
A proper CMS package should provide at least the following features:
*A full-featured article module allowing for creating, editing and viewing content.
*A registration system for managing access and providing for visitor interaction.
*Groupware features, such as webmail, a calendar and contact management.
*A newsletter module to send emails to registered members.
*Community features like blog, galleries, polls, forums, and chat.
*A framework for creating new modular features, and a system to enable or disable modules at will.
Try a CMS before you buy. If you aren’t familiar with content management on the web, ask a friend or colleague who has some experience to test drive the application with you.
If you want something proprietary, many companies have demos ready for you to test. Some may even set up your very own installation within your environment as a pre-sales effort. Or, if you’re squarely set on open source, then it’s easy to search SourceForge and download and install a number of content management systems for evaluation. There’s nothing worse than discovering three months down the line that your CMS is missing a needed critical component.
So What’s Out There?
Aside from the omnipresent Nuke, Post-Nuke, and all of the other obscure “Nuke-alike” ports out there, there are a few open-source CMS gems that are production ready. There’s XOOPS
), Exponent CMS
), and b2evolution
). The latter is perhaps, the most comprehensive, multi-user blog platform freely available today.
Among proprietary solutions, some of the big players include ATG, Documentum, Interwoven, and Vignette. If you want a proprietary solution, expect to spend a healthy amount for production licenses and yearly support.
If you’re a Java
shop, take a look at CoFax
). CoFax is the base engine that powers all Knight-Ridder newspapers nationwide including Miami.com, Ohio.com, and Philly.com. It’s a powerful tool and is open source, albeit need to run Java.
All of these content management systems are excellent tools.
However, there is one CMS that stands above the rest. It comes standard with all of the basic and advanced modules available; it’s open source; and it runs on LAMP (Linux, Apache, MySQL, and, in its case, PHP. It’s called Tiki CMS/Groupware.
Tiki is an impressive content management platform that combines the best of both the CMS and groupware worlds. The basic package provides all of these modules: article, newsletter, blog, forum, gallery, directory, poll/survey, quiz, chat, banner management, web mail, calendar, and even maps. What’s more impressive is the modular framework on which it was constructed. The administrator has complete control over the expansive list of out-of-the-box modules. along with abstracted template design for easy customization. The creators of Tiki believe in using best of breed open source standards and have included ADOdb and the Smarty template engine in their design.
Tiki is provided available under the “GNU Lesser General Public License” and development on Tiki is on-going. The latest version 1.8.5 — Polaris, dated January 20, 2005, is now available on SourceForge and includes an important remote exploit security fix. (If you currently use Tiki,you should upgrade your package to 1.8.5 immediately.)
Getting Started with Tiki
Before getting started, it is important to review the installation requirements. Tiki requires PHP 4.1 or greater and a data source. Full-text searching requires MySQL 3.23.23 or greater; boolean full-text searching requires MySQL 4.0.1 or greater. (Tiki does not support MySQL 4.1 or greater at present. Tiki also supports PostgreSQL, Oracle, Sybase, and MSSQL.
Optional libraries you should install include GD
for image processing and thumbnail creation. For the WikiGraph function, you’ll need GraphViz,
located at http://graphviz.org/pub/graphviz
. If you plan to use webmail, you’ll need at least PHP 4.2.
PDF generation requires the php-xml
package compiled in your PHP module. For map functionality, grab MapServer
. Complete details on prerequisites for Tiki are located at http://doc.tikiwiki.org/tiki-index.php?page
= Requirements+ and+ Setup.
Before delving into the installation, make sure you have a working Linux environment with Apache, MySQL, PHP+mod_ssl, and any other PHP libraries you want or need. For this sample installation, the host was running Linux kernel 2.4.20-8, Apache 1.3.28, PHP 4.3.4, Mod_SSL 2.8.15-1.3.28 supported by OpenSSL 0.9.7e, and MySQL 4.0.14-standard.. It is highly recommended to install SSL functionality into Apache, especially for use with administration and login over the public Internet.
Installing and Configuring Tiki
Download the latest version of Tiki from SourceForge and extract the tarball within the DocumentRoot of your Apache installation. Next, create your MySQL database by executing mysqladmin create tikidb from the shell. Then enter the MySQL shell and execute grant all on tikidb.*to tikidbuser@localhost identified by’h@ckm3’; so that you can specify unique user privileges for the application.
Next, you’ll want to setup the appropriate file system permissions and directories for Tiki. Luckily, the maintainers have created a shell script to do this automatically for you. Enter the tiki directory and execute chmod 755 setup.sh. Then execute setup.sh as root and specify the user you’re running Apache as. In the sample installation, nobody runs Apache, so the command was ./setup.sh nobody.
At this point, you’re ready to open your web browser and continue the installation online. The URL is something like http://localhost/tikiwiki/tiki-install.php.
On the first page, enter the details of the MySQL connection you setup earlier. On the next page, select the BasicEnabled Profile
and hit Create.
Don’t use the update script option unless you’re upgrading your current Tiki installation. The next page reports the result of the database creation operation.
Believe it or not, that actually concludes the installation of Tiki. Click the Remove the install script and proceed into tiki link on the bottom of the database status page.
Tiki CMS In Action
Congratulations! At this point you have a fully working CMS that’s ready to be configured and tailored to suit your needs. Login to your Tiki using admin for username and password, and change your password immediately. Logging in as admin allows you complete web-based control over your Tiki.
Click on the Admin link in the left menu for your administration “dashboard.” The first admin module you’ll want to explore is Features. This is where you’ll activate and deactivate the core features included with your installation. Depending on what you use Tiki for, you might want to activate them all to experiment with each. Along with core modules, the “Features” console also gives you control of specific global feature sets like theme control, statistics, and other content features.
The General console is used to setup the basic assets of your Tiki. This includes the default theme, homepage schematic, default language, and title of your Tiki. Before you start publishing content or articles to the homepage, enable the spellchecker. Click on the Articles icon in the admin and hit the checkbox for” spellchecker.” The Articles admin also allows you to control the look and feel of content published on your Tiki.
At the heart of Tiki is Wiki.
Wiki allows your members the ability to create their own subset of content and articles. Wiki is not only a content editor but a powerful online collaboration tool that allows many people to create and edit a growing network of information. For more information on Wiki, be sure to visit http://wikipedia.org
To publish wiki content on your homepage, click on the Home link in the main menu and click the Edit buttom. The content editor includes the quick-links for including standard HTML elements like tables, links, images, and text formats. If you haven’t defined categories, you can do so here as well. Click on Show categories then Admin categories to access the category manager. Templates can also be applied to the Article layer, which is very helpful for recurring article types that you want to publish to your Tiki.
One of the coolest features of the articles editor is the ability to import an HTML file that exists locally on your computer. Click the browse button next to Import Page to upload a pre-existing HTML file. Once you complete your first article, click on Preview or just Save. You’ll then be redirected to your Tiki homepage where you can now see your published article.
The appearance of your Tiki has been abstracted into structure and presentation. The structure of your pages is provided by the Smarty template engine. The structural template files (.tpl) are found in the templates directory. You can edit the current template structure directly in the appropriate .tpl files, including header.tpl and footer.tpl, or you can create a subdirectory and copy the default .tpl files into it for creating your own custom template.
The Tiki package contains a great many CSS styles. The source CSS files control the presentation of the structure and are located in the styles directory. You can edit existing CSS files or create a new one, which will appear in the admin drop-down menu. If you want registered users to have the ability to select their own theme, click on the Login icon in the admin and select” Reg users can change theme.”
Tiki CMS/Groupware is arguable the most robust content management system freely available on the internet today. With its rich feature set, extensive documentation and support network, Tiki offers solutions for many business and personal uses. There is an extensive ongoing documentation project on Tiki located at http://doc.tikiwiki.org
and an active discussion forum located at http://tikiwiki.org/forums
. These will quickly become extensive resources for support and assistance for your Tiki administration.
Although Tiki took a little under five minutes to install, customizing the package will undoubtedly become an on-going project. However given the extent of administration control, maintenance and customization can be tackled by people of varying skill-sets.
Michael Bordash is Linux Magazine’s LAMP Post columnist. Michael provides Open Source IT consulting for Fortune 1000 companies and is also the founder of InternetDJ.com. You can reach Michael at