Last updated October 3, 2012. Created by arianek on January 1, 2011.
Edited by jasondaniels455, camhoward, rreck, Kyle Skrinak. Log in to edit this page.

The following is a simplified guide to create a Drupal site in a few easy steps. You can read a more detailed version of these instructions, or check out the installation troubleshooting guide if you need some additional tips.

To follow these steps, you will need an SFTP client such as, WinSCP or FileZilla, and a web server that meets some basic requirements (e.g. a web server such as Apache, a database such as MySQL, and PHP). We'll begin with the steps for a Drupal 7 install, followed by Drupal 6 (they are very similar).

Drupal 7

Step 1: Download, Extract, and Upload

  • Download the latest version of Drupal 7.
  • You will get a file called drupal-7.x.tar.gz. Extract the compressed files.
  • Log into your server using your SFTP client and navigate to the web root directory. Upload all of the files inside your Drupal folder into the web root folder on your server.

Step 2: Create a database

  • Create a new database through your hosting provider's control panel. Make a note of the database name.
  • Create a user, add that user to the database, and grant the user full rights on the database. Make a note of the username and password.

Step 3: Make the /sites/default directory writable.

  • For example, with *nix command line chmod a+w sites/default or with a ftp or file manager right click and set to 777
  • Drupal should reset this when it's completed the installation (chmod a-w sites/default or 555)

Step 4: Run the installer

  • Browse to your new Drupal site. This will take you to the Drupal installer, which starts with: "Select an installation profile." Save and continue.
  • Choose "Standard." Save and continue.
  • Choose English or learn how to install Drupal in other languages. Save and continue.
  • Choose the type of database you created (e.g. MySQL or SQLite). Enter the name of the database you created, the username, and password. Save and continue.
  • On the site information page, you can set the site name and email from which the site will send out mail. You also set the username, email, and password of the first administrator account. Save and continue.
  • You will now be automatically logged into your new site with the administrator account and can begin to configure your site.

Drupal 6

Step 1: Download, Extract, and Upload

  • Download the latest stable version of Drupal 6.
  • You will get a file called drupal-x.x.tar.gz. Extract the compressed Drupal files.
  • Log into your server using your SFTP client and navigate to the web root directory. Upload all the files inside your Drupal folder into the web root folder on your server.

Step 2: Create a database

  • Create a new database through your hosting provider's control panel. Make a note of the database name.
  • Create a user, add that user to the database, and grant the user full rights on the database. Make a note of the username and password.

Step 3: Create the configuration file

  • In your /sites/default folder, you will find the default.settings.php file. Make a copy of this file and rename it to settings.php.
  • Change the permissions on the /sites/default folder and the settings.php file to be writable. (On a Unix/Linux command line: chmod a+w sites/default).

Step 4: Run the installer

  • Browse to your new Drupal site. This will take you to the Drupal installer. Start filling out the form.
  • When you get to the database screen, choose the type of database you created (e.g. MySQL or SQLite). Enter the name of the database you created, the username, and password. Save and continue.
  • Change the permissions on the settings.php file to remove write permissions. (On a Unix/Linux command line: chmod a-w sites/default).
  • On the site information page, you can set the site name and email from which the site will send out mail. You also set the username, email, and password of the first administrator account. Save and continue.
  • You will now be automatically logged into your new site with the administrator account and can begin to configure your site.

Also see the Lullabot video tutorial on Installing Drupal 6.

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

Comments

"To follow these steps, you will need an SFTP client such as WinSCP or FileZilla, and a web server that meets some basic requirements (e.g. a web server such as Apache, a database such as MySQL, and PHP). We'll begin with the steps for a Drupal 7 install, followed by Drupal 6 (they are very similar)."

this is confusing, because of SFTP - normal people use ftp ...

Installing D7 for the first time (official release), have installed many D6 and D5 sites.

When going through the install process and I reach the point where it tells you to change the permissions on sites/default back to non-writeable, the installer takes over again. This also happens once the install is complete, I'm in my new site, and the reports page tells me sites/default is not protected. So I go and change file permissions to 644 on sites/default, and, when I click anything else on the new site, the installer starts up again.

Running CentOS and MySQL

Normal people should be using SFTP, not FTP. And they should be using SSH, not telnet. Telnet and FTP send the password naked across the net; every sysadmin at every server it bounces thru can see it in the same packet as your username and where you're logging in. I use SSH/SFTP even at home between machines. I don't even remember how to use the older tools.

This is the age when hackers break into industrial facilities and break electromechanical devices simply thru software. When big corporations with big corporate security nevertheless get broken in and 40 million credit card numbers are stolen.

You should be using all the armor you can, just like you should be buckling your seatbelt all the time. Nobody intends to get into a car accident; yet they happen all the time. Nobody intends to get hacked, but it happens all the time. If you think there's no way to hack in, that's not good enough.

the man may be gone, but the heroic struggle to mock him continues

I'm hoping this post might help some users out there who are on a common shared hosting environment. In my example, I'm on a Linux/cPanel server that's running suPHP and get a fast flawless install by doing it this way:

1. Create a database in cPanel (making note of the db user, db name, db pass)

2. De-compress the Drupal .zip file to a folder on my computer

3. Using plain "FTP" mode in in FileZilla (NOT SFTP mode, since SFTP causes some issues on a highly secured shared host running cPanel and suPHP) I upload the files to my /public_html/ folder (or a sub-folder within public_html)

4. Do NOT touch any permission settings at all, since the server running suPHP handles all the script permissons automatically. (777 is not required / shouldn't be used on servers with suPHP... 755 works perfect, is more secure, and is automatically set by suPHP on the server).

5. Go to my Drupal URL (example.com or example.com/whatever/ ) and it runs the auto-install.

6. Enter my DB info (that I created in cPanel), fill in the forms, save and continue, and that's it! Ready to run.

Within 15 minutes I have a flawless Drupal install without using SFTP or touching any permissions at all. Very simple and quick!

I've installed several Drupal 7.8 this way this month (September 2011) and no issues with the install at all.

My server environment:
cPanel 11.30.x
PHP 5.2.x
mySQL 5.1.5x
RedHat Enterprise Linux
Apache 2.2.1x
suhosin
suPHP (as php handler)
PDO
mod_security 2

I just did the same thing with cPanel 11, and it worked perfectly. No messing around with permissions.

A newbie will not know run the installer means yoursite.com/install.php

Since updating - I am hosted by NetworkSolutions - I have been trying to turn off Maintenance Mode, but now I can't access any of the admin pages - at all. I'm totally new to Drupal and I haven't even started my site, so starting over is a possibility. Thank you.