LAMPS
LDAP | APACHE | MYSQL | PHP | SSL
LAMPS is a popular combination of operating-system, and infrastructure software designed to deliver information and services. Many people refer to LAMPS as Linux, Apache, MySQL, PHP, and SSL… or LAMPs, meaning that the SSL component isn’t present. I am unsure of the proper component mix for a LAMPS system, but I think the ‘L’ should stand for LDAP, as it is the most effective way to scale the management of users, groups and other components. I suppose if it stood for Linux, the intimation would be there that one could replace the ‘L’ with a ‘W’, as in Windows, and build a ‘WAMPS’ system. Since that would most likely turn into a complete disaster, I prefer to assume that Linux is the O/S, and that ‘LAMPS’ refers to the components running on top of it.
LAMPS is used for a lot of different service and information delivery roles. One of the most popular roles is as a Content Management System, or CMS, platform. A CMS is normally built around a MySQL database, and delivered via PHP into a web-browser.
- LDAP
- What is it? - Lightweight Directory Access Protocol
- What is it used for? - LDAP is a database used to
collect, manage, and distribute information regarding containers or
groups, organizational-units, and people. - Why is it important? - LDAP is an open-standards
way of collecting information in a single directory system for your
organization and providing that information to applications, systems,
and other users so that it can be used. Typical applications for LDAP
include E-Mail directories and single-sign-on systems for platform-wide
authentication.
- Apache
- What is it? - Apache is an HTTP, or web, server
designed with open-platform support in mind. Apache runs on just about
every major operating system in existence today, including Linux,
Solaris, and Windows. - What is it used for? - Delivering server-based web
content via the Hyper-Text Transfer Protocol through a server-side
daemon process answerable on standard TCP ports (80 and 443) or custom
server-defined port numbers. - Why is it important? - Without Apache, we would
have to rely on Microsoft Internet Information System server, Netscape
server, or other commercial proprietary server software packages to
deliver content via HTTP. Because an open-source non-proprietary system
like Apache exists, the continued growth of information availble on the
Internet is ensured.
- What is it? - Apache is an HTTP, or web, server
- MySQL
- What is it? - MySQL is an open-source database
system that relies on SQL for processing and communication with regards
to the data in a database. - What is it used for? - MySQL is most commonly used
for web and embedded applications and has become a very popular
alternative to proprietary database systems, such as Microsoft’s SQL
server, because of its speed and reliability. MySQL can run on UNIX,
Windows and Mac OS. - Why is it important? - MySQL provides an
open-source alternative to proprietary database solutions that
interoperates with the SQL standards-based query-language, data-format,
and communications modes.
- What is it? - MySQL is an open-source database
- PHP
- What is it? - Hypertext Preprocessor, an open
source, server-side, HTML embedded scripting language used to create
dynamic Web pages. - What is it used for? - In an HTML document, a PHP
script is enclosed in PHP tags similar to a C or Perl script. Because
PHP is embedded within tags, the author can jump between HTML and PHP
without of having to count on heavy amounts of code to output HTML.
Due to the fact that PHP is executed on the server, the client cannot
view the PHP code. PHP is able to perform any task that a CGI
program can, but its strength lies in its compatibility with many types
of databases, especially MySQL. PHP can also talk across networks using
a variety of protocols. - Why is it important? - PHP allows database content
to be dynamically presented through a a web interface, thus allowing
things like content management systems to use a more effective method of
both storing and presenting information though a web-interface. Without
PHP, proprietary data-presentation formats would need to be relied on to
allow dynamic content to be presented.
- What is it? - Hypertext Preprocessor, an open
- SSL
- What is it? - Secure Sockets Layer, which is a
method for securing transmission of data and information over a public
network infrastructure. - What is it used for? - Secured Sockets Layer is a
protocol that transmits your communications over the Internet in an
encrypted form. SSL ensures that the information is sent, unchanged,
only to the server you intended to send it to. - Why is it important? - Without SSL, the integrity
and confidentiality of your data communications cannot be ensured by
either the server or yourself. Communication transmissions could be
intercepted, altered, copied, or disrupted without knowledge of the
sending or receiving party. By using SSL, the integrity of a
data-communications session between two end-points, can be ensured
because SSL demands end-point identification. By using SSL, the
confidentiality of a two-way communications-session can be ensured
because when the two end-points identify each other, they may choose to
encrypt their transmission using the credentials provided to one-another
during their identity exchange.
- What is it? - Secure Sockets Layer, which is a
Links
I found these links helpful when I built my systems:
- LDAP
- Apache
Beyond the infrastructure level components, there are several very
helpful components that support additional applications such as mail and content
management. These include:
- Cyrus -IMAPD – delivers mail to users via IMAP, which, IMO, is preferable
to POP. - PostFIX – a sendmail replacement. I found this easier to set-ip, secure,
and configure. - SquirrelMail – an IMAP-compliant webmail interface with lots of add-ons
- Nuke-PHP – a really well-supported and well-packaged content management
system that leverages PHP and MySQL. - TWiki – If you’re reading this, you’re using it… TWiki is a
topic-based content system that leverages the Wiki concept of open editing
and content control. - Webmin – a web-based server admin tool… it helps in some respects, but
not all. It might be more of a security risk than a useful tool if
it’s not configured correctly and adequately protected.
I will post these links to a permanent page when I get the time and continue to add to them and expand them…Future Topics:
LDAP web authentication
Self-signed SSL certsIf you have more suggestions… add them to the comments and I will see what I can do about getting something posted… if I used it, then it’s probably not going to be an issue.
–ScottKeoseyan – APR 06 2005