Four different server technologies must work in concert for Joomla to function properly. If Apache can't execute PHP, or PHP can't connect to MySQL, or Joomla can't write into the MySQL database, the system fails. This chapter will help you configure each interlocking server system to work properly in unison. Each server is controlled by a list of directives or configuration settings, and making sure those settings are optimal will ensure that the system functions properly.
Additionally, various techniques describing the fine-tuning of each aspect of the system will help your server respond to Web requests most efficiently to create the best user experience. By customizing these settings to suit the needs of your Joomla system, you will be able to squeeze a great deal more performance out of the same hardware.
In the Joomla server constellation (see Figure 2-1), there are four servers that dynamically interact: the Web server, the PHP execution engine, MySQL database server, and the Joomla server itself. I'm using the term server loosely in this definition because PHP and Joomla don't execute as independent servers. However, my broader definition will help you understand how to approach operation and configuration, since both PHP and Joomla effectively serve Web pages and require independent configuration.
The foundation of the system is the Web server that supplies the HTTP hosting capabilities. ...