Hi,

Drupal newbie here (have always built sites using HTML, PHP & MySQL without a framework using Dreamweaver).

My company has tasked me with developing a new Intranet and we're currently at platform decision stage. I want Drupal 7 however the Development Team Leader wants DotNetNuke.

As this is my project, I should get the deciding vote...however only as long as I can fix the following problem:

Drupal installs fine, however when I try and install any module, I always get the same error (I'm able to select a module, and the Install Progress bar get's too 100%)

"Error installing / updating
File Transfer failed, reason: /inetpub/wwwroot/drupal7/sites/all/modules is outside of the /inetpub/wwwroot/drupal7"

My current test platform is Windows XP, IIS 5.1 & PHP 5.3 however I receive the exact same problem when using Windows 7 & IIS 7.5 and also with PHP 5.2.

I've been able to use the exact same files to get Drupal up and running on my own personal Web Server which runs Unix without issue, however the company I work for is completely Microsoft Run, so I have to have this up and running on a Windows server running IIS.

I really hope someone can help as I don't want to use DotNetNuke at all!!!!

Thanks :)

Comments

WillHall’s picture

What version of Drupal are you using?

Check the tracer, there are ongoing issues with the upload manager. http://drupal.org/node/971546

The bright side... you can still use good ol fashioned FTP.

segana’s picture

Cheers WillHall.

I'm currently using Drupal 7.0

Had a look through the tracer and can't see anything related to my issue in there, so I decided to manually install a module (currently using my own machine for proof of concept purposes). However, in doing so, I think I now know what has happened...I just now need to work out why and how to fix it.

Basically, within my Drupal install folder (inetpub/wwwroot/drupal7) a localhost folder and then created a new directory within here (C:\Inetpub\wwwroot\drupal7\localhost\drupal7\sites\default\files\tmp) it then places the uploaded module in the tmp folder, then unpacks it there as well. I'm assuming that it then uses the same directory path for the next part of the process, so rather than running the rest of the upload (and module enabling) from C:\Inetpub\wwwroot\drupal7 where all the other Drupal files & folders are, it's actually trying to use the C:\Inetpub\wwwroot\drupal7\localhost\drupal7 path, which has no files.

Time to get my thinking cap on :)

segana’s picture

It's definitely an issue with installing Drupal on Windows/IIS...so I gave up and installed an Apache server on my machine.

Everything works perfectly now!!!!

I wonder why Drupal 7 doesn't like IIS?

kbisp’s picture

I was getting the same error, and was able to get it working by changing Drupal's file system configuration to use a relative path to the temp folder. Before, I was using a full Windows path (ie: C:\inetpub\wwwroot\temp).

In my case, I put my temp folder outside of the drupal installation. So, if I had C:\inetpub\wwwroot\drupal7, my temp folder was at C:\inetpub\wwwroot\temp. I set the temp folder to ../temp and this allowed me to install and update modules through Drupal without getting the error message.

It's also probably worth noting that in IIS 7, the full Windows path worked fine for me. It was only after I migrated the site to a new server using IIS 7.5 that this error came up.

puchung’s picture

I got the same issue and resolved by the following method. I hope this post will help the folks using IIS 6 and IIS 7.

Let's look at the following example:

If the target is to access the following folder (and IIS cannot find the following folder)

/inetpub/wwwroot/drupal7/sites/all/modules

Then you can check if the local IIS account, IUSR_xxx, have at least "travel" or "read" permission at "/inetpub/wwwroot/" (upper) levels.

I hope it helps. Let me know if it works or not.

Maverick Pu

***Most of issues about PHP application running on IIS 6 or 7 is NTFS permission related.***

I hope people can stop complaining the compatibility between Microsoft IIS 6 (or 7) and PHP. I have been running WIMP installation for years in production environment. I did notice that the NTFS file system security on Windows server is very secure as well if we use it correctly.

wendyschuppenasster’s picture

tried and verified replies above but doesn't seem to be the problem for me. Any more ideas in the meantime?

tomhundley’s picture

Agreed Sevenares! I have been fighting this for a day or two now. This is indeed the fix for this problem. I'm running Drupal 7x on IIS 8.5.

Thanks a BUNCH for the post- it really helped.

Thanks!
Tom

sevenares’s picture

Hi.
I found a working solution for me, if someone still needs it:
Since i was sure that all my folder permissions were correct, i traced down the error back to the "includes/filetransfer/filetransfer.inc"

In function "protected final function checkPath($path)" the folder comparison is casesensitive ! ( while the errormessage lets you think cases match )

i added

$full_path = strtolower($full_path);
$full_jail = strtolower($full_jail);

before

if ($full_jail !== $full_path) { ...

and everything worked fine

( I am running IIS8 on Windows Server 2012 and fastcgi )

cisrael’s picture

sevenares,

Just wanted to tell you that this worked. You are a genius. Had this issue for over a year and couldnt resolve it. Made the change, and it worked immediately. I hope the Drupal developers can add this to future Drupal versions.

Wahoo!!

FerCamp’s picture

Works! thanks for sharing solution.

Vamcy’s picture

May be old solution but this worked straight away. Thanks

RmrJmrGrl’s picture

Thanks for this solution! Fixed my issue on a clean install of Drupal 7 on IIS 8.5.