A cardboard box with Joomla coming out of it

These instructions are written for those that want to install a fresh Joomla 3 site on their own web hosting service with their own domain name. Many people choose to install Joomla on their own computer during the development process, then upload the developed site to the hosting company. If you choose to do this, many of the steps will be the same, but you must have a local XAMPP, WAMP or LAMP installation available for the necessary PHP, MySQL and Apache requirements.

If you already have an existing Joomla site in an older version, you need to go through proper steps for upgrading your site. This is done through the upgrade process from the backend of your existing Joomla installation.

Before installing a Joomla site you must already have the following:

A Domain Name: You can purchase a domain name through your hosting company or through other services. The domain name is what you type into the address bar for your browser.

A Web Hosting Service: the web hosting service must meet the minimum technical requirements for a Joomla 3 site. this means that they must have the necessary release for PHP, MySQL and have a supported database version as well. Choose a service that has a good reputation and is CMS friendly.

The minimum requirements for a Joomla 3 site can be seen here: http://www.joomla.org/technical-requirements.html

It is not recommended to install Joomla along side other folders or files that may be present for an existing website. File names and folder names may conflict with required files for Joomla. If this is the case, you should consider installing Joomla in a sub-directory or on a local installation until you are ready to replace your existing sites files with the Joomla installation folders and files.

Other articles on joom3 will expand on many of the topics mentioned in this article.

Installing through your Hosting Company

Many hosting companies have a way to install CMS platforms for your website such as WordPress, Drupal and Joomla. They will often have a way of setting up a database through the installation process. This step is usually accessible from the Account Administration pages.

A reputable hosting company will likely have the bugs worked out and the install should go easily. This installation process varies from host to host, so you should access their help screens if you have questions.

Be aware that your hosting company may not provide support for Joomla and may not be of much assistance when you have questions or if things go wrong. They may also not have the latest release of Joomla available.

Manually installing Joomla via FTP or through your hosts Control Panel

To set up a Joomla 3 site take these steps:

  1. Go to joomla.org and download the latest zipped version of Joomla to your own local computer, for example: Joomla_3.3.6-Stable-Full_Package.zip
  2. Put the zip file that you just downloaded into some folder on your own computer where you can access it (DO NOT unzip the file).  It would take a very long time to upload to your hosting directory if not compressed in the zip format. You can uncompress it after it has been uploaded to your own hosting company.
  3. Set up a database with your account on your hosting server. Methods for this vary by hosting company, contact them if you are unsure how to create a database. When setting up the database, you want to make note (write it down or copy it to a text editor, you will need this later) of these three things:

    • database name
    • database username
    • database username password

    Be sure to give the database user ALL PRIVILEGES
  4. Upload the zipped Joomla installation file to the public_html folder of your hosting account using some sort of ftp client software or your hosting company's file manager or cPanel. Joomla can also be installed in a subdirectory on your hosting account. This site in the sub-directory can then be then accessed by typing your domain name a forward slash and the subdirectory name.
  5. Folders and files with a Joomla installationUse cPanel or your hosting company's file manager to unzipunarchive or extract the Joomla zip file. Once all the files are extracted, delete the original .zip file.

    Once the zip file is unzipped, you should see a number of folders and files in your directory. Do not make any alterations to any of these files or folders at this point.

    There should be a folder named installation. This folder, and its included files, are necessary for the configuration of a new installation of Joomla. At the end of the initial configuration, Joomla's installation process will prompt you to remove this folder.

    There are also files named htaccess.txt and robots.txt.dist. We will rename these files after the installation process. 
  6. Open up a browser, Chrome, Firefox, Internet Explorer, Safari, etc. Type in the url of your new site, your domain name, in the address bar and your site should come up as a new Joomla installation with the Main Configuration screen.View of Joomlas Main Configuration screen upon installation

    If you are not seeing the Joomla configuration screen, it may be that you need to remove the hosting company's placeholder file that they put at the root of a new site. This file is often named something like index.html. Rename this file to something like indexXXX.html to see if that is what is keeping you from seeing the Joomla configuration screen. DO NOT rename the index.php file that comes with the Joomla installation.
  7. You must now walk through the steps on the screen to setup the Joomla installation.
    • Site Name: Enter the name of the site. This will be what search engines see as the name of your site, so keep it clean and to the point. This will also be what shows up in the browser tab and when someone bookmarks your site. Depending on your settings, Joomla will add this site name to the <title> tag of every page of your site.
    • Description: This can be a brief description (<200 words) of your content for the search engines to start indexing your site. This is the meta description for your entire site. If you put text in here, it shows up on every page of your site as the meta description in the <head> section of the web page if you haven't replaced it with a unique description for that particular page. Normal users will not see it on the page, but search engines can see it, and if you look at the source code you can see it. This meta description may or may not show up in search results.  SEO experts recommend that you do not use a repeating meta description for every page. You can leave this box blank.
    • Admin Email: This will be the contact email for the site and is used for many things to do with the site. It can be the email address of the main person managing the site. 
    • Admin Username: This name will be the login name of the initial Super User for the site. This is what you will type into the Joomla login screen. DO NOT USE "admin" as the admin username for security reasons. Enter something unique.  Write this down - or save it somewhere. This is not the database username and should be something different than the database username. You may login to the Front End of this site with the admin username as well through a login form or login page.
    • Admin Password: Use a hard to guess password with a combination of upper and lower case letters with numbers and maybe a symbol or two. Have at least 8 characters. Write this down or copy it to someplace secure. You will use it every time you log into the site.
    • Site Offline: This sets whether the public can see your site by typing in your url. If it is online and you are still in development - someone could see your site (like your client or your customers). If you choose to develop the site in an off-line environment, you will see a login and password box when you type in your url to view the site while under it is development. Having the site offline will also keep search engines from indexing your content before you are ready to go public.
  8. Click "Next". You will see the Database Configuration Screen.  These are values that will be inserted by Joomla into the configuration.php on the root of your Joomla site.Graphic of the Database Configuration for a Joomla 3.2 installation
    • Database Type: Generally this will stay at MySQLi.
    • Host Name: Most often this is localhost, but not always. Some hosting services give a unique name for the Host Name. Research your hosting service and see if there is information about this topic.
    • Username: This is the database username, not the Joomla login username.  This is the database username that you established when you set up the database in Step 3.
    • Password: This is the database password, not the Joomla login password. This is the database password that you established when you set up the database in Step 3.
    • Database Name: This is the database name that you established in Step 3.
    • Table Prefix: Joomla will put a random prefix in here.  All of the tables in your database for this site will start with this prefix.  In some case people share a database between sites, and this is necessary for this site to recognize what tables belong to it.  You can type in a unique name for this, but it must end with an underscore.
    • Old Database Process: Occasionally, people will install a new Joomla site using an existing database.  This tells Joomla whether to backup that data or remove it.  If you are starting with a clean database, you do need to be concerned with this step.
  9. Click "Next" and you will come to the "Finalisation" page.Top of the Finalisation screen with a new Joomla Installation
    • Install Sample Data: This will populate your Joomla site with a variety of sample data. This step is for people that are just learning Joomla and want to view the different data types, or for developers/designers that want content on their site for styling purposes.  It also adds some handy core modules that you may want to modify for your own uses. You will want to delete all of this sample data before putting in your own content so the two don't get intermingled. Removing this data can be time consuming, so don't load it if you don't have a good reason.
    • Email Configuration: This sends the site configuration to the default email address that you set up in Step 8.  You may want to do this for your records.  If you select "Yes" here, you will then be asked if you want to include passwords in the email.  Be careful here, email is not a secure way of sending information and all your site info is in this email.
  10. The Finalisation page will also give you a summary of the settings and information that you have put in.  Review these to be sure nothing seems to be incorrect. End of the Finalisation page
  11. There is also a Pre-Installation Check and Recommended Settings that are necessary or recommended for Joomla to be installed in your hosting environment. If any of these subjects are red, you may not be able to install Joomla or it may not function properly.  If you do have red boxes, check with your hosting company to see if there are workarounds for these issues.  If not, maybe choose another hosting company.
  12. Select "Install" up at the top.  You will be take to the final Configuration screen.
  13. At this final screen you are instructed to Remove the installation folder.  You can click on the button and Joomla will do this for you.  If it is not removed, your Joomla site will not come up.
  14. This is also where you can choose to have Joomla be installed in a different language.  Joomla is used all over the world, so this can be an important step.  If your hosting company won't allow you to automatically install the languages, you can do so from inside the Joomla administrative interface.
  15. From this screen you can click the button labeled "Site" and go directly to the front page of the site, or you can select the button labeled "Administrator" and you will be taken to the administrative side of Joomla when you can login with your username and password to get to the Administrative Menu.

If you did not choose to load the sample data, the Home page of the site will not look like much.  You will have the beginnings of a menu that has been put in by the Main Menu module, a login box and the name of your site.  You can modify what shows up on your site any way you wish.

If you went to look at the Front End of the site and now you want to look at the administrative side, type in /administrator at the end of your URL

EXAMPLE: http://mynewsite.com/administrator

You you will be taken to the administrative side of Joomla when you can login with your username and password to get to the Administrative Menu.

Other steps to take after installing your site

Installed with your Joomla files is a file on the root called htaccess.txt. Rename this file to .htaccess (if you can do it through your FTP upload program like Filezilla or right on the Hosting Control Panel).  

This .htaccess file has a number of security settings. It also directs bad urls to the error.php file in your templates directory. You can customize the 404 Error page to look like the pages on your site, or you can create a redirect in that page that sends users to your home page so that they never see a 404 Error Page.

You should also rename the robots.txt.dist to robot.txt. The robots.txt file has instructions to web crawlers on which folders you do not wish to have indexed by the search engines.

Redirecting old page names to the new page names

If you are migrating a site built in another format it is most likely that every single page on your site will have a different URL once your create it in the Joomla environment.  The problem with this is that if someone has your old pages bookmarks, or finds them in a search engine, they will get a 404 error page.  This doesn't look good for your site.  You can create Redirect 301 instructions in your .htaccess that will automatically redirect the user to the appropriate new page.

The format is to start with redirect 301 then put just the file name or the directory and the filename (leave off the http:// and the domain name) of the old page then the complete URL to the new page.

Redirect 301 oldpagename.html http://www.mynewsite.com/the-new-page
Redirect 301 /specific/oldpagename.html http://www.mynewsite.com/specific/the-new-page

You really need to create a unique Redirect for every page on your old site where there will be a new URL.

Joomla 3 also has a way to create these redirects right through the Administrative interface. Components -> Redirect