Last updated December 5, 2014. Created on April 25, 2008.
Edited by rrfegade, brahmjeet789, ifrik, kellyo. Log in to edit this page.

Select the method based on the version of Drupal that you want to install:

Drupal 7 installation script

To run the Drupal install script, point your browser to the base URL of your web site.

The base URL means the document root (directory) where you placed your Drupal files (and is defined in your web server configuration file). If you have installed Drupal on a web host this will likely be a domain name such as If you installed Drupal in a subfolder, you should point your browser to the subfolder (for example, If you installed Drupal on your desktop machine, the URL might be http://localhost/drupal.

If the installation process does not simply appear by entering the base URL of your site, add the file name install.php to the end of your site's URL (for example,

Installation process

After you run install.php, you'll be guided through several pages:

  1. Choose which profile to use for the installation (standard or minimal or your chosen distribution).

    Most people should select the "standard" option. The standard option comes with default content types already enabled, such as Article and Page, and with appropriate publishing options already set. (Of course you can later edit these default content types and their settings, or add additional ones.) The standard profile also has a useful collection of modules pre-enabled for you.

    The "minimal" option is targeted toward more experienced Drupal site creators who wish to set up their own content types with associated publishing options. The minimal profile has only three modules enabled: Block, Database logging, and Update status.

    Choose the 'name of your distribution', if you have downloaded a distribution and not a normal drupal at step one.

  2. If you want to install using a language other than the default English, click the Learn how to install Drupal in other languages link.

  3. If your installation directory is not yet configured properly, you'll be informed on this page. You can correct the settings individually and either refresh the browser screen or click 'Try again' to see whether there are any errors left.

    Reported errors can include:

    • Missing directories and/or incorrect permissions
      The installer will attempt to automatically set up a number of directories, but this may fail due to permission settings. In this case you will find the missing directories listed.
      • sites/default/files
      • sites/default/private
      • sites/default/private/files

      These directories should be set to the following permissions:

      chmod o+w sites/default/files


      chmod 777 sites/default/files
    • Missing settings.php or incorrect permissions
      If settings.php is missing or not accessible, follow the instructions in Step 3: Create the settings.php file. Note that you will need both the default.settings.php and settings.php files.
  4. Enter the database name, the username, and the password for the database that you created in Step 2: Create the database. This username and password information allows Drupal to access your database so the install script can create tables. Note that this is not the username and password for administering Drupal; these will be created in the next step.

    The Advanced options allow you to change the database host ('localhost' is usually used in this entry: wamp/bin/apache/Apache2.2.11/bin/php.ini as an example of the location on a Windows computer running WAMP). You can also change the port and the table prefix. You only need to change the port if you are using a non-standard port number. The table prefix is useful if you are installing multiple instances of Drupal tables that share the same database.

    Click Save and continue at the bottom of the page.

  5. A progress bar will appear and display notes from the installer regarding the progress of the installation. If no errors are encountered, the next page will automatically load in your browser.
  6. After the installer completes, input the information for the first user account (which will be automatically assigned full administration permissions) and provide basic web site settings.
    • In the Site name field enter the name you wish to use for the site. You can also edit it later through the administration interface.
    • In the Site e-mail address field, enter the e-mail address that will be used by Drupal when it sends out notifications such as registration information.
    • In the Site maintenance account field, enter the Username, E-mail address, and password for the main administration account.

      Note that as of Drupal 7 there is a distinction between the main administration account that you set up on this page, and the "Administrator" site administrator user role that you will see when you visit the "Roles" and "Permissions" pages in the administration interface. The account you set up in the Site maintenance account section during installation is a super-user who has overall control over every aspect of the management and configuration of the site. (For those of you familiar with the account from earlier versions of Drupal, this will be

    • In the Server settings field, select your Default country and Default time zone.
    • In the Update notifications field, leave both check boxes selected if you want your Drupal server to alert you when updates are required. Often updates relate to security issues and are important to perform. However, if you have restricted Internet connectivity (for example, if you are behind a corporate firewall) you may want to leave these settings unselected and then test them later.

    Click "Save and continue". On success you will see the Drupal installation complete screen. If there are any error messages, review and correct them now.

Secure your site

After the installation is complete, you will want to change the permissions on the settings.php file back so that it is protected:

chmod u=rw,o=r,a=r sites/default/settings.php


chmod 644 sites/default/settings.php

If you make manual changes to the settings.php file later, be sure to protect it again after making your modifications.

Important: Failing to remove write permissions to the settings.php file is a security risk.

Although the default location for the settings.php file is at sites/default/settings.php, it may be in another location if you use the multisite setup.

Drupal 8 installation script

Currently, the Drupal 8 Install steps are mostly identical to Drupal 7 above, with a couple of exceptions:

The order of the steps:

  1. Choose Language
  2. Choose Profile
  3. Verify Requirements
  4. Setup Database
  5. Install Site
  6. Configure Site

Permissions for the services.yml file:

When you've completed the installation script, you'll need to go back and change the permissions to protect the services.yml file again (just like you do with the settings.php file):

chmod u=rw,o=r,a=r sites/default/services.yml


chmod 644 sites/default/services.yml

Aside from these points and a slightly different interface, the steps and information required in the installation process are the same as the Drupal 7 instructions above.

Drupal 6 installation script

To run the install script point your browser to the base URL of your website.

The base URL is defined in your Web server configuration file and is specific to the document root where you placed your Drupal files. If you have installed Drupal on a Web server this will likely be a domain name, such as If you have installed Drupal on your local computer, this URL might be http://localhost.

You will be guided through several screens to set up the database and create tables.

Next, add the first user account and provide basic web site settings.

If you get any errors regarding the files directory and its permissions, read more information about the Files directory.

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


GreenReaper’s picture

When using PHP 5.3 to connect to "localhost", the database script will time out when attempting to make a test connection to the database as documented at PHP's mysql_connect page.

This is because the mysql native driver now used by PHP cannot properly handle two addresses being returned for localhost.

To avoid this problem, either use, or comment out or remove the IPv6 entry for "::1 localhost" in your windows\system32\drivers\etc\hosts file (leave the other "localhost" setting).

pwijsen’s picture

I received "Server Error 500" untill I commented out following lines in file '.htaccess' :

# Don't show directory listings for URLs which map to a directory.
# Options -Indexes

# Follow symbolic links in this directory.
# Options +FollowSymLinks

My provider :

grnlightdotnet’s picture

This fixed my issue as well...

uvarovo’s picture

I did check that I have both files default.settings.php and settings.php cretated via copy and still same problem... :(

uvarovo’s picture

It happened to be a problem with db connectivity. I was installing on Vista 64 Home Premium. Namely problem was with "localhost". I wrote simple php script to check how I can connect to db and got the same result: no error messages, no nothing. So i started searching and found that problem was with localhost used in mysql_connect as soon it was replaced with my script worked. So the hosts file contained line '::1 localhost'. The info i found was suggesting to comment that line out. I did so and installation script now passes the db info screen to the next one with no problem. I hope it helps...

sjobeck’s picture

Any one found the secret sauce on this one yet? I am in need as well. I tried editing the options lines & override lines in /etc/http/conf/httpd.conf as well as the conf file for the vhost as well as the .htaccess file for Drupal in the site. None seem to be quite right. I ended up renaming the .htaccess file in the Drupal site to get it to work, however I REALLY do not like this, since that exposes a lot of the Drupal guts to the wild wild wild WAN. I can not quite get the correct combinations in place for the .htaccess file un-edited to live inside the Drupal directory (the ultimate goal). This box is ours & we host a few dozen sites on it & I can do anything I need to. I prefer to maintain all these types of things inside the conf file for each separate vhost file for each site.

Any & all advice greatly appreciated.

Cheers all!



Jason Sjobeck
Sjobeck Integration Professionals

jcavell’s picture

I wouldn't say I've found the secret sauce, but I've found a solution that worked for me:

1. Place a copy of default_settings.php into your new site's directory. Make a copy of this and call it settings.php
2. Ensure the files have appropriate write permissions
3. Edit your new settings.php file so that the Database URL format is in the correct format for you - see

Then enter the database details on the install page again.


guswah’s picture

I presume that you mean the install.php file? This file appears to have 1180 lines in it, so it would be helpful to know where you entered the database details. Thanks.

bburns’s picture

If you get an error like this:

Parse error: syntax error, unexpected '{' in includes/ on line 690

it's because you're not using PHP5 (it's bombing on a 'try' statement).
You can usually fix this by adding a line like this to the .htaccess file in the Drupal folder:

AddType x-mapp-php5 .php

nidhikumaran’s picture

As pre-requisites to Drupal installation, have installed

Apache 2.2 - Found to be starting the services and displaying the localhost home page
PHP 5.3.3
MySQLServer 5.1

When I am trying to install Drupal, once I entered all the data in "Database configuration" page, it gives "HTTP 500 Internal Server Error".

Can somebody guide, as to how to refer to the error logs (if any) to find out where the issue is?

The error log of Apache give the following as last lines:


** (httpd.exe:2656): WARNING **: Error loading plugin: `E:\dev\php\ssleay32.dll': The operating system cannot run %1.

[Sun Sep 05 10:19:05 2010] [error] [client] File does not exist: E:/dev/apache/htdocs/favicon.ico


Narek’s picture

I have the same issue ,,, did you find the solution?

john faust’s picture

Configuration of site is demanding an e-mail site for registration information even though it is installed as http://localhost/drupal-7.0. I'm using MAMP as the server on my Mac OS X 10.5.8.

Cancel: It apparently likes webmaster@localhost.

sambarton’s picture

I have installed drupal on my site and as you will see when you look at the site, its just a list of the files in that directory of my hosting account. I want to know why the default drupal site doesn't come up? And why I can't make it come up by clicking on any of the .php files on page?

Please let me know.

nadinnne’s picture

Same problem. When I click on the link "your new site" i get the list of drupal files...

supervova’s picture

Have you solved the problem? Please tell us how.

generalelektrix’s picture


Simply add or edit the DirectoryIndex directive to your httpd.conf file:

<IfModule dir_module>
DirectoryIndex index.php index.html

Specifying that apache must serve index.php when a directory is requested.

marcela1158’s picture

You just give me the right answer...thank you very much

Lina Marcela

Carolyn’s picture

moved to child page.

davidmcc3’s picture

Have followed instructions to the letter.
Extracted files on hosting, so no files 'lost' in ftp transfer.
After starting install, get this error:
Fatal error: Class 'ctools_export_ui' not found in /home/wowuk/public_html/drpc/profiles/drupal_commons/modules/contrib/panels/plugins/export_ui/panels_layouts_ui.class.php on line 4

What do I do next?

khappieinstein’s picture

Hi ,
Can you please update the link under
Point 4 , Set up database which has link for Step 2 : Create the database
It should be pointing to right page :
instead of :


bgmills’s picture

I am trying to install on a 64-bit PC running Apache 2.2 (localhost) under Zend Community Server with PHP 5.3.3. The installation root is a standalone vhost. The DB is setup in MySQL and the user access privileges are confirmed. The installer launches fine. After completing the DB configuration form and hitting 'save and continue,' the installer sends the following request 'http://drup7/install.php?profile=standard&locale=en&op=start&id=1' then silently dies--the so called WSOD. No code is ever executed and no error is returned. This is not particularly useful.

Error reporting is turned on. There are no relevant errors reported in PHP or server logs. The WSOD troubleshooting document does not seem to contain any relevant information other than turning off Zend compatibility in Apache config. That does not make any sense in this environment. Do I have to hack the installer to get this to work?

FYI. Joomla and other frameworks install and run without a hitch.

Does anyone have words of wisdom to share on this topic? Thanks.


dashah’s picture


I also faced the same issue i.e Drupal 7 Installer Fails on the Install Profile step. Dont know the reason for it but what i marked is that this generally happens when i tried to install drupal using Google Chrome. When i tried to install it using Firefox it worked well. So may be its a browser issue but not sure.

Hope this can help anyone..


no longer here 1451692’s picture

Step 3 (the settings.php file) of the install guide reminds us twice to "Do not forget to change permissions back after you have run the installation script" for the settings.php file and its default folder.

On this page of the guide, in the "Secure your site" section, it writes about chmod the settings.php file. What is missing is the reminder to chmod the default folder. I recommend the text be expanded here to include a reminder for the default folder. I also recommend adding (or moving) this reminder to the "After Installation" page of the setup guide.

heatherann’s picture

In order to complete Step 4 (Set up database), I needed to go into Terminal and run the following commands:

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Since it was looking for mysql.sock in the wrong place, it was unable to find the database I had created and gave me the following error:

Failed to connect to your MySQL database server. MySQL reports the following message: No such file or directory.

- Are you sure you have the correct username and password?
- Are you sure that you have typed the correct database hostname?
- Are you sure that the database server is running?

For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.

Running those commands in Terminal fixed it.

izhig’s picture

and what did you do? you have solved the problem?
I also have this problem ....

goldcrusaider’s picture

I am installing Drupal 7 on a windows laptop using xamp. I can not finish the last step of installation I get the error "Table variable already exist" I tried dropping my data base uninstalling drupal and setting up a new data base and Drupal 3 times and no luck. I even uninstalled Xamp and started over. What do I do?

dhcadmin’s picture

I ran into the following problem installing Drupal. I didn't find a clear answer or documentation, so I thought I would leave a note for whoever makes the same mistakes I did.

If .htaccess files are disabled on your server then you will have to move the contents of the .htaccess file into the Apache config file. Exactly which file that is will vary based upon your *nix flavor. Whichever file that is, just copy and paste the whole .htaccess file contents into the directory statement for the root website where Drupal is installed.

It could be the apache2.conf file, or the httpd.conf file. I'm running Apache2 on Ubuntu with named virtual hosts. So my Apache config files are in /etc/apache2/sites-available/, and there is a separate file for each named site. Then the file looks like this (greatly simplified)


DocumentRoot /home/marketing/www

(various directives)

(various directives)
(.htaccess file contents go here)

(other directories and random apache directives are down here)

If you get this in the wrong place you are likely to get 400 - Bad Request errors when you try to open up the install.php file.


Doublehorn Communications Drupal Team
drupaladmin (at)

brandeeb’s picture

I get the errors in the photo above (sites/default/files not writeable and sites/default/settings.php not writeable) but both are set to 777. Is there a way to fix this odd occurance?

shamio’s picture

The CHMOD can be different in some servers. For example in some servers you can use 755 instead of 777 or etc that your files work true and you don't face problem and can access them. I recommend you to try installing Drupal without changing any CHMOD of your files and folders to see if it works true. For example in one of the servers i use, i didn't change CMHOD of any file or folder and the values are like this:
Sites folder is :755
default folder ( which is inside Sites folder) is: 555
settings.php is: 444
and it works true without any problem and as i said, i didn't change any permission before/after instillation. So please try installing Drupal once again without changing file permissions.
Also if your server is Linus based and it uses cPanel with Fantastico , you can install Drupal almost automated through it.

Doubt is the father of invention.... موبایل گوشی

kphillips’s picture

I keep getting the same error below no matter what database username and database host I put in the text fields for the database configuration screen. The database is created and have all the correct privileges. I have tried both with a user I created and for the root user.

Database username field is required.

In order for Drupal to work, and to continue with the installation process, you must resolve all issues reported below. For more help with configuring your database server, see the installation handbook. If you are unsure what any of this means you should probably contact your hosting provider.

Failed to connect to your database server. The server reports the following message: SQLSTATE[42000] [1044] Access denied for user ''@'localhost' to database 'drupal7'.

Is the database server running?
Does the database exist, and have you entered the correct database name?
Have you entered the correct username and password?
Have you entered the correct database hostname?

futuredigitalmedia’s picture

Hi, I have followed the steps in the guide but I cannot see anything at my web address. Yesterday I changed the nameservers to point to my hosting account (another company). Do you think perhaps it's because the change has not fully propagated on all servers? I am going to and I've tried with /install.php to no success. Thank you.
Update: my website working fine now. Thank you. Yes, you have to wait for the servers to fully propagate any changes before you can do the installation.

ajc001’s picture

I have tried :-

all of them give me a 404 error

I am running 64 bit Windows 7 and have installed:-
-Apache v2.4.4
-PHP v5.4.13
-MySql v5.6.10.1
following all the install steps on this site.

I am attempting to install drupal 7.22
I can get to http://localhost/info.php and it displays all my php info, so I believe my web server is working ok.
My apache web server is running and no errors appear in the apache log.

I was getting an error earlier in my log when attempting to get to the urls above but resolved it by adding the following to the bottom of my httpd.conf:-
AcceptFilter https none
AcceptFilter http none
EnableSendfile Off
EnableMMAP off

The error was 'Apache 2.4 => winnt_accept: Asynchronous AcceptEx failed.'
but like I say that error no longer appears in my log.

Apache is installed in c:\Apache24 and Drupal was copied to c:\Apache24\drupal.

Any ideas why I cant get the installation screen and get a 404 error instead???

Regards Anthony

ibnkhaldun’s picture

I've instaled several Drupal sites. Day before yesterday I installed a new Drupal 6.29 site and got this message just finished the proccess:

warning: include(): unable to allocate memory for pool. in /var/ ... etc/
many similar lines (at least 20)

I went to status report to see wath was happening: I found a new warning and no related info.
I work around yesterday, called for help at Drupal Colombia Group and got proper info on my problem and a good enough solution:
The problem: This warning depends on APC settings. PHP uses a temporary cache mannager to optimize it's general behavior. When APC is installed it exists a file called apc.ini where you need to set the param shm_size to a propper size. I needed to set it as 128M, most people need 64M or 96M, depending on how heavy apps running on the server are. Once changed shm_size and restarted the server my new Drupal site ran properly.
You can get a complete solution for this php related issue at PHP: Require_once(): Unable To Allocate Memory For Pool Error and Solution
Hope this comment helps

vegi’s picture

I tried to install Drupal.
All work well but instead of sein the progress bar (on point 5), I've got an empty page.

I checked the database: Drupal made 31 tables. And in the settings.php I can find the login to the MySQL.

But the installation stopped then.
What can I do?
(installation on a Debian Linux System with MySQL)

rootwork’s picture


First, you should know that the best place for that kind of question is the forums. Comments here are not often seen -- and in fact I'm not sure if you'll even see this :)

Drupal installs many more than 31 tables, so it sounds to me like the installation was aborted abnormally. The most common reason would be running out of memory. Did you get any sort of error message when things stopped?

Luckily since you're just trying to install, you can simply wipe your database and start again, which I'm guessing you've probably done by now. You might want to try increasing the PHP memory limit, since that's often the wall you hit on memory.

But if the above doesn't help you solve your problem, please head to the forums and ask your question there -- you'll get much more timely responses. For even quicker responses, take a look at Drupal IRC channels -- there are often helpful folks in there who can help you troubleshoot things. Good luck!

DCaballero’s picture

Hello, I'm from Buenos Aires, Argentina.

I'm trying to install Drupal and believe that I have all the requirements installed correctly.

After I clicked on the button "Save and continue" in the (4 - Database configuration), it return to the same screen with blank values... it never shows me the screen (5 - Installing Drupal).

Could you help me to solve the problem?

Best regards

Diego Caballero, Buenos Aires, Argentina.

joergenvig’s picture

I have installed LAMP on a Ubuntu, and have installed Drupal 7.26.
When I type the address - I get to a login-screen, with some "Welcome to MySite" typed.
But what ever I do, I just getting redirected to a white page with the text:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

How do I getting further ?


tbleess’s picture

Hi Jorgen. I was running into the same issue and finally found the post at the end of this page:

Turned out to be a problem with my .htaccess file, specifically I think I had forgotten to copy it into my root directory. Once I did this, it started working as expected.

Hope that helps.

rajivranjan09’s picture

I am trying to install Drupal v7.26 with Postgresql v9.1 on Apache v2. I am able to load install.php on my browser and everything goes fine till the database setup. I have also verified that 73 tables were created on the postgresql DB. However in the next step "Install Profile", the site throws an error -

An AJAX HTTP error occurred.
HTTP Result Code: 200 Debugging information follows.
Path: http://localhost/drupal/install.php?profile=standard&locale=en&id=1&op=do
StatusText: OK
ResponseText: Home | Drupal
@import url("http://localhost/drupal/modules/system/system.theme.css?0");
@import url("http://localhost/drupal/modules/system/system.messages.css?0");
@import url("http://localhost/drupal/modules/system/system.menus.css?0");
@import url("http://localhost/drupal/modules/system/system.base.css?0");
@import url("http://localhost/drupal/modules/comment/comment.css?0");
@import url("http://localhost/drupal/modules/field/theme/field.css?0");
@import url("http://localhost/drupal/modules/node/node.css?0");
@import url("http://localhost/drupal/modules/search/search.css?0");
@import url("http://localhost/drupal/modules/user/user.css?0");
@import url("http://localhost/drupal/modules/system/system.admin.css?0");
@import url("http://localhost/drupal/modules/system/system.maintenance.css?0");
@import url("http://localhost/drupal/themes/seven/reset.css?0");
@import url("http://localhost/drupal/themes/seven/style.css?0");
Home Installation tasks
Choose profile(done)
Choose language(done)
Verify requirements(done)
Set up database(done)
Install profile(active)
Configure siteFinished
SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "rid" violates not-null constraint

I am able to continue setting up the admin user after this step but once all steps complete and I go to my Drupal site as the admin user, this user does not seem to have access to the admin section (admin links do not appear on the top of the page). Can someone please help me with this issue?


etiennetss’s picture

Can anybody please help since I'm busy now for three days to have this fixed.

After having followed the instructions I get the following

" Page not found
The requested page "/" could not be found"

So what were my steps
1. defining the virtual hosts for APACHE in apache2.conf (via drupal.conf in sites-available)
2. defining a database for MYSQL and a user per virtual host
3. creating a first site (sitea) by means of the drupal web interface. (result okay)
4. duplicating the settings.php of sitea into the directory of siteb, and edit it to fit the MYSQL database and user for siteb
5. using the drupal web interface. It went well till the last step since I didn't get the okay message of the installation.php

When I go to the siteb I get this error-message.

alebpan’s picture

The installation not running i have this message in my page

Warning: Unterminated comment starting line 133 in /home/kafeneio/public_html/megalopolis/test/includes/ on line 133

Fatal error: Call to undefined function drupal_build_form() in /home/kafeneio/public_html/megalopolis/test/includes/ on line 130

i check the file is the same with other drupal installation, nothing wrong!

Any idea?

rootwork’s picture

Hi there,

Because comments on these pages are not monitored, you are more likely to get help with your issue by posting in the Drupal issue queue. You can create a new issue here. Be sure to select the version of Drupal you have, and under category mark it as a "support request," unless you think it is a bug in Drupal itself.

If you think the issue might be with a module, you should use the module issue queues to do the same thing.

Another option is to use IRC to request support from the community. IRC is an online chatting system, and #drupal-support is the room for these kinds of questions. You can connect to the system directly through a web browser or using an IRC client. For simple questions, IRC is your best option and you have the possibility of getting an immediate answer. For more complicated questions, this might help get you enough information to post a thorough issue in the issue queue (and thus get more helpful responses).

Please know this comment isn't meant to ignore or sideline your question, but to help you get a more timely response. Comments on these pages aren't often frequented by more experienced Drupal folks, and often go months or years without any response.

Good luck, and thanks for being a part of the Drupal community!