How many guys does it take to turn on a LAMP?
Just One - Me. (or You).
Forgive me if this story starts to ramble or get too long. I have a tendency to do so sometimes. All apologies. I started a web site 2 months ago called The Linux Business Directory, which aims to be the world's largest directory of open source and Linux companies around the world. I want to get all of those local little guys out of the woodworks and in a single place where they can talk to customers and people looking to start a Linux project. I have had the idea since about January / February, and I had talked to some people about it and they thought it was a good idea. My next step was to figure out how I was going to put it together. I have a Linux box currently hosting a web server (Apache) and a mail server (Postfix) running Debian, and I love it! (apt-get is wonderful). I figured I could learn PHP and have a site whipped together in about 6 months. So I started learning PHP.
About a week or two into my PHP-fest, I discovered phpNuke, a CMS (content management system). I was like ... 'whoa'! It was great! For those unfamilar, phpNuke, and CMS's in general (like Drupal, which you're using to read this), are pre-build packages that let you create, edit, and manage all kinds of content. phpNuke, just happened to have a" WebLinks" module that let you list different web sites in a categorized manner. This was just what I needed!! I could now get my project done in a matter of weeks and not months! So, I installed MySQL, and PHP on my Debian box, and downloaded phpNuke, installed it and away I went.
All was not perfect in the TLBD (short for The Linux Business Directory) kingdom. I quickly realized that the phpNuke WebLinks module didn't support multiple categories to be assigned to a single entry which I really needed because I didn't want my listings to be confined to a single category. So in typical DIY fashion, and submitting to my undying curiosity to finally contribute something to an open source project, I modified my phpNuke instance and built a new module, called 'Directory' that copied from the 'WebLinks' module that phpNuke already provided and I allowed for multiple selection of categories like I wanted. Plus, I had a true 'Directory' module, and not just a 'web links' module. Additionally, I added some more fields to the phpNuke forms, and the mySQL tables for things like contact email, address, phone number, etc. for businesses to put their contact information into. It worked great! My directory module now looked like a 'native' phpNuke module.
However, I found that there's a slew of other CMS systems in the open source world, namely TikiWiki, which I am now using for TLBD, that go WAY beyond even what phpNuke provided in terms of layout, content types, ease of use and configurability. I've modified TikiWiki as well, to a lesser degree, but I'm sure I will do more in the upcoming weeks and months.
The bottom line for me, is that by using these freely available building blocks and by not being afraid to roll up my sleeves and delve into something, I finished this project in a mere month and a half before it went live. That includes learning phpNuke AND TikiWiki, setting it up, deciding on TikiWiki, deploying and now finally supporting it. Throughout all this, I've never had to reset any service or the server at all. I've only had about 12K hits in the month and a half I've been online, and everything's just humming along like it was born to do so.
FYI - if you're curious to see my phpNuke "mods", click on this. You'll have to login with my account, 'alan8373', with password 'guest'. Once logged in, go to the 'Directory' link under 'Site Map' on the left. You'll see the basic categories of directory entries. On that page, click the 'Add Directory Entry' link at the top. You'll see a page with the new fields I added and the multi-select category listings. I created the entire 'Directory' module and the 'add' function - by copying the Web Links module and modifying as I needed it. Pretty cool! I haven't submitted this to the maintainers of phpNuke yet because it's not been tested as much as I'd like, but once it is, I'm going to see if they're interested in it.
I love Linux. :)

