After spending seven years trying to maintain Backup Central with standard HTML and Dreamweaver, I decided to move into the world of WWW 2.0: a content management system. The number one goal was to take this popular website and build a community with it. I want all of us that are dedicated to backup and data protection to start helping each other.
I thought about a Wiki, because Wikipedia is just way too cool. I thought about a forum, because they're a great way to thread discussions. I thought about mailing lists, because email rules the world these days. I wanted the forums and the mailing lists to be linked.I wanted a blog and news, and the ability for users to post comments to the blog and news items, and I wanted you to be able to register once, and have everything just work. AND I didn't want to pay through the nose!
What I found was Joomla! at http://www.joomla.org, and it ended up having a plug-in to do almost everything above, and I had my friend Scott Harris write the one missing piece. Here's what I used:
- Joomla! (http://www.joomla.org ) is an open-source content management system that runs the whole show. It manages the user accounts, news, blog, etc. All the other plugins are designed to work with it.
- Phpbb (http://www.phpbb.org ) is the forum software
- Phpbb bridge (http://www.mehdiplugins.com/misc/phpbbjoom.htm ) connects Joomla! to phpbb. It puts it inside Joomla's style sheets (or not, if you want), but connects your Joomla! user id to a phpbb user id, automatically creating it from your joomla! user id.
- Mail2forum (www.mail2forum.com) integrates mailman and phpbb, so that every post to a forum goes to the mailing list, and vice versa. ROCKS!
- Mambo Wiki (http://mamboxchange.com/projects/mambowiki /) is a full install of MediaWiki (the juice behind Wikipedia) to work inside Joomla! Again, uses the Joomla user ID to authenticate you inside MediaWiki
- Mailman (http://www.gnu.org/software/mailman/download.html ) runs the mailing lists
- A custom Joomla! component written by Scott Harris that connects Mailman & Joomla. It gets your email address from Joomla, and the list of maling lists from Mailman, and gives you a list, allowing you to subscribe to all of them in one page, without having to interact with a bunch of separate Mailman pages. We've now published this as a Joomla! component (http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,2409/Itemid,35/)
- Joomla_comment (http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,677/Itemid,35/ ) allows you to submit comments against articles just like this one.
- Google Adsense module that allows you to put Google adsense code into your pages, allowing me todefray the cost of maintaining and publishing the site.
- Of course this whole thing is running on top of CentOS 4 (http://www.centos.org ), which is a free version of RedHat Enterprise Linux 4.0.
All of these things just installed and worked. (There were a few rejected CMS packages and Joomla! components, but no sense in talking about that.) I had to edit CSS style sheets and a few images to get all the colors to match, and I did do a few hacks to make some of them work the way I wanted, instead of the way they were designed. But, by and large, this whole site is up and running and fully functional from open source software that didn't cost me a dime. In return, I helped to better document one of the tools, and I'm planning on submitting my mailman/joomla component to the world as well.
Gotta love the world of open source software!
----- Signature and Disclaimer -----
Written by W. Curtis Preston (@wcpreston). For those of you unfamiliar with my work, I've specialized in backup & recovery since 1993. I've written the O'Reilly books on backup and have worked with a number of native and commercial tools. I am now Chief Technical Architect at Druva, the leading provider of cloud-based data protection and data management tools for endpoints, infrastructure, and cloud applications. These posts reflect my own opinion and are not necessarily the opinion of my employer.