By default, Joomla does not provide a 404 page that you can easily create and manage,

A 404 is really useful for guiding your visitors when they visit a broken URL on your site.

I'm going to demonstrate how to create a custom 404 page.

We're going to create an article, add a menu link and then add a little code to a file in your template folder.

Step 1: Create an article


Site Transfer Wizard

[Note] Note

This feature is only available in the for-a-fee Professional edition since version 3.3.5

[Important] Important

While the Site Transfer Wizard may be useful in transferring a site to another server, it is neither the optimal nor the only way. In fact, you could just as well back your site up, move the backup archive to the new server and use Kickstart to restore it. Yes, it's that easy. The wizard may make this process easier, but it's possible that it doesn't work under some server combinations. It's not a bug, it has to do with the way PHP works and how different FTP servers are configured between hosts.

Many times you simply want to move your site between hosts, e.g. from a local or development server back to the live server or move your site from Host A to Host B. Traditionally, this was a multi-step process: take a backup, download it to your local PC, upload it to the live server, upload Kickstart, run Kickstart and finalize the restoration. Since version 2.2 we offer a backup engine called DirectFTP which allows you to take a backup directly to a remote FTP server instead of an archive. This means that you no longer need to download/upload a backup archive or even use Kickstart. By the time the backup is finished, you are able to simply point your browser to the new host and start the restoration. The biggest drawback of this approach was that setting it up was a little difficult for novice users. Our Site Transfer Wizard feature is here to make using that feature dead simple!

The Site Transfer Wizard guides you through a series of steps which allow you to define the connection parameters to your remote server and automatically takes care of all the details necessary for moving your site to the new host. It consists of only three simple steps.

Step 1: Choose your profile

The Site Transfer Wizard requires to create a dedicated backup profile for the site transfer backup job. This step allows you to select how this is going to happen.

Use the existing profile

If you had already used the Site Transfer Wizard in the past, all of its settings are stored in its dedicated backup profile. Selecting this option will recall them and allow you to modify them or use the same settings to transfer your site again.

Copy settings from

Select an existing backup profile to copy all settings from. This allows you to "clone" special configuration options (such as the optimal settings defined by the Configuration Wizard) as well as any filter options, e.g. directories, files and database tables to exclude from the backup. If it is the first time you are running the wizard and you are not a very experienced user, it's suggested to copy the settings from the Default Backup Profile.

Create a new profile, resetting its settings to default

This will reset all the configuration and filter options of the Site Transfer Wizard backup profile to factory defaults. This should only be used by experienced users who know what they are doing or if you are willing to apply special configuration and/or filter settings manually.

Clicking on Next will take you to the next and most important step.

Step 2: Chose your transfer settings

In this step you will tell Akeeba Backup how to connect to your new host in order to transfer your site there.

Connection method

You can choose between FTP, FTP over SSL (FTPS) or –if you have the Professional version– Secure File Transfer over SSL (SFTP). If you are not sure which one to use, please ask your host. Most hosts support FTP, a few of them FTPS and very few of them SFTP. Please do not ask us which method to use. We are not your host and we can not possibly know which method your host's servers support.

Host name

The hostname of your FTP, FTPS or SFTP server. Please do not specify a protocol. For example, is a valid host name whereas IS NOT. If unsure, please ask your host. Once more, we can't possibly know how to connect to your server, it's your host that has to give you this information


This is the number of the TCP port used to connect to your server. Usually it's 21 for FTP, 22 for SFTP and 990 for FTPS. If unsure, please ask your host.


The username used to connect to your remote server. Do note that if your host requires an SSH certificate to connect to their server through SFTP, you will not be able to use SFTP with Akeeba Backup to transfer your site. Our software only supports username/password authentication to the remote server.


The password used to connect to your remote server

FTP/FTPS/SFTP directory to the remote site's root

This is the full FTP, FTPS or SFTP directory to your remote site's web root. This may not always be obvious and most likely should not be left blank. You can always connect to your remote site using FileZilla, navigate to the web root directory of your new host and take a look above the right-hand directory pane. You will see a path. Copy it and paste it in this box of the Site Transfer Wizard.

Use Passive mode

For FTP/FTPS connections only. The default behaviour is to use FTP Passive Mode for all site transfers, as it is the only guaranteed way to pass through firewalls. If your remote site requires FTP Active Mode (very rare) uncheck this box. If you are unsure if this is required, please ask your host.

URL to the remote site

Enter the full URL to the remote site, e.g. Please, do not include a trailing slash.

Clicking on Next, Akeeba Backup will try to establish an FTP/FTPS/SFTP connection to your remote host and upload a small file named akeeba_connection_test.png. If that fails, it will let you know about the error which occurred so that you can fix it. If you have entered an incorrect directory, i.e. it doesn't correspond to the location used to store the files accessible through the "URL to the remote site" address, you will also get an error telling you that you have to fix it.

[Important] Important

Not all hosts are able to initiate FTP/FTPS/SFTP connections to other servers. The most common limiting factor is a server-side firewall which disallows outbound connections. If you are perfectly sure that your FTP/FTPS/SFTP connection settings are correct and you still can not connect to your remote site, do not ask us for support. If you do, we'll tell you to read the documentation (this paragraph!). What you have to do instead is to contact your current host and ask them to open their firewall so that you can connect to your new host through FTP/FTPS/SFTP.

If you get an error about not being able to change to the requested directory, you have entered the "FTP/FTPS/SFTP directory to the remote site's root" wrong. Please refer to the section above about how to determine its correct setting.

If you get an error reading "Your FTP/FTPS/SFTP directory is not defined correctly. You will be redirected back to the previous page to correct it. If in doubt about what this means, please read our documentation." then you have entered the "FTP/FTPS/SFTP directory to the remote site's root" wrong. Please refer to the section above about how to determine its correct setting.

Do not ask for support if you have not read the above and followed all of these instructions. Such requests will be deleted without a reply.

Step 3: Transfer your site

In the final step, you are ready to transfer your site! Click on the button titled Begin the site transfer to start transferring your site to the remote host.

If you get an error message about not being able to write to a remote file or directory, please check that this file or directory doesn't already exist on your remote site. If it does, try removing it or adjust its permissions so that it is writable through FTP/FTPS/SFTP. If you are not sure how to do that, please ask your host for instructions, as the solution is entirely host-specific.

When the transfer is complete, you will be forwarded to the restoration script which was uploaded together with your site's files and database dump to the remote server. Follow all of its steps to restore your site's database and configure your site so that it can be used on the remote host.

If you end up back on your source site (the one you are transferring from), a blank page or an Internal Server Error page, please use your favourite FTP client (e.g. FileZilla) to rename or remove the .htaccess file from the remote site and reload the page. Do not contact us for support unless you do that first. For your information, it is possible that your .htaccess file contains directives which either have a hardcoded site URL in them or are simply not compatible with your new host. Renaming the file "neutralizes" it and you can access the installation script normally. If your new host is GoDaddy, do note that it may take anywhere from 10 to 30 minutes after you rename .htaccess before the changes take any effect at all!

After the restoration is over, click on the "remove the installation directory" link to remove the installation directory from your new host and begin using your site. If that is not possible or throws an error, please use your favourite FTP client (e.g. FileZilla) to manually remove the installation directory and all of its contents from your new host. Please do not ask for support if trying to access your site is causing the installation script to appear again. The solution is to remove the installation directory manually.

If, after the restoration, you have any problems accessing the remote site, please refer to these troubleshooting instructions first. Unless you have followed all of them, please do not ask us for support. 99.9% of all post-restoration problems that have ever been reported to our forum are solved by following these simple instructions.

Why does Site Transfer Wizard consistently fails after a while, bot always when transferring the same file?

This is a limitation of how most FTP servers work and how PHP works.

  • Problem 1: Blocked by FTP server. In order to avoid server timeouts, the site transfer (essentially: a backup) has to be performed in multiple small steps. On each step we have to connect to the remote FTP server, log in, transfer a few files, log out. This roughly means that we have to do this log in, transfer, log out routine 3-4 times per minute over several minutes (or hours). This tends to cause most FTP servers to consider this behaviour as an attack and block logins from this IP for a while. The next time we try to connect to the FTP server we are blocked and the site transfer fails.

  • Problem 2: Large files. The definition of "large" mostly depends on the transfer speed between your original and your target servers. If a file takes too long to transfer it is possible that the FTP server closes its connection. It is also possible that, before that, PHP runs into a timeout and halts. In both cases it cases site transfer failure.

If this happens we recommend an easier, alternative method to transferring your site. Create a regular backup profile and use the "Upload to Remote FTP Server" or "Upload to Remote SFTP Server" to transfer the backup archive to the new host. As a precaution, you are advised to set the Part size for split archives in the Archiver Engine configuration pane to 20Mb or smaller. After the backup is complete the backup file(s) will be transferred to the new server. Just upload Kickstart into it and run Kickstart. This method uses far fewer FTP connection requests than the Site Transfer Wizard, it's faster (usually: five to ten times faster!) and only requires you to upload 1 file manually.

Include data to the backup

[Note] Note

This feature is available only in Akeeba Backup Professional, the paid version of our component

By default, Akeeba Backup automatically includes the whole database of your Joomla!™ installation as well as all the files under your site's root in the backup set. Sometimes you want to include a different database - for example, one used by your non-Joomla!™ newsletter software - or files you have placed above your site's root for increased security. Akeeba Backup Professional can cope with that need by providing you with handy data inclusion filters.

Multiple Databases Definitions

[Note] Note

This feature is available only in Akeeba Backup Professional, the paid version of our component

Sometimes your site grows beyond Joomla!. A forum, a torrent tracker, a custom script... Some of them get to be installed in a database of their own, not as tables in the same database as the one Joomla! is using. If you really want to take a full site backup, you really need these databases backed up as well. The solution to this is the Multiple databases definitions option of Akeeba Backup. You can define an unlimited number of additional MySQL, PostgreSQL, SQL Server and Windows Azure SQL databases which will get to be backed up (and restored!) along with your regular Joomla! database.

[Warning] Warning

Do not use this feature to add your site's database. It is automatically added anyway. Doing so will cause errors during the restoration of your site! You have been warned. Do not seek support for this kind of issues.

[Warning] Warning

Do not confuse the term "database" with your Joomla!™ tables. It is possible that a single database contains tables for the current Joomla!™ site, tables from a standalone photo gallery script, tables from another Joomla!™ site on the same server (e.g. a subdomain), tables from a standalone PHPList installation and so forth. As far as Akeeba Backup is concerned, all of those tables exist in the same database. Unless you tell it otherwise, it will backup ALL tables of the database.

A common misconception is that if you want to also backup a subdomain running on Joomla!™ and having its tables inside the same database as the main site, you should add its database a multiple database definition. DO NOT DO THAT, IT WILL MAKE THE RESTORATION FAIL! After all, Akeeba Backup already backs up those tables. Why should you have to back them up a second time?

[Warning] Warning

If you add an empty database (one which has no tables) it will result in backup errors!

[Note] Note

The settings on this page are defined per profile . Make sure you have selected the desired profile in the Control Panel page.

At first, you are presented with a grid view, listing all database definitions. On the left of each entry, there are two icons:

  • The trashcan. Clicking on this icon will remove the current database definition from the backup set.

  • Pencil or Add. Both will open the database definition editor: the former to edit the database definition, the latter to create a new one.

The database definition editor opens as a dialog box inside the multiple databases definitions page. The options you can select for each database are:

  • Database driver. You can select which database driver Akeeba Backup will use to connect to the database. Your options are:

    • MySQLi. This is an improved MySQL 5 connection driver. We recommend using it for MySQL databases.

    • MySQL. This is the regular MySQL connection driver for PHP. It has the widest compatibility, but the lowest performance.

    • PostgreSQL. Connection to a PostgreSQL database.

    • SQL Server. Connection to a Microsoft SQL Server database. You must be running your site on a Windows server and have the Microsoft-supplied "sqlserver" PHP extension installed.

    • Windows Azure SQL. The same thing as "SQL Server". Windows Azure SQL databases are, in fact, Microsoft SQL Server databases running in a remote machine. You must be running your site on a Windows server and have the Microsoft-supplied "sqlserver" PHP extension installed.

  • Database server hostname. The host of your database server. Usually it's localhost, but many hosts use something different. If in doubt, ask your host.

  • Database server port. Leave it blank, unless your host has told you to use a non standard port for connecting to his database server.

  • Username. The username of the database user needed to connect to the database.

  • Password. The password of the database user needed to connect to the database.

  • Database name. The name of the database you are connecting to.

  • Prefix. The prefix used in the table name's prefixes.

    [Important] Important

    MAJOR PITFALL: Please do not leave the Prefix field blank if you intend to use the Database Table Exclusion feature to exclude tables or table data of this extra database from the backup. If you don't want to use a real prefix, please use a "fake" prefix, e.g. thisIsAFakePrefix_ , to keep the Database Table Exclusion feature happy and functional.

[Warning] Warning

Some hosts use your account name as a prefix for the database and username. This is not the same as the Prefix setting above! In fact, you have to incorporate that account prefix in your database and username values. For example, you're hosted under the account name foobar and you create a database mydata and a user myuser. Your host displays a prefix foobar_ on the left of the edit boxes where you entered the database and user names. This means that your REAL database name is foobar_mydata and your real username is foobar_myuser. This is especially true for accounts hosted in cPanel and Plesk powered hosts. It goes without saying that your password doesn't take a prefix!!! Don't laugh, this question has been already asked in the forum.

If in doubt, contact your host. We can't guess the right values for you because we are neither your host nor your host's client (that is, you). If you ask your host to give you the connection information to your database, they must be able to do so.

When you think you have all the connection information ready, click on Test Connection. This will check all settings except the Prefix. If the connection test succeeds, it will inform you:

Same goes if it fails:

If your connection works properly, it's time to save your changes by clicking the Save button. The top panel will briefly display a "loading" message and the dialog box will go away. That was it, your extra database definition is now saved.

More often than not you have data on your site you don't want to include in the backup set. This can be host-specific directories (e.g. cgi-bin, stats, etc), log files, temporary data, an huge but immutable collection of large media files, click tracking tables, download log database records and so forth. The exclusion filters allow you to fine tune what should be left out of the backup set.

Files and Directories Exclusion

Ever had a file in your site's root put there by your host? Or how about that 200Mb video file in the media directory you don't want to backup? If you need to exclude just a few files here and there but let the other files in the directory be backed up, you can use this filter. Or, let's say you have a downloads folder with a size of 10Gb you don't want to backup every time. Or, maybe, your host saves Apache logs in your site's root so that they can be accessible by the provided analyser script. Possibly, you have another script (for example, a forum, a torrent tracker, you name it) in a subdirectory of your site's root - or even buried deeper in the directory structure - that you don't want to backup. Anyway, you need to exclude the contents of a directory from your backup. The Files and Directories Exclusion filters are just right for you.

Before we begin our discussion regarding the operation mode of this filter, you have to know some automatic filters put in place by Akeeba Backup. It will automatically exclude your site's temp-folder, the "cache" directory on your site's root as well as all files and directories inside the Akeeba Backup's output directory. This means that you should never, ever use a folder as your backup output directory if you intend to backup the contents of that folder.

The normal view of this page consists of three discrete areas.

The top area contains the component and page names and two links to switch between the normal and the tabular view modes.

The middle area contains two interface elements:

  • The Root Directory drop-down menu. Akeeba Backup can define filters for the site's files or for each of the off-site directories separately. The default selection, [SITEROOT], contains all filters pertaining to the main site's files. If you have defined off-site directories, you can select the appropriate directory from the drop-down list in order to define filters for that directory.

  • The Current directory bread crumb list. It shows the current path relative to the Root directory above. Clicking on a subdirectory allows you to quickly navigate to it.

Below that, there is a button to Reset all filters. Clicking it will remove all Files and Directories Filters, for all of the current root's subdirectories. This is useful in case you have messed up with the filters a lot and you need a quick way to revert to the factory default settings.

The lower area consists of two panes. Each pane contains rows with icons and text. The icons represent an exclusion type and can have three states: on (yellow background), off (white background), or force enabled (red background). You can toggle between the on and off states by clicking on the icon. The force enabled state means that this exclusion type is active (on) and forcibly enabled by another feature of Akeeba Backup, such as the automatic exclusions discussed above, the regular expressions filters or a programmatic filter (plug-in) by a third-party developer.

The left hand pane is a list of subdirectories of the Current directory. Each row consists of:

  • Exclusion. When enabled, the entire directory will be skipped from the backup set. It will be as if this directory never existed on your server.

  • Skip subdirectories. When enabled, the subdirectories of this directory will be skipped from the backup set. It will be as if this directory's subdirectories never existed on your server.

  • Skip files. When enabled, the files inside this directory will be skipped from the backup set. It will be as if the files inside this directory never existed on your server.

  • The directory name. Clicking on it will load the contents of this directory in both panes and will make this directory current.

The right hand pane is a list of files contained inside Current directory. Each row consists of:

  • Exclusion. When enabled, the file will be skipped from the backup set. It will be as if this file never existed on your server.

  • The file name.

  • The file size. It will be expressed in the unit which is more convenient, i.e. bytes, Kb, Mb or Gb. This enables you to quickly pick very large files within your site, which are usually the ones you'd like to exclude from the backup set.

When you click on the Tabular View link, the page radically changes format. Instead of browser panes, you now have a grid.

On the top side of the grid you have the Add new filter buttons:

  • Exclude directory. Completely skips backing up the given subdirectory.

  • Exclude file. Completely skips backing up the given file.

  • Skip subdirectories. Skips backing up all the subdirectories inside the given directory.

  • Skip files. Skips backing up all the files inside the given directory.

Each line of the grid displays the following information:

  • The filter type. It can be one of:

    • Exclude directory. Completely skips backing up the given subdirectory.

    • Exclude file. Completely skips backing up the given file.

    • Skip subdirectories. Skips backing up all the subdirectories inside the given directory.

    • Skip files. Skips backing up all the files inside the given directory.

  • Trashcan. When you click it, the filter row will be removed.

  • Pencil. When you click it, the row switches to edit mode

  • The filter item itself. It is the relative path to the directory or file which the filter row applies to. The path is relative to the Root directory displayed on the selection box on top.

When you click on the pencil icon, the filter item becomes an edit box. You can type in the new relative path and then click outside the edit box, or press Tab on your keyboard, to immediately save the changes. There is no way to undo your changes.

If you have a Joomla 1.5 powered website and you have made the decision that you need to updgrade to 2.5, you will need to do a migration. The good news is that this will probably be the last migration you ever have to do as Joomla 2.5 now includes 1 click updates. In this tutorial I will show you how to migrate your Joomla 1.5 website to 2.5.

New User Account Activation (Joomla 2.5)

As users register on your site, you can choose to have those accounts automatically activated, activated by the client, or activated by an Administrator of the site. Once a user s account is activated and approved they will be able to log into your site. This article explains how to select the approval process for New User Account Activation.

Page 2 of 3

SMS mobile app! New and existing users can easily use this app to reach family, friends and business associates by installing this app on their mobile phones.