The following is based on Joomla version 1.5.x. If you notice something has changed, let us know so we can update this article. Also, we will only be covering the most important files and folders in this article. If you believe we missed an important one, let us know so we can cover it.

If you unzip the Joomla package, you will see the following:

Joomla! Folders

  • administrator - This folder contains all the files used for the administrator back-end and will be discussed more below.
  • cache - This folder is used by Joomla and some extensions to store cached files.
  • components - This folder contains all the installed components and will be discussed more below.
  • images - This folder is used by Joomla and store conten's image files.
  • includes - This folder contains the Joomla framework files.
  • installation - This folder is needed for the initial Joomla installation and must be removed once the installation is complete.
  • language - This folder is used by Joomla and some extensions to store language translation files. Each language has a folder in languages containing all the different language files installed with extensions and templates. The file name of the each translation file is similar to the extension or template to which it belongs. If you look at an individual language file, they are text files that contain a list of constants used in the extension or template and the value that should be shown to the user.
  • libraries - This folder contains the Joomla API code along with other packages.
  • logs - This folder is used by Joomla and extensions to store log files.
  • media - This folder is used by Joomla and some extensions to store image files.
  • modules - This folder contains all the installed modules and will be discussed more below.
  • plugins - This folder contains all the installed plugins and will be discussed more below.
  • templates - This folder contains all the installed templates and will be discussed more below.
  • tmp - This folder is used by Joomla and extensions to store temporary files.
  • xmlrpc - This folder contains files that are used when making xmlrpc calls to Joomla. These calls are only allowed if Enable Web Services is set to Yes in the Globals -> System configuration (It is No by default).

Joomla! Files

  • CHANGELOG.php
  • configuration.php-dist - This is an example configuration.php file. This file will be created for you during the installation process, but this is good to keep around for reference.
  • COPYRIGHT.php
  • CREDITS.php
  • htaccess.txt - This is an example htaccess file. Apache will not use this file until it is renamed to ".htaccess".
  • index2.php - This is a secondary entry point for all Joomla requests. If you replace index.php with index2.php in a request to a Joomla server, only the response from the requested component will be visible.
  • index.php - This is the main entry point for all Joomla requests.
  • INSTALL.php
  • LICENSE.php
  • LICENSES.php
  • robots.txt - This file is used by search engines. It tells search engines which folders not to index. In Joomla's case, search engines should not index any folders.

administrator - The administrator folder contains the following:

  • backups
  • cache
  • components
  • help
  • images
  • includes
  • language
  • modules
  • templates
  • index2.php
  • index3.php
  • index.php

components, modules, plugins and templates

The components, modules, plugins, and templates have subfolders that contain all the code for all the installed extensions and templates.