Since everyone has blogs and profile pages these days, you may want to create a website of your very own. Do you need a content management system (CMS) to make life easier, or is the old system of updating a file manually and uploading it to your server good enough for today’s web developer?
What Can a CMS Do For You?
Web developers initially developed a website by creating web pages on their local computers, using an FTP program to move those files over to their web server, and then those pages became available via their website. If any changes were needed, they would begin the process anew by going through the process again. Some simplified the process by using Server Side Includes (SSI), which cut the number of pages that needed to be updated down, since an include which contained the site’s menu could be updated and used throughout the site without any additional changes being required.
The problems began when a website went beyond the traditional “brochure-ware” design and delved into dynamic content, fresh material and live communities. Websites need to be able to be updated daily, with different people adding content as it becomes available, along with some content that is updated automatically through the use of RSS feeds. Content Management Systems came to be a useful part of a web developer’s toolbox. The problem then came to be, which CMS is best for me? How much is it going to cost me in terms of money and a learning curve? What features does each CMS offer that my business requires? In this tutorial we’ll discuss a few free (and almost free) CMSes, tell you what they offer, and help you get started with your own website.
Open Source CMS to the Rescue
Although there are many open source CMSes available, we’re going to focus on those that are based upon PHP. The following CMSes are thus PHP-based, and use a MySQL database. The advantages of using such a CMS include portability, support and a large developer base with frequent updates and improvements. We will discuss the following four CMSes:
- Drupal – a free open source content management system written in PHP and distributed under the GNU General Public License
- Joomla – an open source content management system platform for publishing content as a Model–view–controller (MVC) web application framework
- PHPNuke – a web-based automated news publishing and content management system based on PHP and MySQL
- WordPress – an open source CMS, often used as a blog publishing application, and is the most popular blog software in use today
Drupal is currently up to version 6.17, with working ongoing for version 7, a much anticipated release. Drupal’s built-in functionality, plus the thousands of freely available add-on modules, provides developers with much-requested features including:
- Electronic commerce
- Collaborative authoring environments
- Peer-to-peer networking
- Picture galleries
- File uploads and downloads
Installing Drupal is fairly straight-forward: Create a MySQL database, upload the Drupal package to your web server, following the on-screen instructions via your web browser, and configure your new website. It’s a bit more complicated than that, but we’ve already written an article about it, so that saves you even more time. Once you’ve got it up and running, you can select from thousands of free themes, select some modules and get to tweaking your site and adding content!
Like Drupal, Joomla enables developers to build complex web sites and online applications. It is built upon PHP and MySQL, is free, and can be used to create:
- Inventory control systems
- Data reporting tools
- Application bridges
- Custom product catalogs
- Integrated e-commerce systems
- Complex business directories
- Reservation systems
- Communication tools
The Joomla CMS has a very large developer base, and its core “out-of-the-box” features include:
- User Management
- Media Manager
- Language Manager
- Banner Management
- Contact Management
- Web Link Management
- Content Management
- Syndication and Newsfeed Management
- Menu Manager
- Template Management
- Integrated Help System
- Web Services
Installation is much the same as with Drupal. Create a MySQL database, upload the Joomla package files to your web server, point your web browser at the installation file, and follow the on-screen instructions. Then, customize your installation, work on the theme, and post some content!
PHPNuke version 8.1 was recently released, with new BB2Nuke forums, security fixes and other fixes and functionality, however, versions after 7.5 are “pay for use”–but we’re only talking about $12, so it’s still practically free.
PHPNuke enables visitors and editors to post news items and other types of articles, and registered users can comment on these articles using PHPNuke’s full-featured commenting system. Like Drupal and Joomla, PHPNuke comes with many features out-of-the-box, including:
- Private Messages
- Submit News
- Surveys (Polls)
- Web Links
Installation of PHPNuke is much like the others we have discussed. The only difference is that you must first purchase the software before you begin the installation procedure. Once that is done, the process is the same–create a database on your web host, upload the software, and follow the web-based installation prompts. Once that’s done, log in and begin tweaking your new site.
WordPress is the most popular CMS in use today. With many thousands of WordPress sites alive today, the software is supported by a large developer network–it’s hard to find a question about WordPress that hasn’t already been answered.
Wordpress provides the following features to developers:
- Full standards compliance
- WordPress Pages
- WordPress Links
- WordPress Themes
- Cross-blog communication tools
- Spam protection
- Full user registration
- Password Protected Posts
- Easy installation and upgrades
- Easy Importing
- XML-RPC interface
- Typographical niceties
- Intelligent text formatting
- Multiple authors
The first step to using the CMS is, like the others, to download the software. If you don’t want to host the CMS on your own web host, you can also signup on the WordPress site and use their servers and resources to host your site/blog. Also, you will need to create a new MySQL database, like all the others we have discussed. The difference is that you will need to edit the WordPress configuration file, wp-config.php, and add the database details for the database you just created. Once you’ve done that, you upload that file, and all the other WordPress files, to your web server, and use your web browser for the rest of the installation process.
We’ve discussed the reasons why a CMS can make your life easier, and we’ve given you some examples of open source CMSes that you can download and try out on your site for free (or almost free). Here are a few additional articles to whet your CMS appetite!
- Drupal for the Web Developer: An Introduction and Overview
- Drupal for the Web Developer: Configuring Your Drupal Website
- Drupal for the Web Developer: Managing Content For Your Drupal Website
- WordPress For the Web Developer: Top 10 Plugins
- WordPress For the Web Developer: Working With Theme Templates
- WordPress For the Web Developer: How To Write Your Own Plugins
- WordPress For the Web Developer: Writing Plugins–Actions and Filters
- Drupal Basics: Introduction
- Drupal Basics: Modules, Blocks and Roles
- Drupal Basics: Be a Role Model
- A Quick Look at Joomla! Templates