Google

Building A Knowledge System Using LAMP

Free ebooks, tutorials, and articles have flooded the Internet. Millions of Internet users are just downloading them without significantly and efficiently utilizing the downloaded material. One reason is that such material is not generally properly organized and is not searchable efficiently.

As a solution to above problem, a software can be developed using famous LAMP (Linux, Apache, MySQL, and PHP) stack. For the readers not familiar with LAMP, here is an excerpt from book Ajax: The Definitive Guide by Anthony T. Holdener, III.

LAMP (Linux, Apache, MySQL, PHP [Perl/Python]) is an acronym that started in Germany and has been buzzing around the Internet since the late 1990s. Once O'Reilly and MySQL AB popularized the term, it spread. It stands for the quintessential open source web development platform that has been around for a long time and sometimes does not get the recognition it deserves. But it is obviously out there.
Refer to the Netcraft survey referenced in the section "The Web Server," earlier in this chapter. There is no denying that Apache is the most-used web server on the Internet. Take a closer look at the survey and see the number of Apache servers using mod_php, mod_perl, or mod_python. Combine that with the trends you can see for PHP versus ASP/ASP.NET, Python, Ruby, and JSP by using Google's latest toy, Google Trends (http://www.google.com/trends). The number of downloads for MySQL should clearly indicate its usage on the Web. As for Linux, it continues to gain ground, no matter how much you want to argue to the contrary.
LAMP has become the platform of choice for development of high-performance web applications, especially if you just follow the open source model of the platform. Have the L stand for Linux, FreeBSD, Solaris, or any other open source operating system; the M stand for MySQL or PostgreSQL; and the P stand for PHP, Python, Perl, Java, or Ruby. There is, of course, really no altering Apache with the A.
LAMP seems to be the Web 2.0 platform of choice too. Look at the list of innovative, inventive sites on the Web that use LAMP: Wikipedia, WordPress, MySQL AB, Amazon, Google, Yahoo!, and MySpace. These are all high-volume sites that use a model that obviously works. LAMP has also been incorporated into other corporate systems, including those of Disney and Boeing, to name a few.
LAMP provides a stable, scalable, and cheap web platform for use with any Ajax web application. As the Web 2.0 movement grows with more Ajax web applications replacing the more classic sites, LAMP will be right there as well. Check out O'Reilly's LAMP site, ONLamp.com, at http://www.onlamp.com/ for more on LAMP.

Coming to technical part of solution, you a need a database table in MySQL RDBMS which will contain meta-data about ebook/ tutorial like title, author(s), category, sub-category, brief description, some keywords. Next, you require two web pages - one for uploading material and second page for searching & displaying search results. On uploading page, user feeds the meta-data about the material being uploaded. PHP script is required to copy the uploaded material into preset folders (based on category & sub-category) on your server. The whole system is made web-based so that it can be used by others also on Internet/Intranet. Apache is being used as the web server.

Now, you have so many knowledge sources at your disposition. Would it not be appropriate to call it a Knowledge System?

I will try to cover the installation and configuration of LAMP in my subsequent posts and later the complete code for the solution. Till then, keep visiting my blog.