Last updated June 2, 2012. Created by LeeHunter on October 14, 2005.
Edited by @sufian, jhodgdon, jredding, silverwing. Log in to edit this page.

A lot of new Drupal users run into issues getting Drupal to work properly on their webhost. These problems are not Drupal problems as such, they are usually the way the webserver is configured. Complex and functional web applications like Drupal will naturally require a lot more from a web server than just hosting a static HTML site would.

Note: There are webhosts that offer Drupal specific hosting for those without the time or inclination to do it themselves. A few stand out by also supporting the Drupal community. If you need a host, consider selecting one of our reviewed web hosts.

Unfortunately there is usually a knowledge gap between the Drupal installation documents and the exact environment a new user is confronted with when attempting to install and configure Drupal. For more experienced users that have a little Unix and Apache (a typical webhost setup) knowledge under their belts, bridging the gap between their webhosting environment and the general purpose Drupal installation guide is no problem. Things are more confusing for less experienced users though. The following info is intended to help newbies come to grips with the documentation and their webhosts environment.

There are a wide range of web site configuration tools (eg CPanel, Plesk, webmin etc) and near infinite number of ways a webhost could configure a webserver. What this means is that a lot of the general Drupal docs you read will have to use the lowest common denominator (ie Unix shell commands) to describe configuration steps.

Less experienced users will not fully understand what these commands do or why they should do them, and definitely won't know when to deviate from them. To make matters worse most webhosts don't even offer shell access, so the instructions need to be 'translated' to whatever control panel they offer.

The following topics will hopefully provide just enough insight into Apache and Unix that new users will be able to better understand the installation documentation and 'tune' their sites for running Drupal without too much pain. As a new user you might also gain an understanding of why most of the docs are written the way they are.

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

Comments

I get this error when doing fresh install:
"The directory sites/default/files does not exist. An automated attempt to create this directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually, or ensure that the installer has the permissions to create it automatically. For more information, please see INSTALL.txt or the on-line handbook."

Two things:
1 - sites/default/files DOES exist.
2 - Why does the error message only say that the permissions have to be modified, but doesn't say what those permissions should be in the same go (666, 665,...) ? So typically Drupal...

o, and still: 3 - where on THIS page is the explanation or the link to "sites/default/files permission settings"?

Install.txt says: "chmod o+w sites/default", what's that in fileZillian?

I started with Drupal in 2007 and then my life got stuck...

I don't understand why there is not a clear list to the numerous basic issues that only would need their own OFFICIAL checklist. It feels all so tremendously "insider" focussed...
The only thing I found on this issue is (very long thread and only filled with doubts by the way):
http://drupal.org/node/244924#comment-2689024

This is NOT an official setting but just an interpretation of someone who too has doubts "As I read (and re-read) the instructions ...." "... I think this is what they mean". However, since I am sure he'll understand better than I, I'll give it a bet. And at least he writes it out in a very complete and plain ready to use way.

For the "files" directory inside Drupal's "sites" directory:
Path: /sites/files or /sites/default/files
Symbolic notation: rwxrwxr-x
Octal numbers: 775
Which means:
Owner: read, write, execute
Group: read, write, execute
Others: read, execute

Now I only hope this is correct and will not give us the problems that had us stuck for over 6 months on an official Drupal server who kind of just kicked us away, because "we had our site set in such a clumsy way" instead of helping us out. Later it turned out to be a major error in don't remember what core module that caused memory overload.

I started with Drupal in 2007 and then my life got stuck...

Those settings worked :)

I started with Drupal in 2007 and then my life got stuck...

Hosting a website can be a lot of work, especially as the site becomes more and more advanced. I run a small website just for fun and tried adding in Drupal-based widgets but had similar issues. I'm going to try the following advice by Jim: "If these are malfunctioning, ask your host if they're using Mod_Security, and if so, please disable it for your domains." I know my host is using Mod_Security so this may prove helpful. I could only imagine how advanced one's knowledge must be to create, run, and maintain complex websites, especially ones that offer services such as Paycor Louisville for example. I hope the new setting you tried continue to work for you.

Thanks! I took the path name literally and couldn't understand why it didn't work when I created /sites/default/files and gave it the right permissions.

i have mac ppc 10.5.8, mamp pro 1.9.6.1. installing drupal 7.

kept getting same as you - sites/default/files DOES exist - did change to chmod 777 - reinstall and get the same.

deleted drupal 7 and downloaded drupal 5.9 and completed install first time with no error messages on the install EDIT- now i'm getting "The following error must be resolved before you can continue the installation process:" "The Drupal installer requires write permissions to ./sites/default/settings.php during the installation process." i can't delete this post so i just quickly updated it.

--------------------------
The virtual host was set up successfully.

If you can see this page, your new virtual host was set up successfully. Now, web contents can be added and this placeholder page1 should be replaced or deleted.

Server name: localhost
Document-Root: /Applications/MAMP/htdocs

1 Files: index.php and MAMP-PRO-Logo.gif

This page in: Deutsch
---------------------------

I just wanted to let people know about my experience with installing Drupal on a Rackspace Cloud Site.

I was receving the same error as mentioned above. I was able to resolve this issue by NOT changing the permissions in the first place. Leaving the default permissions seemed to work fine in my instance.

I've installed Drupal many times, but I've never come across this problem. I know that when you are running the install, you need to chmod the /sites/default/files and sites/default/settings.php so that apache can write to it. I usually just change it to 777, then when the install is complete, change it back to 775. But right now, this permissions error is coming up.

{[(Web server Apache/2.2.15 (CentOS)

-Error
File system
The directory sites/default/files is not writable. An automated attempt to create this directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually or ensure that the installer has the permissions to create it automatically. For more information, see INSTALL.txt or the online handbook.

Settings file The ./sites/default/settings.php file exists.

-Error
Settings file The settings file is not writable.
The Drupal installer requires write permissions to ./sites/default/settings.php during the installation process. If you are unsure how to grant file permissions, consult the online handbook.)]}

Now I'm not sure what's wrong with the installation. I've gone so far as to chmod 777 all of the directories up to my /home . I haven't a clue. Has anyone else had this problem, and if so, how did you fix it.

I also encountered this problem when installed Drupal. This instruction came to my rescue and helped me
this link help you :). The problem was in SELinux.

I'm not root or a sudo-er. I'm actually in an IT class that we've all been given 2 databases to do whatever we please, just to learn. The mediawiki I set up worked brilliantly. But I really want a drupal site too. And it's just not working. I cannot do anything in the /var/www/html because I don't have that kind of access. I do it all in the public_html directory. Any other ideas?
Thanks!

right click drupal directory, choose Properties. on the Permissions tab, change SElinux content from User_data to httpd_user_content_t, click Apply Permissions to Enclosed Files. if httpd_user_content doesn't exist you'll have to ask someone with root access to solve the problem.

ps: did someone notice that php 5.3.10 for fedora 16 came with dom disabled?

In Ubuntu 12.04 with xampp you should have your Drupal file in htdocs.
Open your home file and in the left menu select File System > opt > lampp > htdocs. In htdocs go to (filename of your Drupal folder) > sites > default and if there is not a files folder then create a folder called "files" without the quotes . Next copy default.settings.php and paste it in the same folder and rename it "settings.php" without the quotes.
Next right click the files folder you just made and select properties. Select the permissions tab and change all three folder access settings to "Create and delete files". tick the Execute box. and close the properties. Remember what you changed them from because you will be prompted to change them back later.
Right click the settings .php file and select properties. Select the permissions tab and make sure everything has "Read and write" then tick the Execute box. Close permissions. You should be able to complete the install now.

Kurrent

Some hosts use an Apache Mod_Security filter to remove threats. Versions of this filter prevent calls to the javascript file; jquery.cookie.js , which is used by Drupal 7 for drag and drop in lists, and in menus. So, if these are malfunctioning, ask your host if they're using Mod_Security, and if so, please disable it for your domains.

If they won't, you can fix the problem by going to "performance" and select the option "aggregate javascript files"

I´ve started with Drupal a long time ago. I always put 777 each time it asked me for permissions.
Now I´ve got a new Drupal 7 site to install, and thought that maybe 777 wasn´t the safest way. But since 755 didn´t worked for me, I always went for the 777 chmod instead. Up until now.
I´ve tried to stop and actually carefully read all the information that´s in the installation wizard.

After changing the settings file accordingly, I´ve read this:
"The Drupal installer requires write permissions to ./sites/default/settings.php during the installation process. If you are unsure how to grant file permissions, consult the online handbook." And there´s a link to this page.

Naturally, when you click that link you expect something like "Here´s how you do grant permissions to files and folders..."

But instead, the link points you to a page with webhosting issues, and the first thing it tells you is that you can use specific drupal hostings...
So for newbies, the first thing that you think "is there a problem with my webhost"?
Well, no. The only thing is that you should change the chmod configuration.

Why the page won´t tell you this? I´ve read the whole thing and it won´t clearly tell you how to configure the chmod. And I´m not the only person that tells you this, there are more comments wondering exactly the same. And those comments are quite older that mine.

In fact, I´m still wondering which number combination should be the safest one that works, because 777 isn´t safe, and 755 won´t work (at least in my case).

I´m a big fan of Drupal and specially the Drupal team, please, don´t take this badly, it´s just a personal feeling after reading this particular page of the documentation.

Thanks,
Rosamunda

Rosamunda
Buenos Aires | Argentina

For Windows that are using IIS, the solution is described in http://drupal.org/node/202491
and this solves both the problem of:

  • The directory sites/default/files does not exist
  • The Drupal installer requires write permissions to ./sites/default/settings.php during the installation process.

You jsut need to apply the same procedure on both the files directory and the settings.php file.
No need to restart IIS for this.

I happened to have the same exact issue with one of my web sites. First of all putting 777 for all permissions is a big no no especially with IIS its sort of like you're begging to get hacked. You can set the permissions just for one file for example sites/default/settings.php and you can change back the permissions for that file later on once youre done programming the site so youre sure ypoure site is safe and sound. I had one site percisionbits.com that actually forgot to change back the permissions and before we knew it the entire site was messed up and don't forget you're talking about a brand new site here, so dont forget to change back the permissions.

I've read through this thread and like so many others before me I'm getting the files not existing nag when the files do in fact exist, I've changed the permissions as suggested and like everyone else it doesn't seem to help. I'm hosting the site in question on a Linux Server and have no intention of going back to a Windows server with this particular site so saying that Drupal 7.0 isn't compatible with Linux is not a solution in my mind anyways. I thought Drupal was supposed to be be open source and not proprietary, that is why I opted to build my blog with it, not I feel like I'm being pressured in leasing a proprietary server in order for my site to function properly, and possibly having to hire the services of one of it's developers to configure my newly leased server for me? is that the underlying game plan with Drupal? If that is the case then the folks behind the Drupal programing need to cut to the chase and spit that out in black and white so that all of us who are investing our time and energy in a program that was introduced to me anyway as open source will know that it is or that it is not and so we can continue to try and work with it or so we can convert over to word press or one of the many other open source programs at our disposal. I can understand leasing server space and services from the creators of Drupal if you are wet behind the ears with no hosting experiences or resources of your own, but not for someone who has a good many years of hosting and coding experience behind them. I await direction from someone on this matter.

Links to "reviewed providers" and those "supporting the community" list no shared hosting providers. Are there none that support Drupal? If not, perhaps the link should open to one of the other tabs (Enterprised & managed and Platform as a service).

-=Ed.
Tech writer and content evangelist
www.edmarsh.com

Hello,

I installed drupal succesfull. I had to change te permissions from:

files map
settings.php

to 777

I know i have to change this back to something else to make my site/server safe for hackers...

But do not know to wich combination...

My geuss is 775 (translation: full access for the owner{drupal}, everyone else has read and execute access)

Can somebody confirm this and learn me something more?

Thanks for reading and your advice :-)
Kosmoseistis