Last updated October 4, 2013. Created by emmajane on April 25, 2008.
Edited by craig.norris, wusel, batigolix, markewhite@me.com. 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 http://www.example.com. If you installed Drupal in a subfolder, you should point your browser to the subfolder (for example, http://example.com/subfolder). 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, http://www.example.com/install.php).

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
      OR
      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 http://www.example.com/user/1.)

    • 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
OR
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 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 http://example.com. 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 Drupal.org forums, or join #drupal-support in IRC.

Comments

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 127.0.0.1, or comment out or remove the IPv6 entry for "::1 localhost" in your windows\system32\drivers\etc\hosts file (leave the other "localhost" setting).

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 : One.com

This fixed my issue as well...

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

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 127.0.0.1 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...

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!

Thanks.

Peace.

Jason Sjobeck
Sjobeck Integration Professionals
www.sjobeck.com

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 http://drupal.org/node/172885#comment-1017698

Then enter the database details on the install page again.

Jonny

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.

If you get an error like this:

Parse error: syntax error, unexpected '{' in includes/bootstrap.inc 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

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 127.0.0.1] File does not exist: E:/dev/apache/htdocs/favicon.ico

--

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

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.

I have installed drupal on my site samuelbarton.net 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.

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

Have you solved the problem? Please tell us how.

Hi,

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

<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

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

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

Lina Marcela

moved to child page.

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?

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 :http://drupal.org/documentation/install/create-database
instead of : http://drupal.org/documentation/install/create-database4

Regards,
Puneet

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.

BGM

Hi BGM,

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..

Thanks.

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.

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.

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

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?

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)

ServerName blah.domain.com
ServerAdmin support@domain.com

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.

Cheers!

Doublehorn Communications Drupal Team
drupaladmin (at) doublehorn.com

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?

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..... Hubmesh | download converter

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?

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 mywebsite.net 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.

I have tried :-
http://localhost
http://localhost/drupal
http://localhost/drupal/install.php
http://
http:///install.php

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

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

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)

vegi:

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!

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

Diego Caballero, Buenos Aires, Argentina.

I have installed LAMP on a Ubuntu, and have installed Drupal 7.26.
When I type the address http://127.0.1.1/Drupal/index.php - 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 ?

Thanks.
Jorgen

Hi Jorgen. I was running into the same issue and finally found the post at the end of this page: https://drupal.org/node/1678582

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.
Todd

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?

_Rajiv