LAMP stands for Linux, Apache, MySQL and Perl/Python/PHP. What it means is that you can construct a web-server where all the components are free software, which will cost less time to construct, less time to purchase extra components (they are usually free and easy to install) and less frustration that the equivalent Microsoft/IIS/ASP thing.
Of course, Linux can be replaced by FreeBSD, Solaris or whatever (even Windows), Apache can be replaced by AOLServer, thttpd, boa (or even IIS), MySQL by PostgreSQL, InterBase, Oracle or whatever, and there are many alternatives to Perl, Python and PHP which do not start with P (but are less used). But LAMP is the most commonly used configuration. Now Guy covered it a bit in his Development Tools lecture, but I'd like to focus on the web-publishing issues: 1. Security: Is Apache secure enough? Is sshd? Is mod_ssl? Installing updates, etc. 2. Portability to browsers: how to make sure your code behaves well on all browsers. Even if the server is LAMP, it can still be an IE-only site. 3. Web Standards - what to use, when to use it why. 4. Choosing a web-server: you'll probably go with Apache. Even so, what should be installed there? And some general guidelines (not informative) on how to configure it. 5. A database engine: I should note that making your code runs equally well on both MySQL and PostgreSQL is impossible without having two sets of code, at least not for out of trivial applications. (you can ask Chen Shapira what she has to go through in Mercury to support MySQL, Oracle, Access, MS SQL, and PostgreSQL in one of their products). You should probably choose one database and stick to this decision. Porting the code to the other one would be very time consuming. 6. The scripting language: Perl? PHP? Python? Zope? JSP? Java Servelets? While Zope is a framework of its own, they are all quite portable, even to some extent to deployment on a Windows IIS server. You will much less encounter portability problems when transferring from one UNIX to the other, at least not for most web-publishing needs. Now when you should resort to C or C++? Probably not in 99% percent of the needs (but in the remaining percent - Google.com ;-)) you can use CGI or FastCGI or Apache modules, or proprietary extensions of other servers. I should note that O'Caml is a partially-functional strongly-typed language that can be compiled into native code, and often produces programs that are faster than code written in ANSI C (or almost as fast). It is not commonly used, but may be an even better idea than C and C++, because it's still more high level and flexible. 7. Bells and whistles on the site: Java, Dynamic HTML, JavaScript, Flash, Frames, Images, etc. How portable they are? How much users like them? Generally, your site should not depend on them, should be functional with (standard) HTML text alone. You can have nice Flash movies and games, but have them in a separate page, and make sure it will not be absolutely required to see them. A generally good advice: Test the Site with Lynx!<tm> 8. (Maybe): Some Tips and Tricks about LAMP Programming: making use of CPAN for code re-use, downloading pre-made web-lets and content management frameworks from the web. Making sure you have real URLS (/section/hello/there instead of myscript.pl?sect=section&page=hello&subpage=there brain-damage) 9. I18N: Bidi, Hebrew, Arabic, Russian, all of them together. How to write it in the first place. How to make it look and behave well everywhere. Tzafrir may have to help me on this one. Regards, Shlomi Fish ---------------------------------------------------------------------- Shlomi Fish [EMAIL PROTECTED] Home Page: http://t2.technion.ac.il/~shlomif/ He who re-invents the wheel, understands much better how a wheel works. -------------------------------------------------------------------------- Haifa Linux Club Mailing List (http://www.haifux.org) To unsub send an empty message to [EMAIL PROTECTED]