Last updated 11 April 2016. Created on 13 September 2008.
Edited by greenman, wusel, tjdrupal, EvanDonovan. Log in to edit this page.

Note: XAMPP 1.7.2 and later includes PHP 5.3. Drupal versions earlier than 6.16 will not operate correctly on PHP 5.3, so you will have to use an earlier version of XAMPP if you need to use a Drupal version earlier than 6.16.

Slide presentation on Drupal install with XAMPP.

Install & Setup XAMPP

1. Download the latest version of XAMPP and install it on your C:\ (or main) drive. Follow the instructions at Apachefriends to install.

It works better when you install directly to C:\, rather than the Program Files directory.

For XAMPP to function properly, make sure you have Skype turned off, or alternatively in Skype go to Tools > Options > Advanced > Connections > Uncheck "Use port 80 and 443 as alternatives for incoming connections".

2. Start Apache (Web server) and MariaDB (database server) services from the XAMPP control panel.

3. (Optional, for added security) Decide on a password for the MariaDB root user that you will remember.

Browse to http://localhost/security/xamppsecurity.php and enter the MariaDB username and password you have chosen. Stop and restart MariaDB in the XAMPP control panel (takes ten seconds).

Download & Install Drupal

1. Download the latest recommended version of Drupal. Save the download in C:\xampp\htdocs.

2. When you unzip the download of Drupal, it will probably create a directory called "drupal-6.17" (or whatever the latest version of Drupal is). Possibly rename this directory to "drupal", so you can access your local Drupal install at http://localhost/drupal.

3. In a web browser, go to http://localhost/phpmyadmin. If you set a password, log in with "root" and the password you chose.

Click on the Privileges tab to create a new database user for Drupal. Choose the name "drupal", select "localhost" for host, and enter your password (twice). Choose the option to create a new database with the same name and grant all privileges (check all).

4. Copy & paste the file "default.settings.php" in "c:\xampp\htdocs\drupal\sites\default", under the drupal directory, and name it "settings.php".

You should now have two identical files in your "c:\xampp\htdocs\drupal\sites\default" folder -- one called "settings.php" and one called "default.settings.php".

5. Browse to http://localhost/drupal/install.php and follow the instructions it gives. For the database information, use what you set up in step 3. See Getting started Run-script for more details.

Looking for support? Visit the forums, or join #drupal-support in IRC.


dkimbell13’s picture

Just a note, that I picked up with some searching elsewhere....

When Installing Drupal on Vista with Xampp, if there is some extreme lag in page loading time and/or you get errors saying your Drupal Installation can access other http:// resources, then you will need to go to your hosts file located at


and edit it.

Place a # before the line that says

::1 localhost
so that it looks something like

#::1 localhost

This will comment it out this entry and possibly get rid of these errors.

frank0987’s picture

If you want, you can also just delete that line. And also, it happens in XP too.

safwan’s picture

No need to do this in Windows 7 as it is already commented out.

yanis’s picture

XAMPP Access forbidden on Security Page
How to get access to the XAMPP Security Page

1. Navigate to your xampp\apache\conf\extra folder
2. Using a text editor, open httpd-xampp.conf
3. Find the following line:

Allow from localhost

4. Change the line to:

Allow from

5. Save the file and restart your XAMPP server
6. Try to access http://localhost/security/lang.php?en

You should now have no problems accessing the XAMPP Security Page via localhost or

sjmills93’s picture

Thank you for these posts. By using both these methods plus the following I managed to get Xampp and Drupal up and running under Windows Vista.

In following the directions on this page, you have to Stop/Start MySql - which my Xampp control panel could not do. Kept getting error message for attempt to stop MySql and not have to stop it. Consequently, moving onto the next steps was impossible.

Eventually found further instruction on different area of this website, whereby Vista users need to run as an Administrator and manually stop and start MySql in order for changes to be read.


rigidkitchen’s picture

XAMPP 1.7.1 with Drupal 6.14

I kept getting mysql errors upon completion of these directions. To anyone else having problems - make a copy of default-settings.php (renamed to settings.php) but do not edit it. This will allow you to configure the database settings through the web editor and avoids mysql errors.

Hope this helps someone else

lilbird’s picture

Thank you for adding this point. I was getting the error message for mysql as you said. This fix made the difference. I am running XP so I hope this will help some others.

I would suggest that above section #5 have a note added to it to reflect the potential for the listed error. This will eliminate some anxious moments for newbies like me. I knew to look down here for potential issues but a lot of newbies won't know this. This will add to the user friendliness of this tutorial!

Thanks again!

sjmills93’s picture

I have followed all of these directions and more and still cannot browser to any of the URLs listed. I had a hell of a time getting Apache to work and although I finally - after about 8 hours - manage to get it working, today I'm back to ground zero with Apache "started" but not displaying "running". I've searched high and low for answers. I've manually used the apache_start.bat and checked the error logs but right now nothing is registering in the error log itself.

Any suggestions?

I'm running Vista.

hummer’s picture

At one point I had everything running, but accidentally shutdown a password input screen before completing. Then I could not log in at all--it was an endless loop of incorrect passwords. I have meticulously uninstalled and reinstalled xampp and drupal (multiple times) and am now having the same problem you describe. Apache "started" but not displaying "running." I, too, am running Vista.

joecrunk’s picture

I book marked this page.It was more helpful then the hour I have spent reading through the install guides.
I am so new to Drupal I could have started this post in a Biblical fashion "In the beginning..."
I already had a server running with another CMS and wanted to experiment with Drupal as well. I didn't know which file to modify to get permission. The install is a bit different then my Word Press install.I look forward to contributing to the conversation now that I have been let in on the discussion.
Thank You

wb54321’s picture

Just an FYI: when I backed up my drupal install and tried to update my XAMPP version (I had let my XAMPP install get way out of date), I found that Vista (or my godaddy/filezilla) likes to set the file permissions to "read only". Just right-click on the main folder where you store your drupal files for XAMPP: the read-only box will not be checked but is filled in blue. Click on the box to clear it, click 'apply', and check the box for "apply to all subfolders, etc", then OK.

animare’s picture

After Installing exactly as described I get this in my status report.

'HTTP request status Fails'

as well as

'Cron maintenance tasks Never run'

Any advice would be greatly appreciated!

DerekVS’s picture

For my Win7x64 XAMPP installation, I just had to uncomment (remove '#') this line in the hosts file (in C:\Windows\System32\drivers\etc): localhost

* You'll need to launch your editor with [Run as administrator] (Shift + Right-click) to be able to save changes.

I no longer get the "HTTP request status fails" message. Unfortunately, I can't help on the Cron issue, since I didn't have that problem.

pastèque’s picture

Hello,i am Newbe with drupal
Everythings seems to be right OK during the 7 first steps of this installation.
Comes the 8 :
Objet non trouvé!
L'URL requise n'a pu etre trouvée sur ce serveur. Si vous avez tapé l'URL à la main, veuillez vérifier l'orthographe et réessayer.
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
Error 404
12/05/2010 13:55:18
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

I am disapointed,of course!

Here it is mains parameters in use on my pc:
OS: windows 7
XAMPP on root -----------> drupal in :$/xampp/htdocs/
Any advices,idees,help are welcome.

irabbit’s picture

i got the same kind of issue, please help me out.

JacobBushnell’s picture

Hello, I just transfered a working copy of drupal from our production shared server space to my localhost using this tutorial. Everything went fine and it runs the site just fine but always treats me as if I am not authenticated. If I try to login it just goes back to the same screen I was on....?

I have tried clearing the browser cache... any other ideas out there?

Anonymous’s picture

I am having trouble with my install. I am getting this warning and could use help figuing out what I need to do.

user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY fit DESC LIMIT 0, 1' at line 1 query: SELECT * FROM menu_router WHERE path IN () ORDER BY fit DESC LIMIT 0, 1 in C:\xampp\htdocs\drupal\includes\ on line 315.


DrupalBeginner’s picture

Marc Vangend suggested cross-reference between these three Drupal

documentation nodes (below). All three address How to Install Drupal and

XAMPP on a Home Windows Machine.

I wrote the first node for the absolute non-tech person. Like so many

bloggers out there, I wanted a Website readers can interact with and is easy to

maintain and "do it yourself." Drupal is perfect for that. However, for the non-tech person without access to a programmer, Drupal can be hard to install and set up.

The next two nodes (not mine) are great for more tech orientated users.

Please take a look at all three and see which one works best for you.

az7373’s picture

every time i install xampp, when it comes to configuring drupal, i try http://localhost but only the xampp page is displayed and drupal screen never shows.

femrich’s picture

You need to go to http://localhost/drupal/ (or whatever it was you called your drupal install. Use the name of your drupal folder under xampp/htdocs/)

femrich’s picture

Also, be sure you have started the relevant processes in XAMPP (Apache, MySQL) before trying to setup drupal...

Sky Festo’s picture

Same here but am using Drupal 7.14

femrich’s picture

Having previously used XAMPP/Drupal successfully on my windows computer, I've now installed xampp/Drupal on a flash drive in order to be able to carry it around as a demo or work with it on other computers. However, I find the page load time for the flash setup to be painfully, painfully slow, so I would like to be able to keep a running install on my computer, but transfer the setup to my flash for demo or transfer to another computer.

It seems to me that it is impossible (or difficult) to run xampp simultaneously on C: and on a separate flash install. So how can I transfer files, databases, etc from the flash install to the c: install and back? Is it enough just to copy XAMPP and all underlying folders and files to c:?

femrich’s picture

Answering my own question here:

I copied all the files from the xampp folder on my flash to c:/. Then started Xampp and ran the setup again, changing the setup so it uses drive letters rather than relative paths. Somehow I can't get the apache running indicator to stay lit in the xampp control panel now, but all processes are running and it seems as if the site I had on my flash is intact.

Unless anyone notices something wrong with this, I guess it's working okay...

digitalMage’s picture

I'm having an issue running the installation script. I'm installing drupal on Xampp for Windows and everything works fine until I get to the Install profile step. At this stage, the page just says Initializing 0%. I don't know if there was a pre-installation step that I missed or if I'm doing something wrong.

Can someone help me? I really wanna get this up and running so I can start working lol. Any help would be much appreciated.

Thanks in advance.

edotd’s picture

Thanks for this. Very detailed and everything worked like a charm. MySQL wasn't showing up at first because I had SQL Server 5.5 installed, uninstalled it and everything worked.

dmon000’s picture

I wanted to pass this on:
I was reading this post hoping to get some insight in making my Windows 7 based Drupal 7 install work faster with XAMMP 1.7.4 and I came across the topic of un-commenting this line in the hosts file:
# localhost

Also previously read that it does not make a difference in Windows 7 but I did so anyway.
That little tweak has made working in Drupal very noticeably faster. Where I was waiting for a full count of 4 to save edits, it now happens in less than 2.

Hope this helps some frustrated soul!

sdowney2002’s picture

It's worth noting that XAMPP will not work with 64-bit versions of Windows 7.

MarkRennes’s picture

What you say is not necessarily true. Look carefully at the thread

I'm using xampp on Windows 7 64-bit, and xampp works well for me (so far!).

unleash’s picture

does anybody can assist with a xampp build - that is a installed version that can be portet over to a server.

love to hear from you

ul just send me a pm

sdowney2002’s picture

I stand corrected.

unleash’s picture

hello s downey good day what do you wanna say - whatdo you mean - just lemme know

greetings unleash

ps- well you are great - you give great hints. i wanna do the same. but just lemme know which lines of the settings do i have to adjust - or edit!?

love to herar frooom you - greetings

Sky Festo’s picture

I am Using Drupal 7.14 but the localhost webpage keeps returning ''Object not found!"", ''Error 404'' yet my Apache is running (Apache 1.1.7)....i have tried restarting the computer and also refreshing the web browser and also closing and opening it, but there is still no difference, am beginning to think this is all messed up. Even with the installation step 4. Copy & paste the file "default.settings.php" in "c:\xampp\htdocs\drupal\sites\default", under the drupal directory, and name it "settings.php".

You should now have two identical files in your "c:\xampp\htdocs\drupal\sites\default" folder -- one called "settings.php" and one called "default.settings.php". Am beginning to get frustruated, please anyone in this forum if u could be atleast more precise....Thank You.

unleash’s picture

hello folks - this is the thread of the year - sure thing!!

i want to make running version 8

i took it from here

Last packaged version: 8.x-dev
Last updated: May 6, 2012 - 00:17
View usage statistics for this release
Development snapshot from branch: 8.x

untarred it ( that is unizipped it) then it looked like the following

martin@linux-wyee:~/server/drupal/dev_8x_dev/dev_version_2012_05_7/version_8_x/drupal-8.x-dev> ls-l
insgesamt 52
drwxr-xr-x 10 martin users  4096  5. Mai 19:01 core
-rw-r--r--  1 martin users   999  5. Mai 19:01 example.gitignore
-rw-r--r--  1 martin users   564  5. Mai 19:01 index.php
-rw-rw-r--  1 martin users 18092 17. Sep 2011  LICENSE.txt
drwxr-xr-x  5 martin users  4096  5. Mai 19:01 profiles
-rw-r--r--  1 martin users  3464  5. Mai 19:01 README.txt
-rw-r--r--  1 martin users  1292  5. Mai 19:01 robots.txt
drwxr-xr-x  4 martin users  4096  5. Mai 19:01 sites
-rw-r--r--  1 martin users  3926  5. Mai 19:01 web.config

what make me wondering was that i have gotten a core with all imprtant things in it - but without the folder

well this was somewhat funny and curious - so i decided to re-engineer it and finally i got the following:
but - t his does not work too.

Does any body have a working version 8.x Can you put it somewhere on Github or some place were i can download it or
can you send it to me!?

martin@linux-wyee:/srv/www/htdocs/d8> ls -l
insgesamt 232
-rw-r--r-- 1 martin users 6159 5. Mai 19:01 authorize.php
-rw-r--r-- 1 martin users 51732 5. Mai 19:01 CHANGELOG.txt
-rw-r--r-- 1 martin users 1052 5. Mai 19:01 COPYRIGHT.txt
-rw-r--r-- 1 martin users 783 5. Mai 19:01 cron.php
-rw-r--r-- 1 martin users 999 5. Mai 19:01 example.gitignore
drwxr-xr-x 2 martin users 4096 5. Mai 19:01 includes
-rw-r--r-- 1 martin users 564 5. Mai 19:01 index.php
-rw-r--r-- 1 martin users 1451 5. Mai 19:01 INSTALL.mysql.txt
-rw-r--r-- 1 martin users 1874 5. Mai 19:01 INSTALL.pgsql.txt
-rw-r--r-- 1 martin users 1163 5. Mai 19:01 install.php
-rw-r--r-- 1 martin users 1300 5. Mai 19:01 INSTALL.sqlite.txt
-rw-r--r-- 1 martin users 17866 5. Mai 19:01 INSTALL.txt
drwxr-xr-x 3 martin users 4096 5. Mai 19:01 lib
-rw-r--r-- 1 martin users 18002 5. Mai 19:01 LICENSE.txt
-rw-r--r-- 1 martin users 8988 5. Mai 19:01 MAINTAINERS.txt
drwxr-xr-x 4 martin users 4096 5. Mai 19:01 misc
drwxr-xr-x 42 martin users 4096 5. Mai 19:01 modules
drwxr-xr-x 5 martin users 4096 5. Mai 19:01 profiles
-rw-r--r-- 1 martin users 3464 5. Mai 19:01 README.txt
-rw-r--r-- 1 martin users 1292 5. Mai 19:01 robots.txt
drwxr-xr-x 2 martin users 4096 5. Mai 19:01 scripts
drwxr-xr-x 4 martin users 4096 5. Mai 19:01 sites
drwxr-xr-x 2 martin users 4096 5. Mai 19:01 tests
drwxr-xr-x 6 martin users 4096 5. Mai 19:01 themes
-rw-r--r-- 1 martin users 20405 5. Mai 19:01 update.php
-rw-r--r-- 1 martin users 9648 5. Mai 19:01 UPGRADE.txt
drwxr-xr-x 3 martin users 4096 5. Mai 19:01 vendor
-rw-r--r-- 1 martin users 3926 5. Mai 19:01 web.config
-rw-r--r-- 1 martin users 490 5. Mai 19:01 xmlrpc.php

well what makes the cause - why does it not install!? IO have no glue at the moment!

love to hear from you



btw: i took it from here

Last packaged version: 8.x-dev
Last updated: May 6, 2012 - 00:17
View usage statistics for this release
Development snapshot from branch: 8.x
vigneshbabu’s picture


Thank you for providing this wonderful and simple guideline. I think it will be handy to add this information about characterset part when a person creates a database.

UTF 8 character set has multiple versions and it is a bit trickier to identify which will suite each project

for instance in MYSQL UTF8_bin or UTF_genereal_ci

Is there any character set used in most cases ?

Thanks in advance


TheLetterJ’s picture

This is just awesome.

BrendanPrice’s picture

Actually, whether or not that line appears or not depends on whether you have IPv6 turned on in your network settings. Which doesn't depend on the version of Windows you have, it depends on what network settings were loaded up when you set up your computer. If you do have IPv6 then you are better off leaving the line in, if not then you will get better results if you comment it out.

mk1129’s picture

Thank you very much! Finally found a post works for me.
Just two things to highlight in my experience:
1. It'd nice to have an example like this: http://localhost:8010/drupal, the port is important.
2. During Verify requirements, a warning prompted: PHP OPcode highly recommended, no idea what to do, so I ignored it and Continue anyway.