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]


Reply via email to