Installing Magento on XAMPP

E-Commerce is getting big, and one of the biggest e-commerce systems in use is Magento. It is an open source software package that allows users to set up an online store. While “easy” isn’t the first word I would use for Magento, it’s certainly one of the better options out there if you’re looking for a professional e-commerce solution. Today, we’ll be installing Magento on XAMPP.

As a designer, developing themes for Magento might be something you would like to look into. But, unlike installing WordPress on XAMPP, Magento’s installation procedures can be a bit intimidating, especially for a designer who just wants to get it working so they can start developing themes and other pretty things. Where WordPress is the darling of the 5 minute installation, Magento takes a little coaxing to work. Here’s a step-by-step procedure that will hopefully save you a headache. Please note that I run XAMPP, so this tutorial is written for XAMPP only and is Windows 7 specific.

For this tutorial, I am running the following:
XAMPP 1.8.1
Apache 2.4.3
MySQL 5.5.27
PHP 5.4.7
Magento Community 1.7.0.0

Step One: Make sure you have the latest version of XAMPP installed. You can get XAMPP at the Apache Friends website, here. At the time of this article, the latest version of XAMPP is 1.8.1. I won’t go into installation and configuration of XAMPP in this tutorial. If you’re new to XAMPP and don’t have it installed yet, please refer to my Installing XAMPP on WordPress tutorial for details.

Step Two: Go to Magento and download the Community version. Magento has various versions of their e-commerce software. The Community version is open-source and supported by community developers, designers and users. Magento’s other major software is Magento Enterprise that is supported by its developers. As you may have guessed, Community is free and Enterprise will cost you a certain sum of money. If you want to know more, they have a great FAQ about it. Let’s get started with the Community version by downloading the “Downloader” version. I’ve installed Magento using the Full Release and the Downloader version and in my experience, the Downloader version puts up less of a fight during installation.

Please note that you may have to sign up for an account on Magento’s site before you can download the software. Once you do get to the download link, you might notice a helpful PDF being offered under “Designer’s Guide”. Click on the link, download the PDF and save it somewhere to look at later. It’s useful!

Step Three: Before we get to Magento itself, we need to prepare XAMPP for installation. First thing’s first, make a MySQL database for your new Magento installation. Go to your localhost phpMyAdmin: http://localhost/phpmyadmin/ Click on Databases and create a magento database. Make sure you name it something you’ll be able to remember:

Make a new database for your new Magento Installation

Click on the “Create” button once you’re done. Now click on your newly created Magento MySQL database:

I named my database "magento_box", yours can be anything at all.
I named my database “magento_box”, yours can be anything at all.

We’re going to make a new user for your Magento database, similar to what we did for the WordPress installation. On an actual live server, you never want to use the root account. Too much sensitive material that could pose a security problem if something were to go wrong. So click on the Privileges button at the top of the screen, then under “New” click on “Add user”.

Step Four: Fill in your database username and password and make sure you use Local in the drop down menu for the Host, or type in “localhost”. Once, you’re done with that, scroll down.

Make sure “Grant All Permissions on “magento_box” (or your database name)” is selected and click on “Check All” under Global Permissions. Then scroll down and ensure Resource Limits are all set to 0 and click on Add User.

Check all for Global permissions.
Check all for Global permissions.

Step Five: Now that was the easy part. Magento’s system requirements states that it will work with 5.2.13 – 5.3.15. Now, that doesn’t say it’ll work with PHP 5.2 and Newer. It literally means any versions outside of that range will throw errors. Often, these errors present themselves during installation. Which is what makes Magento a more difficult beast to tame. We actually need to go into our XAMPP installation and modify some Apache and PHP files so Magento will install without a hitch.

With that having been said, let’s tackle Apache first. Stop your Apache and MySQL services in your XAMPP control panel and exit out of the control panel. Next, if you installed XAMPP in its desired location, you should be able to find a file called httpd.conf in this location: c://xampp/apache/conf/httpd.conf. Make a copy of the httpd.conf file before you open it in a text editor like Notepad or Notepad++. Once opened, look for this line:

#LoadModule rewrite_module modules/mod_rewrite.so

And remove the # at the beginning of the line. So it should look like this:

LoadModule rewrite_module modules/mod_rewrite.so

Yes, just remove the #. That’s all you need to do. Nothing more. Some installations already remove the #, so you might not have to do anything here. Once you remove the # from that line or verify that the # isn’t there, save your httpd.conf file and exit. Now we’ll deal with PHP.

Step Six: Navigate to your php.ini file. Which should be located here: c://xampp/php/php.ini. Again, make a copy of it before you edit it, then open it in a text editor. Now find this line within php.ini:

;extension=php_curl.dll

And remove the semicolon (;). So that the line will look like this:

extension=php_curl.dll

Again, only remove the ; and nothing more. Some installations will have the semicolon already removed. In which case, you don’t need to do anything except verify that it isn’t there. Save php.ini but don’t close it yet.

Step Seven: During the installation, Magento will require a few minutes to complete one of its tasks. Your XAMPP installation is likely to allow less time than this and as a result, will corrupt the Magento installation. The solution for this problem is to increase the timeout threshold in the php.ini file. You can do this by locating the following string in php.ini:

max_execution_time = 30

And increasing the 30 to 1600. So that it looks like this:

max_execution_time = 1600

After that, save php.ini and close out the file.

Step Eight: Finally, we can start actually installing Magento onto our local machine. First, restart your Apache and MySQL servers. If you didn’t stop them before and have been editing them while they were on, just stop them now and start them up again. Create a new folder in your XAMPP htdocs folder called “magento”. Find the Downloader Mangento file you retrieved earlier, and unpack the downloader.php file. Copy the downloader.php file into your magento folder that you just created.

Downloder.php file goes in here.
Downloder.php file goes in here.

Step Nine: Navigate to your Magento downloader.php file, by going here: http://localhost/magento/downloader.php. If everything is on the right track, this should be greeting you:

A beautiful sight if you've been wrestling with Magento!
A beautiful sight if you’ve been wrestling with Magento!

Click on the “Continue” button, and you should see this:

Click on “Check for InnoDB Support” if you’re interested in InnoDB Support, if not, then no big deal. Then click on “Continue” again.

Click on “Continue” here too. We want to leave everything as is, because it’s already set to exactly what we want. Magento’s installation goes fairly smoothly as long as we make sure we have our bases covered first.

Wonderful. Click on “Continue”. The next screen gets a little more exciting. I promise.

Make sure your installation options are exactly what you want and click on the magical “Start the download process” button. Which will cause this to happen:

Oddly riveting.
Oddly riveting.

Strange as it looks, Magento is just doing its thing. It will download the necessary files, install them, then clean up after itself. So efficient! Go take a little break. You deserve it. Come back in a few minutes and it’ll look like this:

Success!
Success!

Yay! Click on “Continue Magento installation” then read over the license agreement if that’s your cup of tea, agree to it, then click “Continue to set your Localization”. At the Localization screen, set your time, currency and language settings and then click “Continue” again.

Finally, some action!
Finally, some action!

Configuration is probably the most exciting screen you’ll be looking at for a while. And I say this because once you click on the “Continue” button here, Magento will finish installing itself and you’ll be left hanging for a few minutes. Remember when we changed the timeout in php.ini? That was for this step. Go through the form first though and fill in the appropriate fields. Make sure you change the “Database Name” to your database’s name and input your username and password for your database into the appropriate fields as shown above. Double check everything to make sure it’s accurate. Once you’re ready, click on “Continue”. Now would be a good time to make a sandwich or something because this could take up to seven minutes to complete. I managed to make an elaborate cup of chai tea in the time it took Magento to finish this step. Whatever, you do, don’t try to refresh or close your browser. Just let it do its thing and you should get this glorious screen:

It's like buried treasure.
It’s like buried treasure.

See, if you’ve spent as much time as I have, trying to figure out what Magento’s problem is during installation with no prior knowledge of how it works and you finally make it to the Create Admin Account page, it’s like you discovered buried treasure. With that having been said, you can create your administrative account here. Go nuts, but remember, never use the same username and password for your administrative account as your database account.

Also don’t worry about filling in the Encryption Key. Magento will generate a key for you on the next page (just like it says). It’s highly recommended that you write that key down somewhere so you don’t forget it. Once you’re done filling out the form, click on “Continue”. Write down your encryption key. Do it!

After you get your encryption key locked away in a fireproof safe, you can choose to go to the Frontend or Backend of your new Magento installation.

Beautiful
Beautiful

After all this, you should finally be able to work with Magento. Enjoy.

 


Posted

in

by

Tags:

Comments

124 responses to “Installing Magento on XAMPP”

  1. Harman

    I extracted the files of Magento CE 2.1.0 to a folder named Magento in htdocs.

    Now what url do I need to point in order to start the installation.

    1. Hi Harman. If you did all the set-up and are ready to run the installation for Magento itself, you should go here: http://localhost/magento/downloader.php

  2. Raji

    Hi … I am stuck at Step 6 :

    I tried to find c:xamp/php/php.ini ….. but it is not available there.

    Instead, I found php.ini – development and php.ini – production.

    Thanks.

    1. Hi Raji. Unfortunately, I haven’t done much of anything with Magento or XAMPP in a number of years, so I can’t confirm if this php.ini you found in a different folder will be the correct one you have to modify or not. This guide is a few years old and the XAMPP team may have moved that file in more recent versions of their software.

    2. Naveen Sharma

      try to find this file by extension, you will definitely find that πŸ™‚

      1. Thanks for the great tip, Naveen! πŸ™‚

  3. Razzy

    I got this fatal error – Downloaded Magento CE 1.9.4 because software that I intend to modify uses that version

    Fatal error: Uncaught Error: Function name must be a string in C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\Layout.php:555 Stack trace: #0 C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(390): Mage_Core_Model_Layout->getOutput() #1 C:\xampp\htdocs\magento\app\code\core\Mage\Install\controllers\WizardController.php(120): Mage_Core_Controller_Varien_Action->renderLayout() #2 C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(418): Mage_Install_WizardController->beginAction() #3 C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch(‘begin’) #4 C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) #5 C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\App.php(365): Mage_Core_Controller_Varien_Front->dispatch() #6 C:\xampp\htdocs\magento\app\Mage.php(683): Mage in C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\Layout.php on line 555

    1. Hi Razzy, Unfortunately, most Magento errors like this are way over my head at this point. I haven’t worked with Magento in a number of years. However, it looks like you might get a start to a solution to your error here: http://stackoverflow.com/questions/35611696/fatal-error-uncaught-error-function-name-must-be-a-string-in-c-xampp-htdocs-e

      Best of luck and I hope you get this sorted out.

  4. Rick

    Thank you for your excellent instructions! I just installed Magento CE V2.0.5 after first prepping my php.ini and added the database and user as you outlined. I then unzipped the contents of the downloaded file into “c:\xampp\htdocs\magento-test”, which is the directory I set up as the root for my testing. I accessed the index file in the root and setup went just fine.

    1. Thanks for dropping by and detailing your installation process, Rick! It’s really helpful for anyone coming to this article needing some additional details on the process. πŸ™‚

  5. J

    Too bad magento is dogshite :/

    1. Haha, thanks for taking the time to leave a comment, J. I don’t make any apologies for Magento being great or otherwise. πŸ˜‰

  6. Bundvo Khan

    This is very useful for magento developers.

    1. I’m glad this was helpful! Thank you for leaving a comment. πŸ™‚

  7. Joshua

    Does a downloarder version not exist for 2.0?

    1. Hi Joshua, doesn’t look like it. It’s likely not too much of an issue though and downloading any of the full release versions of 2.0 will work with this tutorial.

  8. jitendra kumar

    during installation of magento there is an error: one file missing ” .intl ”
    provide me the solution.

    1. Try uncommenting this line in your php.ini file:
      extension=ext/php_intl.dll

  9. nejoud

    I fixed the problem but now when I moved the downloader.php to magento on the htdocs I tried to open it as you did in step niene , but I got the object not found error page! and I got this when i chose it from magento directory ” Fatal error: Class ‘Maged_Model’ not found in /Applications/XAMPP/xamppfiles/htdocs/magento/Dowloader.php on line 28″

  10. nejoud

    Hello, I followed the steps but when I reached step number nine, I got the access forbidden page, error 403! πŸ™ .. how can I fix that?

  11. fd

    please reply as soon as possible.

  12. fd

    I didnt get about downloader.php
    this file is not their in m megento folder.
    i have downloaded communiti folder of version 1.9.2.1.

    1. Hi fd,

      Make sure when you download Magento, that you choose the Downloader version rather than the Full Release. You can still successfully install using the full release version, but the steps outlined in this tutorial are specifically for the Downloader version. Head back to the Magento download page and make sure you select and grab this version:

      Magento Downloader version.

      1. fd

        ok thnks for d reply.

      2. fd

        i m getting base url invalid error even though i wrote correct url.
        url is http://localhost/magento

      3. fd

        Query is resolved. now i want to write first program in magento using php. can u please tell me d same.??

        1. Hi fd, that’s way beyond what I can do in the comments of an installation tutorial. I also don’t have any plans in the works to do any Magento PHP development tutorials. But you can get started with these good tutorials:

          http://code.tutsplus.com/tutorials/magento-for-designers-part-1–net-10897
          http://code.tutsplus.com/tutorials/magento-custom-module-development–cms-20643

  13. Bayu

    this is really helpful…

    Couldn’t thank you more even after 3 years it’s posted…

    1. Thank you for dropping by and leaving a comment, Bayu. I’m really glad this was helpful! πŸ™‚

  14. lazy

    i am getting this error “Database file size too large to upload”

    1. Hi lazy, sounds like you have a PHP file size restriction. Look in your php.ini file again and update these values to something like this:

      upload_max_filesize = 128M
      post_max_size = 128M

      Then restart Apache and MySQL and try again.

  15. Ajay

    Very nice a lot of thanks of this valuable information.

    1. No problem, thank you for dropping by, Ajay.

  16. […] I am done with all what i can do to figure out why magento installation hangs on configuration phase. I did everything what is given here: https://www.ironion.com/installing-magento-on-xampp/ […]

  17. thanks for this great article

    1. Thank you!

  18. Rohit

    Followed your steps.
    Worked in maiden attempt.
    Cannot thank you enough

    1. Great to hear that! I’m glad this was useful, Rohit!

  19. theguestfromthewest

    Thanks for your input Khanh.

    Somehow I managed to get out of the deadlock. I basically erased and reinstalled everything as well as that I uninstalled VMware which was also to be found previously on the laptop.

    I don’t know how I got it to work but indeed, it suddenly went through with the installation of Magento into MySQL. Considering this I would recommend doing the very same to everyone who is running into the same problem. Get rid of all virtual machines that aren’t vital or necessary and do a fresh install once again.

    Maybe, it’s just a matter off luck in the peculiar world of computing to make it work out.

    Thanks again for your input though. Highly appreciated! πŸ˜‰

    1. I’m glad to hear it worked out in the end, theguestfromthewest. πŸ™‚

  20. theguestfromthewest

    I have with success used the above manual for XAMPP and Magento on my Windows 7 desktop machine. No problems whatsoever.

    However, I now find myself in a constant deadlock with the exact same install on my Windows 8.1. laptop machine that just constantly throws a “database connection error” while trying to get passed the point of install that is about just that – the install of Magento into the database of XAMPP.

    I have searched the internet for this error in relation to the above install and have found heaps of issues posted by heaps of people that have consistently flooded the Magento Community forum for the – approximately – past two years with the very same issue.

    Apparently it seems that the error isn’t in XAMPP rather than in Magento somewhere. However, the Magento people seem to work on a fix that still doesn’t exist at this very point though.

    Now my question is…, besides disabling ports on Skype that seem to conflict with XAMPP as well as some virtual machines, is there ANYTHING at all that I can do to fix this and get out of the “database connection error” gridlock?

    Any help, comment and thought no matter how big or small is appreciated.

    Thanks in advance for your help…!

    1. Hi theguestfromthewest, I feel your pain. Unfortunately, this is just something Magento will have to work out for themselves. At the moment, I haven’t found a way around this super annoying (and frankly, software breaking) issue that would be a viable and long-term solution. Sorry, I couldn’t be of more help. Hopefully they patch/fix it soon for us!

  21. tarun

    thank you so much.

    1. My pleasure, tarun. πŸ˜€

  22. Michiel

    Hi,

    I am stuck at step 9 … apparently caused by the fact that I already have Drupal (with XAMPP) installed on my local computer for 3 other websites. And IIS! Apache listens to port 81 as entered in my httpd.conf file. That works fine. The point is that I would like to use Magento with the same Apache installation I used for my Drupal sites.

    When I open http://localhost:81/magento/downloader.php, it shows me the front page of my main Drupal site.
    I tried to alter the Magento entry in my hosts file to “127.0.0.1 magento” and added the next lines to my c:xamppapacheconfextrahttpd-vhosts.conf file:

    DocumentRoot “C:/xampp/htdocs/magento”
    ServerName magento

    … to open it through http://magento:81 but still my Drupal front page shows up.

    I can’t get Magento installed. Even not when I first download the full version and copy the contents to my c:xampphtdocsmagento folder and repeat the above steps.

    What can be wrong?

    1. Michiel

      … addition to my previous post:
      The contents of my httpd-vhosts.conf file seem to have vanished for the beginning part and the ending part. It should read:

      DocumentRoot “C:/xampp/htdocs/magento”
      ServerName magento

      1. Michiel

        … it seems to remove the “” lines.
        Read a “” for a “[” and “]”:

        “[VirtualHost *:81]
        DocumentRoot “C:/xampp/htdocs/magento”
        ServerName magento
        [/VirtualHost]”

        Hopefully this works better … otherwise I give up (but hopefully my point is clear)

        1. Hi Michiel, I feel your frustrations. I haven’t worked with Drupal for a few years and no longer have it installed. Though I am planning on installing it near the end of this year. Unfortunately, I can’t offer any help regarding your situation because I haven’t encountered it myself. From what you’ve posted, it sounds like this is more of an issue with Drupal or even XAMPP than Magento. Perhaps someone who uses Drupal will be able to shed some light on this scenario? Sorry that I couldn’t be of more help. Best of luck.

  23. Alex

    For someone like me who was completely new and ignorant to XAMPP and Magento you should be commended! This took me about 15 hours over 2 days.
    Thanks very much, this was a personal triumph of epic proportions.

    My biggest learning curve: :β€’Install from:
    http:127.0.0.1magentodownloader.php
    and NOT I repeat and NOT
    http:localhostmagentodownloader.php

    1. I’m glad this guide helped you, Alex! Best of luck with Magento. πŸ˜€

  24. This was an exellent guide!! Thank you.

    1. Thanks for leaving a comment, Daniel.

  25. chetan

    Hi Khanh,

    Firstly a very helpful tutorial.

    However, whenever i try and install the magento the apche stops working. Could it be that they are occupying the same port. Please suggest a solution.

    Thanks

    1. Hi Chetan,

      Unfortunately, I’m not sure why that would occur. You may have to try fiddling with the preferences. This discussion on StackOverflow might help:
      http://stackoverflow.com/questions/9135107/apache-in-xampp-wont-turn-on-after-it-worked-before

      Otherwise, you might have to post on StackOverflow or ask XAMPP themselves. I can’t really help you with this one. Sorry! πŸ™

  26. Gayan Nirasha

    Couple of time i try install magneto…..I followed step by step your instructions….Finaly i met with below mention error””””’

    “Object not found!”
    The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.
    If you think this is a server error, please contact the webmaster.
    Error 404
    localhost
    Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11

    Please help me soon to install magento….
    Thank You
    Iroshi

    1. Hi Gayan,

      Have you tried the suggestion made by diveeco on the Magento forums? (Check post #4):
      http://www.magentocommerce.com/boards/viewthread/11743/

      xgabo also has a suggestion worth trying (check post #11)

  27. JL

    Nice clean tutorial, I love the step by step directions, with graphics.
    Any Chance you could show how to migrate a live Magento site to localhost using Xampp?

    There’s plenty of tutorials showing how to go from Xampp to a live server, but when you inherent a Mageneto website as a new developer, it pretty tricky to get a local copy installed.

    1. Hi, JL. Thanks for the suggestion, I will look into it for a future tutorial. πŸ™‚

  28. James

    Hi,
    My installation was one click,there was no error!…but I just cnt login to my back end.I have check the above file and cnt find ….
    session_set_cookie_params(
    $this->getCookie()->getLifetime(),
    $this->getCookie()->getPath(),
    $this->getCookie()->getDomain(),
    $this->getCookie()->isSecure(),
    $this->getCookie()->getHttponly()
    );
    My version of Xampp is 1.8.1 ,and I installed Magento 1.8.1 latest release ,I tried to hatch my password but it still did not work,any suggestion will be helpful,thanks.

    1. Hi James, in that case, try this:

      1) Go to htdocs/magento/app/code/core/Mage/Core/Model/Session/Abstract

      2) Make a copy of Varien.php.

      3) Open the original Varien.php file in a code editor like Notepad++

      4) Find this code:
      session_set_cookie_params(
      $this->getCookie()->getLifetime(),
      $this->getCookie()->getPath(),
      $this->getCookie()->getDomain(),
      $this->getCookie()->isSecure(),
      $this->getCookie()->getHttponly()
      );

      5) Replace the above with this:
      session_set_cookie_params(
      $this->getCookie()->getLifetime(),
      $this->getCookie()->getPath()
      //$this->getCookie()->getDomain(),
      //$this->getCookie()->isSecure(),
      //$this->getCookie()->getHttponly()
      );

      6) Save the file and try logging in again.

      Help was sourced from this topic: http://www.magentocommerce.com/boards/viewthread/4337/P45/

      Good luck, I hope things work out.

  29. Danish

    Hi,
    I followed the steps as they are defined. But, after successfully downloading magento when I click on β€œContinue Magento installation” it is supposed to go on license agreement page. But unfortunately it goes on next page and says “This page can’t be displayed”. I have no idea it there is any page missing or any connection problem. Could you please help me.
    Thanks.

    1. A couple of things could be causing this, but neither of my suggestions are guaranteed to resolve it. Try them anyway…

      1. Are you running PHP as CGI? If yes, try to switch it to ISAPI.

      2. Are you trying to install using the Full Release or Downloader version? I notice that I tend to have more luck with the Downloader version, but if that one isn’t working try the Full Release.

      Sorry I couldn’t be of more help, I haven’t encountered this issue before.

  30. […] those Windows users I would advocate following this site’s instructions for installing Magento. Note: there will be a lot of WAMP lovers who detest that I advocate XAMPP but the most recent […]

  31. Martyn

    I’d spent hours following other guides to get this working with no luck then I found yours and I have everything up and running in no time at all. You’ve explained everything so brilliantly I did not get confused and no-re-reading was required. Thank you so much for your guide.

    1. Thank you for leaving a comment, Martyn. I’m glad this was useful! πŸ™‚

  32. I just wanted to say a big, big THANKS! I was ready to throw my computer out of the window and then I found your blog: I started from scratch and within less than an hour everything is working smoothly, I still cannot believe it looking at the backend *happy*

    1. Anything to save another computer from being thrown out a window. I’m glad this tutorial was useful! πŸ™‚

  33. Ramesh

    Its really a great tutorial..

    1. I’m glad it was helpful, Ramesh. πŸ˜€

  34. Md. Elias

    Hey man,
    You are awesome…..

    1. Thanks, Md. Elias! πŸ˜€

  35. Lee Hamilton

    These are terrific and clear instructions. Unfortunately I haven’t been able to get them to work. Everything works fine until after the Magento Connect Manager Deployment step. When I proceed, a “Please wait…” message is displayed, followed briefly thereafter by a popup that says “Error: undefined” with an “OK” button. If I click “OK” the β€œPlease wait” message just persists. After waiting over six hours, if I click β€œContinue”, I get an Error 404 message as the browser tries to go to the “http://localhost/magento/index.php” page. I have started over twice, with the same effect both times.

    What did I do wrong?

    1. Hi Lee, thanks for leaving a comment. Unfortunately, “Error: undefined” is a really general error and even with your excellent explanation of what happened, I can’t determine where the installation is going wrong. I also highly recommend asking the Magento Community to help out with this one:
      http://www.magentocommerce.com/boards
      There’s a lot of smart people there who can help you out much faster and probably better than me. I’m sorry the installation didn’t go smoothly. Best of luck getting Magento to work! πŸ˜€

  36. brian

    Thanks a ton. First time ever trying to do this and frankly I’m stunned that I got it up and running. Now I get to design! Sweeeet!

    1. That’s great to hear, Brian! πŸ˜€

  37. You bring hope to this cruel world….. thanks

    1. Haha, thank you, Steffon. πŸ™‚

  38. Thank you so much!! it was a good tutorial.

    1. No problem, asb. Glad I could help. πŸ˜€

  39. sam

    i got this error

    There has been an error processing your request
    Exception printing is disabled by default for security reasons.

    Error log record number: 2140640102

    1. Hi Sam. I’ve never encountered that error before, but it is apparently somewhat common. Try this page and see if any of the solutions help you:
      http://www.magentocommerce.com/boards/viewthread/451412/

  40. Hi! Can anyone confirm if Magento is compatible with Apache 2.4.6 ??

    1. Hi, Marcelo. As far as I know, Magento is stable with Apache up to 2.4.4. I’m unsure how it runs on 2.4.6, but I’ve seen people do it. This might be a better question for the Magento forums where you’ll probably get a faster answer :-D:
      http://www.magentocommerce.com/boards

  41. I’ve installed it all succesfully, but when I log in to the backend, I cant get to the index page.

    It just stays at the login screen, and it’s not due to wrong pw. I’ve tried to use a wrong pw and I do get a wrong pw message.

    So im just stuck at the login screen.
    Only thing that changes is the url:
    from http://localhost/magento/admin into http://localhost/magento/index.php/admin/index/index/key/1b1745fa4ccec043f5572bba765b4ec6/

    what on earth am I doing wrong?

    Thanks for your excellent guide!

    1. Hi Admire, when the situation you describe occurs, I’m inclined to think it’s a cookies issue with your browser. Without having to switch browsers, try to use the localhost IP address (127.0.0.1) instead of localhost. So in your address bar, instead of:

      http://localhost/magento/admin

      use this instead…

      http://127.0.0.1/magento/admin

      If you want a more permanent solution you can modify your hosts file. Try the IP first, and see if that works for you.

  42. It sorted out my problem and made the installation a breeze.

    Thanks,
    Nishant Kumar

    1. Glad it helped you out, Nishant! πŸ˜€

  43. Mohd

    i got error

    PHP extension “curl” must be loaded.

    1. Hi Mohd, I think you may have missed the step to uncomment the curl in XAMPP in the above write-up. If you do step six, it should work.

  44. From a long time, i was trying to install magento on WAMP and XAMPP, but i never succeeded, and thats why i hated magento. After reading this tutorial i not only installed magento on XAMPP in windows 7 using a virtaul machine but i also installed it on WAMP server easily and with a few clicks.

    I have no words to thank you for this great article. And today i am very happy because of this tutorial that i saw the magento up and running on my system. I am gonna enjoy it.

    Thank you again for this article.

    1. I’m really happy this tutorial helped you, Altaf! πŸ˜€

  45. avani

    It gives below error..whats wrong..please help
    The URL “http://localhost/magento/” is invalid.
    Response from server isn’t valid.

    1. Hi avani, when it gives you that error during installation, try to check the option that says: “Skip base URL validation”. This should prevent that error from happening.

      1. Ever

        Thanks, it works ))

        1. Glad to hear it. πŸ˜€

      2. Manish

        It doesn’t work, i am using xampp .
        Please help.

        Thnaks

        1. Hi Manish, try using the IP of localhost: http://127.0.0.1/magento/

          1. Md Rashed

            I got the same problem. As your advice I used http://127.0.0.1/magento/

            and it worked. Thanks a lot.

  46. Dima

    That was great! THANK YOU!

    1. No problem, Dima. I’m glad it was helpful. πŸ˜€

  47. Dev

    Hi Khanh, in step Six u said to modify php.ini but in my xampp>>php directory there is no just php.ini file.. there are two version of it one is php.ini-development and other is php.ini-production. So bro.. now which file i have to follow….. ?????

    1. Hi Dev, in some versions of Windows, php.ini won’t show up with the .ini extension. It should be where Step Six says it will be, but in your file directory, it may be called just “php”.

      Do not modify either php.ini-development or php.ini-production as neither of those files will pertain to this situation.

  48. shashi

    hi,
    thanks for good tutorial but i struck with problem that from configuration window i can not continue because its showing Database connection error.

    1. Hi Shashi. The only things I can recommend are to make sure your database isn’t reading off of cache, to try and uninstall Magento then before reinstalling it, use magento-check.php to make sure your system is compatible.

      If all else fails, you may need to try this: http://ipicdg.com/EC/Magento_PreInstall.html

  49. Hi,

    Just wanted to say THANKS! I just installed Xmapp and Magento and it all works great. You rock!

    1. No problem, Kem. Glad I was of help! πŸ˜€

      1. Taimur

        Hey the genius out there, you seriously rock, this tutorial was really very helpful, I tried to doing the same from some other resource but failed, but this is really going through, Thanks a million mate !!! Keep up the good work πŸ™‚

        1. Good to hear, Taimur! πŸ˜€

  50. Vivek

    Thanks bro for the perfect tutorial. Installed perfectly but unable to login to the backend. I am sure about the username and password, but it shows wrong username or reloading the same page without any error. I tried in chrome, IE. No luck. Please help.

    1. Thanks for leaving a comment, Vivek. I’m not sure what’s wrong, but have you tried these suggestions:

      1) Login using http://127.0.0.1/magento/index.php/admin

      2) Go to app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
      and replace:
      session_set_cookie_params(
      $this->getCookie()->getLifetime(),
      $this->getCookie()->getPath(),
      $this->getCookie()->getDomain(),
      $this->getCookie()->isSecure(),
      $this->getCookie()->getHttponly()
      );

      with

      session_set_cookie_params(
      $this->getCookie()->getLifetime(),
      $this->getCookie()->getPath()
      //$this->getCookie()->getDomain(),
      //$this->getCookie()->isSecure(),
      //$this->getCookie()->getHttponly()
      );

      Then try to log in again.

      It could be that Magento was having trouble storing cookies. I got these solutions from this thread on Magento’s forums: http://www.magentocommerce.com/boards/viewthread/4337/P0/

      If neither of those solutions works out, I highly recommend their forum:
      http://www.magentocommerce.com/boards/viewforum/9/

  51. Em

    OMG!! Thank you sooooooo much!! Actually, I was tired to death as installing Magento in Xampp. But your tutorial has solved all problems at once! Thank you again, now it feel so great!!

    1. No problem! My painful experiences with installing Magento inspired this post and I’m really glad to see it’s helping people. πŸ˜€

  52. Nelson

    Great tutorial, thanks!!!

    1. Thanks for leaving a comment, Nelson. I’m glad this tutorial was helpful to you.

  53. Jishnu

    Hey Thanks. This Tutorial was really useful. πŸ™‚

    1. My pleasure, Jishnu.

  54. ugoxuqu

    thanks bro…

  55. ugoxuqu

    ok. i logged alright from firefox. tnx

    1. Glad it worked out in the end, ugoxuqu. Thanks for dropping by. πŸ˜€

  56. ugoxuqu

    many thanks. life is always easier & d world a better place wt straightforward instructions as urs. got it installed but didnt use ur downloader.php file. however, after successful install, i cant log into admin. i used d default admin acct username but wt d same password as d database (as i didnt want to 4get a new oassword), tho d database has a different user name.
    could this be d cause. i can access d frontend. rgads!

  57. Owais Khan

    thanks a bunch mate…very thorough and to the point…i had already downloaded the magento in zip file, and it saved me a lot of time and hassle..cant thank you enough…hope i can now accomplish what i set out for locally and have a good deliverable soon enough

    1. No problem, Owais! I’m glad this post was useful. πŸ™‚