|
As we started the project of our web site, we knew that the proprietary software
costs would be too high for our financial resources. Our only option then was to
make use of Open Source Code softwares.
However, within the Open Source Code there are lots of softwares to choose from,
and itīs up to the system analyst/programmer to pick the ones that best suit the
project goals.
In our case, we picked Linux as our operating system. However we faced a big
question: Which Linux distribution ? There are dozens of linux distributions,
each one with specific advantages, sometimes with or without paid services.
We chose linux Slackware because we thought that it would suit better our needs,
in terms of stability and reliability. Slackware is a conservative distribution,
meaning that it only offers in its distribution package kernel versions and
third party libraries, once itīs been proved to be stable and reliable. As a
result, Slackware is one the most stable Linux operating system on the market.
If the user wishes the most recent Linux kernel and libraries, we recommend to
look for a different distribution.
Another reason for us picking Slackware, was because of its text interface,
which at the beginning may become a bit difficult, in the long run however it
offers a better understanding of the Linux environment. This way most of
Slackware configurations are done thru text scripts.
Once it was set the operating system, we picked Apache as our web server. Apache
is one of the most popular web server in the internet. For server programming
language, we chose PHP. Also, a very popular programming language. Our
experience with Apache/PHP proves that this setup is very reliable, working
extremely well in our production environment. For workstation programming
language, we chose javascript, which besides of having a simple syntax, it
offers lots of resources.
Apache web server is really a complete web server. Also, it can become very
complex with many configuration setups.
For our database, we picked Postgresql. This database has been made available to
the public for more than 15 years, and besides of being well debugged, it offers
so many resources that it has become one of the best database options from Open
Source Code softwares. Extremely reliable, Postgresql has reported cases where
there have been databases in production with over 4 terabytes. Besides all of
that, Postresql is not the most popular Open Source Code database. A matter of
marketing ? Probably.
As for the programming language PHP, we had to use an object oriented
application structure. There are many PHP application structures being offered
with Open Source Code license. Object oriented application is very important,
because it makes programming very easy and scalable up to the point where the
system may grow without many problems. Also, it helps to keep PHP code separated
from HTML, with the help of some specific libraries, such as Smarty. We make use
of Smarty library and we believe that it is a very important resource, which can
even make web pages faster thru the use of its cache functions.
Also a very important set of libraries worth mentioning for PHP systems, is the
PEAR libraries. In PEAR web site, among the many libraries being offered, there
are the database interface DB and the MAIL_QUEUE, which sends emails thru the
use of database.
As we came to the end of our project, we had to use some sort of real time
database replication. For that we chose the DRBD and Heartbeat libraries. The
use of database replication is very important and should not be postponed. Just
after 3 months our system got into production, our server hard disk became bad.
Thru the use of DRBD/Heartbeat we were able to put the system back into
production within seconds, without loosing any data. DRBD/Heartbeat replication
is done thru the use of a lan network between the server and slave nodes.
Our project also makes use of ImageMagick (enlarge and reduce images), Iptables
(firewall), Tsearch2(text search in portgresql) and Mon (linux monitoring
tasks).
Also a very important library worth mentioning is the pseudo APC compiler for
PHP. Speed is always a critical factor for internet sites.
Our web site is already in production and based upon our experience we can say
that the Open Source Code softwares we picked, proved to be extremely reliable
and stable. Open Source Code softwares can certainly be an excellent option for
developing web sites.
This article is under GNU FDL license and can be distributed without any
previous authorization from the author. However the authorīs name and all the
URLīs (links) mentioned in the article and biography must be kept.
|