Manual Installation

In certain circumstances there might be a problem with using the standard Browser Installation method described, but all is not lost. It is possible to install Joomla! in a more complex, but never-the-less straight-forward process provided it is completed in sequence.

Step 1 – Create and edit the configuration file

Open the local directory where you uncompressed the Joomla! Core distribution directories and files and copy the file configuration.php-dist.

Rename the copied file to configuration.php, and open it in your code editor.

Edit the following fields in particular, prior to saving the file in the joomla_root directory of the installation. The remaining fields can be edited through the Global Configuration screen of the Control Panel->Site Menus.

configuration.php example display
Default configuration.php created from configuration.php-dist

The following are the important variables to be amended before the software will operate properly:

var $sitename = 'your Web site name';

var $dbtype = 'mysql';
var $host = 'localhost';
var $user = 'your database username';
var $password = 'your database password';
var $db = 'database name';
var $dbprefix = 'jos_'; // This is the default database table prefix. Change this to whatever you intend entering into the MySQL table prefix to in Step 2 .

var $secret = 'FBVtggIk5lAzEU9H'; //Change this to a random mixture of upper and lower alphanumeric characters. This is an important security feature and should not be neglected.

It is not essential to enter the FTP data at this point as the information can be added within the Global Configuration screen once installation is completed. 

var $ftp_host = ''; //This is the default localhost address reference. Your Web host may have set this differently.
var $ftp_port = '21'; // Port 21 is the default FTP port on most operating systems, but may have been configured differently by your host provider.
var $ftp_user = 'your ftp username';
var $ftp_pass = 'your ftp password';
var $ftp_root = 'the absolute path of the directory that the ftp client should open within';
$ftp_enable = '1'; Set to '1' to enable the FTP layer facility.

var $tmp_path = '/tmp'; //The absolute path to the tmp directory within the root directory of your Joomla! installation. This should not be confused with the same named directory of your Web server.

var $log_path = '/var/logs'; //The absolute path to your Web server log directory.

var $mailfrom = 'your e-mail address';
var $fromname = 'your Web site name for example';

  Other variable settings in the configuration.php can be altered via the Global Configuration screen in the Control Panel->Site Menu once installation has been completed.

Step 2 Edit the SQL file

Open the directory installation->sql->mysql. You will be presented with the following files:

Contents of the Joomla! MySQL Directory
Contents of installation->sql->mysql directory

Open the file joomla.sql in your editor and edit the database table prefix. Use the Find and Replace command of your editor and enter #__ (hash double-underscore) in the Find field and jos_ in the Replace field and select Enter. Save the file ensuring this is done with UTF-8 NO BOM encoding only. This is extremely important for the operability of the installation. This file will create the table structure of your Joomla! Database.

If you want to add the Sample Data to your database you need to follow the same procedure with the sample_data.sql file, again ensuring it is saved with UTF-8 No BOM encoding only.

The BOM adds a line of code to the top of a data stream - much like a signature. Joomla! does not require this signature and accordingly you must always ensure that the editor you use does not add it. Windows Notepad for example, adds this code amongst other things and should always be avoided.

Step 3 – Upload the files to the Web server

Upload the Joomla! Core Distribution directories and files as previously described in the Web browser installation method, to the Web root directory or named sub-directory of your Web server, including the newly created configuration.php file, using an FTP client program or your Web hosts control panel if provided. If the installation is on your local computer you can simply copy or move the files to the Web server directory.


The Installation directory is not needed for a Manual Installation so you can delete it and reduce the upload time.

Step 4 – Create the database and import the joomla.sql data

Access your database server using your preferred MySQL control system, we are going to use PHPMyAdmin and create the database with the name you entered in the configuration.php file at Step 1 . If you are on a shared hosting, remote server you will probably have been given a specific Database name and do not therefore need to take this action.

Creating a new database
Create a new database

Select the Import tab in PHPMyAdmin and then browse to the correct directory from the joomla_root/installation/sql/mysql directory and select the edited joomla.sql file. Click Go and the data is imported into the database to create the table structure of the installation. Replace joomla_root/installation with the correct path to the file on your local disk.

 Importing the joomla.sql table file
Importing joomla.sql file into prepared database

After the data is successfully installed you will notice that the Tables are now displayed in the left hand pane of the PHPMyAdmin interface.

Successful import confirmation screen
Successful Import of joomla.sql into the database displaying newly created Tables

Congratulations, you have now successfully manually created your Joomla! Web site. To verify this open your browser and enter the address (in our demonstration examples' case) localhost/joomla (replace localhost/joomla with the full URL if the installation is on a remote server) and you will see your new Web site, although it will look pretty bare. You will not be able to access the site to log in and the Administrator Back-end will not be accessible as you do not yet have an admin user.

Basic Joomla! Front-end dispaly without sample data
Basic Joomla! Web site view after completion of database and Table creation

By default Joomla! creates the Main Menu with the associated Home Menu Item, but that is all that is available. Proceed to the next Step to Create an administrator User account Step 5

Step 5 – Create the primary administrator user account

In order to create the first administrator user you must enter the following Query into the database using the MySQL administration panel (or command line). This will set the initial username as admin and the password as admin.

You must edit this password immediately you complete the installation particularly on a public/live Web site otherwise your whole Web site will be vulnerable to anyone who guesses the password.


INSERT INTO `jos_users` VALUES (62, 'Administrator', 'admin', '', '21232f297a57a5a743894a0e4a801fc3', 'Super Administrator', 0, 1, 25, '2005-09-28 00:00:00', '2005-09-28 00:00:00', '', '');
INSERT INTO `jos_core_acl_aro` VALUES (10,'users','62',0,'Administrator',0);
INSERT INTO `jos_core_acl_groups_aro_map` VALUES (25,'',10);

Use the data in the code box above to create an Administrator account by Running an SQL Query within the PHPMyAdmin interface.

Creating a new admin User by running a Query in MySQL
Run SQL Query view prior to running the Query

Select the SQL tab of PHPMyAdmin and enter the code in the Query window. When ready click the Go button. After a few seconds you should receive a confirmation that the query was successful as follows:

Confrimation screen of Query success
MyPHPAdmin Confirmation screen of successful Query execution

If all goes according to plan you will now be able to access the Administrator Back-end of your Joomla! Web site.

Enter localhost/yoursitename/administrator into the address box of your browser (replace localhost/yoursitename/ with the full URL if the installation is on a remote server), and the following screen will be displayed:

Admin Login page of Joomla! Back-end
The Administrator Login page of your Web site

Enter the username admin and the password admin and click the Login button.

You wil be presented with a rather plain view of the Control Panel:

Basic Control Panel without sample data
Main Joomla! Administrator Back-end. Control Panel without sample data installed

Your first task must be to edit the User admin. Open the User Manager by clicking the Quick Icon on the Control Panel.

Control Panel  Display
Select the User Manager Quick Icon

This will open the User Manager:

User Manager Screen
The User Manager access screen

Click on the Administrator name and edit the details to your own preferences paying particular attention to the password and the e-mail address.

User Edit Screen
The User: [Edit] screen with the e-mail and password fields highlighted

You can select and change any of the other details as you wish to at this stage, but you probably could do with a cup of tea (or something stronger!).

Congratulations, you now have access to your basic, clean installation of Joomla!.

If this is the first time you have used Joomla! and want to see how it all could look with a bit of effort you will want to install the sample data. Proceed to Step 6 - Install Sample Data .

If, however, you are now satisfied with what you have created and wish to develop the site yourself proceed to Step 7 – Finish

Step 6 – Import the sample_data.sql data (optional)

If you require the sample data to be installed to the database you must complete a further Import process. Select the Import tab in the PHPMyAdmin interface and browse to the renamed installation directory and select the sample_data.sql file - that you edited with the correct table prefix in Step 2 -  in the sql->mysql directory.

Importing Sample Data into MySQL
Import screen ready for the instruction to proceed with importof sample data

Once the file is selected from the browser click Go.

If all goes according to plan you will receive a confirmation message.

Import confirmation message
Confirmation message for successful Import of the sample_data.sql

When you next Login to the Administrator Back-end (or refresh your browser if already there) you will now see the Back-end has been fully populated by the Sample Data.

Back-end display with Sample Data
Administrator Back-end – The Control Panel with Sample Data installed

It is now advisable to scout around the functions of the Control Panel and see what everything can do and get used to the Joomla! way of doing things.

The Front-end display also looks considerably healthier with the Sample Data installed. Spend some time navigating around and getting a feel for Joomla!

You can Login to the Front-end using the same username and password as you do for the Back-end. A more secure alternative is to have a separate username and password for Front-end access.

Front-end Display with Sample Data
Site Front-end - The Front Page with Sample Data installed

To complete the installation proceed to Step 7 – Delete the installation directory.

Step 7 –Finish

Delete the installation directory

If you did not delete the Installation directory at Step 3 before uploading the core package to the server you need to do so now.

Delete the Installation Directory
Step 7 – Delete the installation directory

It is essential that the installation directory is removed as soon as you have completed the installation. Failure to do so will leave a significant security risk for your Web site. As you have already found, unlike the browser installation you are able to access the site without taking this step and the consequences could be catastrophic further down the time line!

Well, that is it all finished. We hope you enjoy using Joomla! and invite you to become an active part of the ever-expanding Community that makes Joomla! so special.

If you have been helped by this guide, let others know about it. If you have any comments or suggestions to make on the content or coverage that we provide, please visit the User Documentation forums.

If you would like to assist in the preparation of additional documentation for Joomla! please let us know, again on the forums. We are always on the look-out for new contributors.

Last Updated ( Wednesday, 31 October 2007 )