Installing Joomla! 1.7 Under XAMPP

Joomla! 1.7 is now obsolete. Joomla! 2.5 is the newest release with long term support.

Instructions for installing Joomla! 2.5 can be found here.

This tutorial describes how to install Joomla! version 1.7.0 and 1.7.1, 1.7.2, 1.7.3, 1.7.4 under XAMPP version 1.7.3 on Windows XP.

The procedure should be the same for other version combinations, but no guarantee is made.

Assumes you have already

  • installed XAMPP. (Installation instructions can be found here.)
  • created a MySQL database. (Creation instructions can be found here.)

Some images may be clicked on images for full size versions.

Downloading Joomla!

1) Download the full Joomla install from here.

2) Choose to either save the ZIP file or to open it over the web. Saving the ZIP file makes it easier to install Joomla again, if you have to.

Extracting Joomla!

3) Open the downloaded file by double-clicking on it. From the File menu, select Extract All. NOTE: this step assumes Windows provides archiving functionality for you. If you have installed a different archiving program, the specific steps for extraction will be different.

4) Extract the Joomla! files to a subfolder of htdocs in your XAMPP folder. By default, XAMPP would be installed to your C:\ drive, so you would enter C:\xampp\htdocs\joomla as the directory to extract to. (In my case, I installed XAMPP to my D:\ drive and specified joomla17 as the folder to extract to). Click on Next to extract the files.

5) Click Finish when the extraction is complete. You can uncheck the Show extracted files checkbox because we don’t need to see the files.

Setting up Joomla!

6) Launch your browser and type http://localhost/joomla into the address bar. What follows http://localhost/ is the directory you installed Joomla! into (in my case, joomla17).

7) Select your preferred language, then click on Next.

8) Confirm you meet the minimum installation requirements, then click Next. It is normal for Display errors to be set to On.

9) Read the GNU license and, if you agree with it, click Next.

10) Fill in the database configuration information:

  • Database Type: mysql (default setting)
  • Host Name: localhost (default setting)
  • Username: if you created a MySql User, enter the name here. Otherwise, use root.
  • Password: this is the password associated with the user name entered above. If you used root as your username, then leave the password blank (the default XAMPP install does not assign a password to root).
  • Database Name: this is the name of the database you created. Database creation instructions are here.
  • Table Prefix: a unique prefix for accessing the table. Using the default (or suggested prefix) is fine.

11) Ensure FTP is set to No, then click Next.

12) Enter a site name (for example, Complete, Concrete, Concise or whatever name you want this site to have).

Enter Your Email address. Joomla! will send notifications to this email address.

Enter an Admin Username. This is the username you will use to log into the Joomla! backend. By default, it is Admin (and I leave it as Admin)

Enter an Admin Password – this is the password you will use to log into the Joomla! backend.

Confirm the Admin Password.

Choose if you want to install the sample data. I like to install it, since it saves me the trouble of populating the site with sample articles. The sample data is only available in English.

Click on Next.

13) Confirm you have successfully installed. Note that your user name for logging into the Joomla! backend is admin (if you accepted the default name, otherwise it is whatever name you entered into the Admin Username field in Step (12)).

Cleaning Up

As a security precaution, Joomla! requires you to remove the installation directory before the site becomes functional. In Joomla! 1.7.x, this can be done from the final installation screen.

14) Click on the Remove installation folder to remove the installation folder and complete the installation.

You should now be able to access your Joomla! site by entering http://localhost/joomla into your web browser’s navigation bar.

To access the backend, you would enter http://localhost/joomla/administrator into your web browser’s navigation bar.

NOTE: what follows localhost is the name of the folder you installed Joomla! into (see Step 4 above).

If you want to access the installed site using a “real” web address (like www.joomla.17) instead of localhost/path-name, you can find instructions to do that here.

43 Comments

  • bumblees says:

    Hi very nice document, very clean job thanks a lot for posting it, i spent very less time in taking making it up and running!!
    best regards

  • andrea says:

    I can’t seem to get to the step: 6) Launch your browser and type http://localhost/joomla into the address bar. What follows http://localhost/ is the directory you installed Joomla! into (in my case, joomla17).
    when i enter the address “http://localhost/joomlatutorial” into my browser i get:
    Index of /joomlatutorial
    Parent Directory
    .DS_Store
    Also, I don’t understand what it means to:
    Save the zip file in root directory of your web server. This should be “C:\xampp\htdocs\” in winodows since you have installed the web server using XAMPP. You should have different directory in different operating system.
    Make a sub folder to “joomlatutorial” in this directory and extract the archive in it. You can name the folder anything you want. Now you can access this folder from your web browser using the url http://localhost/joomlatutorial.
    Please help, i understand your directions better than the other tutorials… Thanx

    • admin says:

      Thanks for your detailed feedback, it will help me to improve the content.
      From your description, it sounds like one of two problems:
      (1) you created the folder, but did not install joomla! into it. Although, that doesn’t explain the .DS_Store entry. Is it a folder? A file?
      When I create a folder called joomlatutorial without installing anything into it, I get the following messages:
      Index of /joomlatutorial
      Name Last modified Size Description
      Parent Directory –
      Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 Server at localhost Port 80
      (2) if .DS_Store is a folder, then you created a folder called joomlaturorial and then installed joomla into a subfolder called .DS_Store.
      The fix for this is to move all the contents from the folder .DS_Store one level up.
      [I see from your later comment, that you seem to have resolved this issue, so please let me know what you did.]

  • andrea says:

    okay, i got past the installation, but there is an error and i believe it’s because of the configuration.php / JSON support – NO. How do I fix this???
    Thanx

    • admin says:

      Which version of XAMPP do you have installed?
      JSON (JavaScript Object Notation) is enabled in php version 5.2.0 and later.
      You can check you php version by entering localhost into your browser.
      Clicking on whatever language you are comfortable with (probably English).
      In the left-hand column (orange in colour), at the top will be the header XAMPP, beneath it will be the php version number (which, in my case, is 5.3.1).
      As far as I know, support for it is either compiled into the php or not. I could be wrong. Hopefully, if you can provide feedback, we can solve this together.

  • Jacob says:

    I get the following error messages on my http://localhost/joomla17 site. Do you have any Idea what I am doing wrong?
    Strict Standards: Non-static method JLoader::import() should not be called statically in C:\xampp\htdocs\Joomla17\libraries\joomla\import.php on line 29
    Strict Standards: Non-static method JLoader::register() should not be called statically in C:\xampp\htdocs\Joomla17\libraries\loader.php on line 71
    Strict Standards: Non-static method JLoader::import() should not be called statically in C:\xampp\htdocs\Joomla17\libraries\joomla\import.php on line 32
    Strict Standards: Non-static method JLoader::register() should not be called statically in C:\xampp\htdocs\Joomla17\libraries\loader.php on line 71
    Strict Standards: Non-static method JLoader::load() should not be called statically in C:\xampp\htdocs\Joomla17\libraries\loader.php on line 161…
    Thanks,
    Jacob

    • admin says:

      My best guess is that you have Joomla! 1.7 installed under XAMPP 1.7.4 (I recommend XAMPP 1.7.3).
      XAMPP 1.7.4 has a stricter setting for php errors – it reports everything that is not strictly up to php coding standards. Unfortunately, Joomla! 1.7 (and other versions) have what could be called “sloppy” coding (at least by “strict” php coding standards).
      Aside from rewriting Joomla! 1.7 yourself, the easiest was to stop these errors is to turn them off.
      See my article on How to Turn Off ‘display_errors’ in XAMPP. The instructions are the same, EXCEPT we will disable STRICT error reporting:
      (1) Find the line error_reporting. In XAMPP 1.7.4, this is line 516 of php.ini.
      The line should look like this: error_reporting = E_ALL | E_STRICT
      (2)Delete | E_STRICT
      Had you been running XAMPP 1.7.3, the line in question would have been 514 in php.ini and looked like this:
      error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
      which would not give you the errors you reported.

  • satish says:

    I am very new to Joomla but was able to install it following the instructions. Thanks for the detailed information.

  • Satish Malladi says:

    With this documentation i was installed Joomla without any obstacles. I am new to Joomla this documentation helps me alot ….. Thanks!!

  • Noel says:

    Finally got Joomla installed and working correctly Thanks very much

  • Gregor says:

    Just installed Joomla 1.7 and your tutorials have been invaluable over the last 2 days. Am new to joomla and had a bit of trouble installing but once I found this page it went really smooth.
    Many thanks

  • safina says:

    i install joomla 1.7.3 but after finish my installation i got many error “Strict standarts and on line 422,420 on cache.php

  • safina says:

    thanks it work i take your solution above

    • admin says:

      Glad to hear you were able to resolve your problem.
      I am willing to bet you were using XAMPP 1.7.4 or 1.7.7 instead of 1.7.3

  • safina says:

    am using ampp 1.7.4

  • Telis says:

    admin. give me your lights. i installed joomla 1.7.3 under xampp 1.7.7 and after i installed joomla i have the following message just like safina above had:
    ‘Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla17\Joomla_1.7.3-Stable-Full_Package\libraries\joomla\cache\cache.php on line 420’
    I went to xampp/php/php.ini-development and i changed as you said the value ‘error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED’ and from another forum i also changed the ‘display_errors = Off’ from On that it was by default.
    I am sure I have done sth wrong but I cannot find what.
    Plz any idea would be appreciative.

    • admin says:

      You have to change the value in php.ini NOT php.ini-development.
      Afterwards, you need to restart Apache Server.

  • Mahesh K says:

    Hi,
    Thanks for the steps. It worked for me. but when I accessed the administrator page, it opened with following errors on the top.
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 420
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 420
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Strict Standards: Accessing static property JCache::$_handler as non static in C:\xampp\htdocs\joomla\libraries\joomla\cache\cache.php on line 422
    Any idea, what could be the reason? I am using Joomla 1.7.3 stable version.
    Thanks in advance

    • admin says:

      I’m pretty sure you are using either XAMPP 1.7.4 or XAMPP 1.7.7.
      There is no problem with Joomla 1.7.3, the problem is with the default settings of XAMPP.
      You need to edit the PHP.INI file and find the flag error_reporting and change it to look as follows:
      error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
      Joomla! uses a lot of deprecated PHP code and XAMPP 1.7.4 and 1.7.7 are configured to choke on it. By disabling the NOTICE and DEPRECATED flags, the PHP interpreter will let them pass.
      You can find instructions on editting the PHP.INI file here (NOTE: those instructions are for turning off display_errors, but the process is similar – I really need to get around and write another article on this).

  • Relin says:

    I have downloaded XAMP 7.3 and Joomla 1.7.3 on my Mac with Lion. Joomla is in the file, /Applications/XAMPP/xamppfiles/htdocs. When I type
    Access forbidden!
    You don’t have permission to access the requested object. It is either read-protected or not readable by the server. When I go to http://localhost I get the “Welcome to XAMPP for Mac OS X 1.7.3! screen.” When I type in http://localhost/joomla (I named my database joomla through PHPMyAdmin), I get the following message:
    If you think this is a server error, please contact the webmaster.
    Error 403
    localhost
    Wed Jan 18 22:57:11 2012
    Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1
    I have checked that the debug is on. When I type http://localhost/~my username/I get the message about creating my website through iWeb, Pages, etc.
    Why can’t I get the Joomla start page when going to http://localhost/joomla?
    I appreciate your assistance!

    • admin says:

      I don’t run Mac OS or have access to a computer with Mac OS, however, there are 3 things that come to mind (in no particular order of importance):
      (1) for security reasons, maybe Mac OS restricts the ability to write / create files and folder in certain locations. This is certainly true of Ubuntu (I am constantly frustrated by it not liking some default directories programs use) or Windows 7 – installing XAMPP in the Programs folder will cause problems for XAMPP because Windows restricts permissions for that folder. It may be the same for Mac OS – permissions on the folder /Applications may be restricted. Try installing XAMPP in its own top level folder (or a folder you know you have full read/write permissions). You might want to check this forum thread (external site) on how to do that.
      (2) XAMPP is not running. This might be because you have another http server running. From what I gather, Mac OS comes with an Apache server. If it is running, it will prevent XAMPP from running. The reason I suspect this is because http://localhost/~my username does not look like a valid XAMPP path. But since it works, I assume Mac OS has already set this up for you. See this article (external site) for more info about enabling (and I presume, disabling) it.
      (3) Joomla! has not been installed in the xampp/htdocs/joomla folder.
      One thing you can do to check that XAMPP is running is simply enter http://localhost. If XAMPP is running, you should get the XAMPP welcome screen – which should look something like this (or at least have XAMPP somewhere in big letters on it).
      Please let me know how you make out with your problem. Thanks for asking.

  • Relin says:

    Changing the permissions did it. Thank you!

  • Rick says:

    Hi,
    After following your great tutorial I get “Restricted index access” when trying to access joomla. I ck’d and the joomla folders are indeed in the htdocs. What I do wrong?
    Thanks,
    Rick

    • admin says:

      Are you running XAMPP on Windows, Mac OS, or Linux?
      My best guess is that you are having folder (directory) access permission problems.
      In Windows 7, if XAMPP is installed in the Program Files (x86) or Program Files folders, the way Windows handles permissions to those folders will cause problems. You are better off installing XAMPP into its own top level directory (intructions for installing XAMPP can be found here).
      If you are running Mac OS, folder permissions can also be a problem. See this comment.
      Under Linux, different distros have different file permissions. Some run you as root, others (like Ubuntu) run you at a lower priviledge. You would need to either (1) install XAMPP (called LAMPP in Linux) into a folder you have full permissions over, or (2) change file or group permissions for the XAMPP (LAMPP) folder.
      I hope this helps.

      • Rick says:

        Hello again,
        Thx for your response. I’m actually running Vista and this is where i extracted the file to:
        file:///C:/xampp/htdocs/joomla/
        the page lists all the actual folders and files I have in Joomla and that they were modified right after the installation on 1/24.

        • admin says:

          At first I thought the message “Restricted index access” was coming from the OS. The problem with the message is that it is vague – hopelessly so.
          On further searching, it appears this error message comes from PHP files in the joomla! install. Searching through the Joomla! 1.7.3 files did not reveal any code with a line similar to:
          defined( '_JEXEC' ) or die( 'Restricted index access' );
          However, the file default.php does have the line:
          defined('_JEXEC') or die('Restricted access');
          which is similar but not identical. Perhaps they have updated the message from earlier versions. Unfortunately, I don’t have earlier versions of Joomla! to search through.
          Since Joomla! 1.7.x is now obsolete, having been replaced with Joomla 2.5.x, I would recommend using 2.5 instead. Perhaps this will cause the error to go away.
          Another possibility is that you are using a component or template that tries to access default.php directly – and this is causing the error.
          On the other hand, if this message is not coming from the Joomla! core, then it may be coming from some installed Joomla! component.
          Sorry I can’t be more help.

  • nwai says:

    I am the new one for joomla.
    When I install joomla, I get error at step 4.
    When I insert password I get error “Database connector is return 2” and when I don’t insert password, I get error “initial error”. Why?

    • admin says:

      The error “Could not connect to the database. Connector returned number: 2” usually occurs when you have entered incorrect database information.
      Unless you have changed the user and password information, it should be localhost for the host name, root for the user, and the password field should be left empty.
      Of course, all this assumes you are trying to install Joomla! under the default XAMPP installation.
      If you are trying to install Joomla! in a different installation – for example, on a web host – then you need to enter the corect server name, user and password:
      localhost and root won’t work.
      As well, if you are using XAMPP, I recommend version 1.7.3 instead of 1.7.4 or 1.7.7 (the lat one won’t wok propely on my Windows 7 machine). Instructions for installing XAMPP 1.7.3 can be found here.
      Please let me know how things work out.

  • nwai says:

    Thanks for reply. It work now. I create new account at database. I can’t connect database with user “root”.

    • admin says:

      You should be able to. Remember, the default password for ‘root’ is nothing – just an empty field.
      If, you created a password for ‘root’ then you need to use that password. However, I doubt you created a root password because that would cause other problems with your XAMPP install.

  • nwai says:

    I also think like that. But I can’t find password for user root. When I look at Privileges, it show no password for user root.

    • admin says:

      No, it wouldn’t show the password for root.
      If you have an account that has certain parts of Joomla! loocked out, then you are pretty much out of luck – unless you can convince the Joomla! administrator to give you move priviledges.
      If you are the one who created the site and install, then you must have somehow limited your priviledges. What I would recommend, is doing a fresh install and testing from there.

  • Anill says:

    Thanks………..
    these blog was very useful for me…
    i m very new to using joomla with xampp..

  • abhishek k. says:

    thanx a lot ! u r angel ! :p keep it up bro !!!