Joomla! 1.5 Site Blueprints

By Timi Ogunjobi
    Advance your knowledge in tech with a Packt subscription

  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Installation and Configuration

About this book

Joomla! is a powerful CMS used to build all kinds of websites. But when you're urgently tasked with building a specific kind of site, it's not always obvious which extensions to use or where to begin. Imagine how easy it would be if you had some simple directions to create Joomla! websites for personal or business use within a day. Would you be interested?

This book will give you a competitive edge by helping you to rapidly implement prototype web projects for personal and business use. With this book almost anyone with just a bit of Joomla! knowledge can build a useful web application and tailor it to his or her needs.

This book is a project-based guide to developing web applications with Joomla!. It will take you through all the steps to build different types of Joomla! websites and guide you to get your new site up and running in a couple of hours without employing a developer. It should enable you to take full advantage of the powerful core features offered by the Joomla! framework together with the many available contributed modules and themes to develop applications within hours. You will be guided, by means of illustrated hands-on example projects, to build foundation projects that you can easily adapt or enhance to create even more powerful web projects. If you want to develop exciting web applications for profit or pleasure this book is for you.

However, this book is not an introduction to Joomla!, nor an in-depth manual for using Joomla!; and even though it partially covers some basics such as installation and how to create articles, this is only done in the process of building the featured projects. Readers should; therefore, already have an understanding of the basic Joomla! terminologies, how to access and to use the administration pages, and also how to customize by uploading and engaging new templates. The book's appendix also offers plenty of useful advice and references on this.

When you have completed each project, you will have the knowledge and confidence to apply the techniques you have learned to create your own custom web application. You may also combine projects from several chapters to create your own killer web application.

Publication date:
May 2010


Chapter 1. Installation and Configuration

Like every other endeavor in life, there are two ways of installing Joomla!—the easy way and the difficult way. In order to do it the difficult way, you will need to set up your server by yourself before you proceed with the installation. You have the choice of environment to use for your new installation: you may install directly to a live server or you can set up a test environment on your local computer.

Minimum system requirements

A fully-operational web server (preferably Apache) is required to successfully install and use Joomla!. You also need a database (preferably MySQL) and the server-side scripting language PHP, together with specific modules for MySQL, XML, and Zlib functionality, which are activated within PHP amongst others. Following are the minimum versions of these server components that are required:


Minimum requirement


Latest options







3.23.x or above


5.x series downloads/mysql/5.0.html


1.3 or above


2.2 series


Minimum system requirements

A fully-operational web server (preferably Apache) is required to successfully install and use Joomla!. You also need a database (preferably MySQL) and the server-side scripting language PHP, together with specific modules for MySQL, XML, and Zlib functionality, which are activated within PHP amongst others. Following are the minimum versions of these server components that are required:


Minimum requirement


Latest options







3.23.x or above


5.x series downloads/mysql/5.0.html


1.3 or above


2.2 series


Installation on a local computer

There are a number of ways to set up a test environment on your own local computer. Most time-pressed developers will install and configure directly onto a live server, but there are good reasons for running your application first on a local development server:

  • Developing your application locally allows you to work on it even if you are not connected to the Internet.

  • The experience that you gain from getting your local server running on a simple installation like WampServer for a machine running Windows, or MAMP for a Mac, will make it easier for you to understand server processes and databases. This knowledge will certainly pay off as you get deeper into Joomla!.

  • The Web is constantly scanned and archived by various search engines, and so will everything that you put on the Web. This information will be around for quite a bit of time and you certainly don't want Google to display your inevitable learning mistakes for the world to see.

Installation on WampServer

WampServer2 enables you to run Apache, MySQL, and PHP on Windows, and is available for free. You can download it from

The WampServer2 package comes with the following components already configured to work together:

  • Apache 2.2.11

  • MySQL 5.1.30

  • PHP 5.2.8

There are similar packages that already include Joomla! (such as DeveloperSide and WDE). However, note that these may not always have the latest secure version of Joomla!. Therefore, it is better to use WampServer2 and load it with the Joomla! version of your choice.

WampServer2 is self-installing. Just double-click on the icon after you've unpacked your zipped download and follow the installation instructions. This gets your development environment ready in just a few minutes. Now let the fun begin!

Installing Joomla! 1.5 on localhost

Installing Joomla! on localhost can be remarkably straightforward:

  1. 1. Download the latest stable release of Joomla!, and unzip the discernible Joomla! 1.5 folder. You will need to use a tool such as WinZip for Windows ( to perform this task. Another free alternative to WinZip is IZArc (

  2. 2. Locate the directory in which WampServer2 is installed on your computer. This will usually be the root of your computer's main directory (usually C:\) and in a folder named wamp. Open it, locate the www folder, and copy your Joomla! 1.5 folder into it. Name the Joomla! folder as per your preference. In the unlikely scenario that you will be installing only one Joomla! test site on your local machine, you may—just for the sake of living to a ripe old age—name it Joomla.

  3. 3. Navigate to your computer desktop taskbar tray, click on the WampServer icon, and select the Start All Services option (if this has not yet been selected).

  4. 4. Then open your browser and navigate to http://localhost. This will display the main WampServer2 interface and you will see your project, Joomla, listed under Your Projects.

  5. 5. However, because Joomla! needs a database to run, you must create the database for our project. Click on the phpMyAdmin link. This will display another interface, this time for phpMyAdmin. Enter the name of your new database in the Create new database field. For the simple reason that we shouldn't live a complicated life, we have given this database the same name (Joomla) as our project and our installation folder. We are now ready to install Joomla!.

  1. 6. Joomla! has an automated installation script that automatically populates database tables. The installation script will set the base URL, connect Joomla! to the database, and create tables in the database. Navigate to http://localhost/Joomla and start your installation.

  2. 7. You will be presented with a step-by-step guide to the installation in the later pages.

Page 1: Choose Language

This page asks what language you want to use for the installation.

We select English as the language of choice. Click on the Next button to continue with your installation.

Page 2: Pre-installation Check

Checks are made by the installation script on server configuration. If any of these items are not supported (marked as No), then your system does not meet the minimum requirements for the installation of Joomla!, and you should take the appropriate actions in order to correct the errors.

Failing to do so could lead to your Joomla! installation not functioning properly. You are not likely to face this problem on your local installation, and if you do, it can be quickly fixed.

Page 3: License

The License page is just a page of legalese that the developers of Joomla! really think you must read. It tells you the conditions for use of the free software and also spells out liabilities. Primarily, if the Joomla! installation makes your computer to explode or you start acting funny after you are done with the installation, the suppliers of Joomla! will accept no liability. After correcting any host-specific errors and reading the license, you will be directed to the Database Configuration page.

Page 4: Database Configuration

On the Database Configuration page, you specify the database where Joomla! will store and retrieve data.

Select the type of database from the drop-down list. This will generally be mysql. Also, enter the hostname of the database server that Joomla! will be installed on. This may not necessarily be the same as your web server, so check with your hosting provider if you are not sure. In the present case, it will be localhost. Now enter the MySQL username, password, and database name that you wish to use with Joomla!. These must already exist for the database that you are going to use. We have already determined this when we created the database. Here are the values for our present project:

  • Host Name:

  • Username: root (unless you have changed it)

  • Password: Leave blank (unless you added a password when you set up your database)

  • Database Name: Joomla (or whatever you have called yours)

  • Table Prefix: If you are installing more than one instance of Joomla! in a single database, then give one of them a prefix (such as jos2_), or else the second instance will not install. Otherwise, you may safely ignore this.

Click on the Next button to continue.

Page 5: FTP Configuration

You can safely omit this step and go on to the next page. But if you do decide to carry out this step, do take notice of the following requirements:

  • As explained on this Joomla! installation page, due to file system permission restrictions on Linux and other Unix systems (and PHP Safe Mode restrictions), an FTP layer is used to handle file system manipulation and to enable Joomla! installers.

  • You may enter an FTP username and password with access to the Joomla! root directory. This will be the FTP account that handles all of the file system operations when Joomla! requires FTP access to complete a task.

However, for security reasons, if the option is available, you are advised to create a separate FTP user account with access to the Joomla! installation only and not to the entire web server.

Page 6: Main Configuration

This is where you define your site's public identity.

The descriptions of the fields are as follows:

  • Site Name: Enter the name of your Joomla! site.

  • Your E-mail: This will be the e-mail address of the website Super Administrator.

  • Admin Password: Enter a new password and then confirm it, in the appropriate fields. Along with the username admin, this will be the password that you will use to login to the Administrator Control Panel at the end of the installation.

  • Install Sample Data: It is strongly recommended that new Joomla! users install the default sample data. To do this, select this option and click on the button, before proceeding to the next stage.

Page 7: Finish

That's all! Your installation success screen will be displayed. Congratulations, you are now on your way to becoming a Joomla! Guru.

Once the installation script has successfully been completed and you have removed the installation folder, you will be directed to the Joomla! Administration login page—if you want to immediately perform administrative functions on your new site. Otherwise, clicking on the Site icon will direct you to the front page of your site showing all of the sample data—if you have loaded it.

That is the most of what you need to know about installing Joomla!.


Installing Joomla! on a remote server

The steps for performing this installation are essentially the same as for installing Joomla! on a local machine. Some other hosting packages will come with one-click installation tools such as Fantastico—a commercial script library that automates the installation of web applications to a website. Fantastico scripts are executed from the administration area of a website's control panel, such as CPanel. The scripts typically create tables in a database, install the software, adjust permissions, and modify the web server's configuration files.

Although they may look like a godsend, Fantastico offered by hosting providers does have several minuses:

  • The installation scripts may not be frequently maintained by the hosting companies. Therefore, you may find that you have installed older releases of products along with their known security problems.

  • Your script will be installed with the default configuration, which may not be secure. Thus it may, for example, be easier for spammers to write automated scripts to post spam messages on websites.

  • In their eagerness to improve the user experience and heighten security, some hosting companies may wish to share an update as soon as a new release is available. Advanced Joomla! users know that it may be wise to wait until major security and functionality issues are fixed.


Other installation possibilities

Installing Joomla! on a remote server without Fantastico is quite similar to the localhost procedure. The method of creating a database varies greatly across hosting companies, and you are advised to contact the hosting company if there is any confusion as to how to go about doing this.

In order to install Joomla! on a non-Windows localhost, and for troubleshooting the installation, adequate documentation exists on the project website, at, where an active forum exists with answers to virtually every problem that may be encountered during installation.


Manual installation

The methods discussed so far concern web browser installation. However, in certain, very rare instances, it may be difficult to perform a browser installation. This problem can be solved by the manual process, in which you will need to open up some system files and change the variables by yourself. It is a difficult process and it is quite easy to get it wrong. Some detail of how to go ahead with this method can be found at

For other common installation issues and errors, and how to resolve them, please refer to


Configuration and backend administration

Once the installation script has successfully completed and you have removed the installation folder, click on the Admin icon and you will be directed to the Joomla! Administration login page. Alternatively, the admin login page can be accessed through the URL http://yoursitename/administrator, and in our installation through http://localhost/Joomla. Enter your username and password, and you will be taken to the main Control Panel, from where you can oversee the functions of your site.

Congratulations on choosing Joomla! as your content management system!


Trim off sample data

When you are installing Joomla! 1.5 from the Full Package, you are given the option to also install the sample data. If you have chosen this option, you will find that your website has been preloaded with sample sections, categories, articles, and modules. Even though they could make your work faster, much of this data is actually superfluous and may even confuse you.

To prune the sample data, visit the Article Manager page from the Administration Control Panel, and feel safe to trash all of the 43 sample articles that you will find there. You must complete the deletion by navigating to the article Trash Manager from Content | Article Trash from the top toolbar. After this you can go to the Category Manager from the Control Panel and similarly delete all of the sample categories. Perform the same process with all of the sample sections by visiting the Section Manager from the Control Panel.

Now navigate to the Module Manager page from Extensions | Module Manager, and make sure that you deselect all of the modules that you don't need. You may really need only the Main Menu, User Menu, Login Form, Popular, Top Menu, and Search modules. You may play safe by not deleting the rest, as you may need some of them someday.

While you are at it, also navigate to the Menu Item Manager page via Menus | Main Menu from the top toolbar. On this page, trash all of the extraneous menu items except the Home menu. You will need to complete the deletion from the menu item's Trash Manager page from Menus | Menu Trash.

Finally, you can visit the Menu Manager page to delete all other menus except the Top Menu, User Menu, and Main Menu—although this may not be necessary.


Create a new section

To create a new section, perform the following steps:

  1. 1. Navigate to the Section Manager from the Control Panel and click on the New icon at the top right to create a new section.

  2. 2. In the page that opens, enter the name of the section, and then save your changes.


Create new categories

You may need to organize your articles into categories in order to group similar articles together.

To create a new category, perform the following steps:

  1. 1. Navigate to the Category Manager page from the Control Panel.

  2. 2. In the page that opens, create a new category in the same way as you created a new section. Select the Section to which the category belongs.


Extending your Joomla!

Joomla! comes enabled with some basic functionalities. However, you may need your website to do more than the basic things—in which case you have to build in some extensions. There are components, modules, and plugins that you can locate at the extensions site, Some of these extensions are commercial, but most are free. There appears to be a Joomla! extension for just about every imaginable purpose. However, make it a point to use them sparsely, as too many extensions on a single site may actually slow down your site and make it impossible to use. There are a few extensions that are, however, worth mentioning, even though they may be more for advanced users.

Content Construction Kit (CCK)

The out-of-the-box Joomla! page is rather basic, and you have to be content with the article title and body, and the section and category, which can sometimes be really upsetting. Suppose that you want to be able to upload files and tack them onto the articles, or have sub-categories. This is where this group of extensions comes into play. CCK enables you to create and customize new content types, and can make the difference between a plain-looking site and a very sophisticated one:

Modules Anywhere

The Modules Anywhere extension enables you to include a single module or complete module positions anywhere in your site, including inside third-party components and even inside other modules. You may really never need it, but you never know: embed-a-include/6402

Cron Scheduler

The Cron Sc heduler is a Joomla! component that enables you to run cron jobs on your site at preset periods of time. The purpose is to simulate cron jobs through the Joomla! frontend interface for users who either don't have access to the server crontab or don't want to use it:


Learning Joomla!

The following are some resources to get you up to speed with your Joomla! experience:


Basic Administration

Much of the functionalities of the Joomla! site can easily be accessed through the admin Control Panel, as well as via the top menu bar and drop-downs. The titles of the icons and admin links are quite intuitive and easy enough to understand. Here is a list of some other things that you may easily do in the Control Panel:

Template settings

You may change your default template by navigating to the Extensions | Template Manager link at the top of the Administration page.

All you need to do is select your new template and click on the Default icon. To upload a new template, navigate to Extensions | Install/Uninstall.

If you click on the template title in the Template Manager page, you will be presented with the Template: [Edit] page, where you can change the properties of the template, if you have sufficient HTML/CSS skills.

You can change the colors, images, and size of the panels, as well as many other attributes of the selected template, from this page.

Global configuration

You can modify the settings that apply generally to the site from Site | Global Configuration. You may want to specifically pay attention to the Offline Message—the screen message that will be displayed when you have taken your site offline for maintenance—as well as the Global Site Meta Description and Global Site Meta Keywords, which will decide how browsers describe your site and how search engines will index it.

You may also change system-related parameters, such as User Settings, which are used to determine if the site is private or open to other contributors as well as the privileges given to such users. Additionally, you may modify the Server Settings that you set when installing your site.

Site backup

It is important to always back up your site, especially when it is live. This can prevent a major disaster if, for some reason, you lose your server. There are several extensions that may help you do this efficiently. Do try the following:


Optimizing your site

When a user performs a task on your Joomla! site, a query is sent to the database. If it is for a page request, then all of the raw data needed to display this page is retrieved from the database. The browser then attempts to put the data together with all of the other elements of the page, such as the CSS code, JavaScript, images, Flash, and other objects. The speed with which your requested page loads will be constrained by server efficiency, Internet connection, and also the size of the individual extensions of the page that are being assembled. Large files, such as Flash, video, and large images, could take quite a bit of time to load, especially over a slow connection.

Thankfully, there are some native Joomla! settings and optimization techniques that can improve the browsing experience of your site user. Consider the following scenarios:

  • Your site has more than just a few extensions installed. Many of these extensions will typically have their own CSS and JavaScript files, and so the browser is given the unenviable task of first fetching these individual files from wherever they may be and then properly interpreting them before serving the page to the user.

  • Your site has heavy traffic and each user is making requests to the database at the same time as the other users. The database is, however, not limitless; it is like a machine, and a machine that is put under too much stress eventually breaks down.

Joomla! is able to reduce the load on the database by storing cached pages that have previously been requested by other users. When these pages are requested again, they are simply passed on to the user from the cache, without the need for making a new request to the database. However, the caching feature is disabled by default, primarily because it could affect other configuration. A couple of native Joomla! tools that may improve performance are the System cache and also Gzip features.

System cache

System cache may be accessed from Site | Global Configuration. Another way is to enable the System - Cache plugin from the Plugin Manager. Enabling the cache will often offer a significant performance boost. Cache might not agree with Cyrillic and special characters.


To enable Gzip compression on your Joomla! website, navigate to the site's Global Configuration page and then to the Server tab. Set GZIP Page Compression to Yes.

HTML pages sent to your browser can be compressed using Gzip compression. Most web servers support Gzip compression, which can shrink your site's pages by 70 percent to 90 percent. This will result in reduced bandwidth and faster page loads for your visitors. However, Gzip compression will also use more of your server's processing power. Try enabling Gzip and see if your site loads any faster. If it doesn't, or if you get CPU warnings from your host, disable Gzip. It may hurt your website, but it most often helps it.


Other optimization techniques

There are a few other optimization techniques that may come in handy. Some of these are listed in the following sections.


Most templates use many separate images to display a page. Each image generates a new HTTP request. The problem becomes larger when those images are not small in size and are not optimized. You can run your site through the Website Analyzer at to determine how your templates perform, and then make the recommended changes to improve your templates’ performance.


Joomla! appears to have at least one component that is available for almost any task that you require. However, most of these components are not very efficient and may dramatically slow down your site. Typically, the more the functionality that a component offers, the more it is likely to slow down your site. Choose an extension that does just the task that you need to be done and nothing else.


SEF makes your site URL's look much better. The Joomla! core does an acceptable job, but keep in mind that using SEF URLs is a trade-off. A good URL will look better to a search engine and to end users, but it hurts the load time. Think carefully before deciding to enable SEF URLs. This is, however, just a suggestion, because some people do have the conviction that search engine ranking is far better than load time. In the final analysis, you may find it more useful to work on the template and other assets.



In this chapter we have learned:

  • To install Joomla! 1.5 on a local computer

  • To install Joomla! 1.5 on a remote server

  • To configure Joomla! at the backend

  • To create and organize content

  • Basic Joomla! administration

  • To extend basic Joomla!

About the Author

  • Timi Ogunjobi

    Timi Ogunjobi is a Technical Writer, Web Developer and Open Source Evangelist. Trained as an engineer, Timi has been developing web applications in several frameworks for more than 7 years and has also been writing for more than a decade on a wide variety of topics. Timi is the principal of Websesame – – a software development and Technical writing company. Timi balances his time between programming, reviewing, writing, and contributing to interesting web-based and community projects. When he isn't working (which isn't that often) he enjoys playing jazz guitar and getting involved in outdoor activities principally cricket, golf, and swimming.

    Browse publications by this author
Book Title
Unlock this book and the full library for FREE
Start free trial