Web Developer Class: Installing and Setting Up a Free Discussion Forum--SMF
Simple Machines Forum has many of the popular features found in software such as vBulletin. SMF's custom made template engine allows you to control the layout of your discussion forum board. The software allows the use of Server Side Includes (SSI) so you are able to interact your forum with your website. Members are able to create personal profile pages, similar to those on social networking sites, send private messages to other members, etc. Administrators can create custom user groups, ban members using names, IP addresses and ranges, create news and announcements that all members will see, moderate new member registrations, and all the other features that you would expect from a commercial discussion forum package.
As an open source package, SMF was written in PHP and uses the familiar MySQL database. It was designed to provide the features you need while having a minimal impact on server resources, which is very important, even more so now that Google is using page loading speed when raking website for search result listings. So let's get started and install the software!
Installing the SMF SoftwareTo begin with, you'll need to download and uncompress the software. Once you've done that, you'll need to create a directory on your web server where you'll upload the SMF files. They suggest, and I agree, that a good directory would be named "forums", which is what I've done for this installation.
Like most discussion forum scripts, before you begin the actual installation procedure you must first create a MySQL database. This is usually accomplished through the CPanel of your web host. It's a point-and-click process that only takes a couple minutes, and once it's set up, you will be provided with the information you'll need to install the software, including:
- Database name
- Host name
- Port (usually 3306)
- User name
- Database password
http://yourdomain.com/forums/install.phpOn the first page of the installation process, you will be asked some basic information, including the forum name, URL, and the MySQL settings you saved from above. Next you will be required to create a username, password and administration password for use with SMF.
Once you've done that, the installation process is complete! SMF will attempt to delete the install.php file (if it's not successful you will need to manually delete it), and then it lets you visit your new discussion forum. Here is what it looks like by default:
Now let's have a look at the administration pages, which initially looks like this:
Out of the box, the software is installed with one discussion forum, the General Discussion forum, and uses the SMF Default Theme. On the admin theme page are listed the latest third party themes you can download and install. From that section you are able to click and download any themes that are listed. Once downloaded, installing the new theme is as simple as selecting the theme's zip file, and clicking a submit button. It is then available for you to select as the default theme. As an example, here is the Kainat theme which I downloaded and installed:
Adding a new forum is as easy as it can get:
You simply name the forum, add a description, decide who (which user groups) can access the forum, and decide if the board will support polls, is "reply only", etc. You can also add a moderator, and assign a particular theme to the forum. Although members can select which theme is used for the forums when they view them, you are also able to override their choice during the forum creation process.
After checking out the Kainat theme, I decided for now to go back to the default theme until I find one that really suits me. After I added a forum, here is what my forums look like:
As you can see, you don't need to spend the money for discussion forum software such as vBulletin in order to have a full-featured discussion forum on your site. SMF is free, open source, it's easy to install, and it has all the features that your site's visitors are used to seeing. See you on the forums!