Installation help

 
 
Picture of Reynard Cobham
WIMP Install Failing - Plz Help
 

Windows 2003 Server; IIS6; mysql 5.0.45; php 5.2.3; Moodle 1.8.2;

The install.php loads, but never gets any further than the initial language selection screen.  After pressing Next, the page simply sits there, no errors, but no progress either.

IIS / PHP appear to be working fine, as the test page with phpinfo() works.  PHP was setup to run from D:\PHP, and the PATH variable altered to point to this.  I've checked the moodle relevent php extensions which all appear to be uncommented and available from the /ext/ folder

mySQL has had a database and user created as in the 'installing moodle guide', and no errors were encountered.

I'm assuming this is a 'rights' issue, but no idea where to start looking.  The Moodle install was copied directly to 'c:\inetpub\wwwroot'.  I'm logged on as administrator, and have been unable to find any logs which point to whats going on.

Having scoured various posts on here with similar problems and not finding any solutions I figured I'd post with more info.

ReyC

 
Average of ratings: -
Picture of Ken Wilson
Re: WIMP Install Failing - Plz Help
 
Two suggestions to try out:
  1. Are you behind a proxy server? If so, try running the install.php script when the proxy settings are turned-off in your browser. Also, check that you can manually visit the language pack download page (http://download.moodle.org/lang16/) and try to download the zip file for your language from there.
  2. Take a look at this (http://moodle.org/mod/forum/discuss.php?d=60405). There is a detailed discussion of the same problem, with a solution.
Hope this helps!
Ken
 
Average of ratings: -
Picture of Reynard Cobham
Re: WIMP Install Failing - Plz Help
 

TY for trying to help smile

The server is currently "at home" so is behind a basic Xp ICS based setup.

However I'm stuck at the very first page where you choose the language for the installer - not moodle as a whole, and as I'm attempting to use the default english language - which appears to already be part of the moodle installer, I'm guessing its not trying to download the language pack again.  I have tried the modifications in the post linked to no avail - it does exactly the same.

Has *anyone* managed to get a Windows 2003/IIS/mySQL/php install working with Moodle, and if so, are there any decent guides / directions?  There is nothing comprehensive on moodle.org

The install took about 3 hours from start to finish on my alternate Linux box, I've spent around 30 hours so far playing with the WIMP setup and am getting nowhere fast...however the Management are likely to want Windows based setup as I'm the only person with any Linux knowledge...  My sneaky aim is to prove the Linux box as more able - but in order to do this I *need* a working Windows setup... bleugh

Rey

 
Average of ratings: -
Picture of Ken Wilson
Re: WIMP Install Failing - Plz Help
 
My apologies about the confusion about which stage of the install you're stuck at. I've done many installs on W2K3 and IIS and know several others who have also. There are two options here:
Any better?
Ken
 
Average of ratings: -
Scary Roy
Re: WIMP Install Failing - Plz Help
 

I have multiple moodle websites running on multiple Windows 2000/2003, IIS, mySQL, and PHP servers.

I believe your problem is in the folder permissions. Also, I am concerned about the security of your configuration.

First, make sure "Users" have Read & Execute permissions to C:\Inetpub 

Next, give "Users" and "Network Service" (aka IIS_WPG, IWAM_ComputerName, and NT Authority) Read & Execute, and Write permissions to C:\Inetpub\WWWRoot. "Network Service" will also need Modify.

As for security, I would prefer if you installed Moodle in a folder more like:

C:\Inetpub\webs\AnyName\Moodle
And Moodle Data at: C:\Inetpub\webs\AnyName\MoodleData
Actually, I would prefer to see them on drive D:. Keep drive C: for operating system only. If a hacker does get access to your server, they know C:\Inetpub is where to go looking for your website.

Set the permissions on C:\Inetpub\webs\AnyName for "Users" to Read & Execute.

Set the permissions on C:\Inetpub\webs\AnyName\Moodle for "Users" and "Network Service" to Read & Execute, and Write. "Network Service" will also need Modify.

Set the permissions on C:\Inetpub\webs\AnyName\MoodleData to Modify for both "Network Service" and IUSR_ComputerName.

Once you have the folders configured you can edit your Default Web Site in IIS Manager and point the Home Directory to C:\Inetpub\webs\AnyName\Moodle.

 
Average of ratings: -
Picture of Reynard Cobham
Re: WIMP Install Failing - Plz Help
 

Thanks for the info smile  I'm well aware of the security risks, but am learning all this on-the-fly atm.  The details given will certainly help.  At the minute the server isnt available online and as such isnt a risk - and I'll definitely be making its as secure as possible before it goes live!

The moodledata itself is on a seperate drive.  The website however is not, so I'll definitely look into that. The folder permissions were my original culprits - however I managed to resolve these, and with the help of Ken Wilson managed to sort out some PHP issues, and got as far as creating Database creation which failed due to being unable to log in with the credentials I provided.  This will be a simple enough issue once I determine the syntax.

Many thanks for the tips and your time, tis much appreciated!

Rey

 
Average of ratings: -
Picture of Richard Enison
Re: WIMP Install Failing - Plz Help
 

RH,

The only problem I have with your security suggestion regarding the location of the Moodle data folder is that you still have it under webs. In fact, the folder name Inetpub seems to suggest that anything under it is potentially viewable on the Internet; depends on how IIS is configured, which is something I know nothing about. The point is, it is not enough to have moodledata outside the main Moodle web folder, it should be outside the main WEB folder. If this is not possible, and if the web server was Apache, the usual recommendation would be to put an .htaccess file in the folder, containing the directive "deny from all". I don't know if there is something like that for IIS, but I would expect there to be. Otherwise, its inferiority to Apache would be too obvious! (Don't tell Bill Gates. smile)

RLE

 
Average of ratings: -
Scary Roy
Re: WIMP Install Failing - Plz Help
 

Richard,

The main default web site folder under IIS is WWWRoot. The default directory structure for IIS is this:

C:\Inetpub
           \AdminScripts
           \wwwroot

The only thing accessible through IIS by default is the wwwroot folder. This is how I recommend configuring a webserver:

D:\Inetpub
           \AdminScripts
           \PHP
           \webs
                \Website1
                           \Moodle
                           \MoodleData
                \Website2
                           \Moodle
                           \MoodleData
                \Website3
           \wwwroot

In the above example I would point the header (domain name) within IIS, such as moodle.mydomain.com, to D:\inetpub\webs\website1\moodle, making it accessible to the Internet. However, the respective moodledata folder does reside outside the moodle folder and is not accessible to Internet users.

Some background incase you care; I have one IIS server hosting as many as 7 different website consisting of different domains (mydomain.com, hisdomain.com, herdomain.com, etc.) Under those domains I may have several subdomain websites, such as moodle.hisdomain.com and sandboxMoodle.hisdomain.com.

As for the .htaccess file, in Windows we just set permissions on the folder so the iusr_computername account can't access it. Neting the same results as in Apache. To access files on a Windows server you must have a user account. The iusr_computername account is a user account on a Windows server used by IIS to allow annonymus internet users access to the nessecary files.

Sorry for rambling.

 
Average of ratings: -
Picture of Richard Enison
Re: WIMP Install Failing - Plz Help
 

RH,

Thank you for your prompt and detailed response, and for clearing up the confusion about which folder is the main web-accessible one.

  1. I guess I was thrown off by the fact that the folder names Inetpub and webs are misnomers. Usually, when things on a computer system are given meaningful names, especially if they are default names that come with the system, the names tell you something about what they are.
  2. You seem to be saying that setting IIS doesn't need anything like the directives Apache uses to restrict web access to folders, because Windows lets you set folder permissions. Well, Linux and Unix have folder permissions too (they work a little differently, but are adequate for this purpose), and Apache is used in all three systems. I think the Apache directives complement the functionality provided by the operating system folder permissions facility. For example, the Moodle data folder gives read and write permissions to Apache because Moodle scripts, which run as the same user as Apache, need to be able to write to those folders, and read from them. But people using the Moodle website need to be prevented from reading or writing that folder. This can only be done with Apache directives like "deny from all", either in .htaccess or httpd.conf, or by making sure it is outside the highest web-accessible folder, as you are doing. Which raises the question, is there no IIS directive that determines which folder is the main web folder (what Apache calls Document Root), as you say wwwroot is by default?
  3. It looks like IIS is interacting with Windows differently than Apache, because with Apache, when the user at the browser requests a file, it is Apache that reads it and serves it up, so the only user's permissions that apply are Apache's; but with IIS, it is iusr_computername whose permissions are consulted. But when Moodle scripts need to write to the data folder, it is IIS's permissions that control. Have I got it right?

RLE

 
Average of ratings: -
Scary Roy
Re: WIMP Install Failing - Plz Help
 

RLE,

2 - I don't know a lot about Apache, but your discription sounds very similar to IIS. IIS actuall uses two user accounts in conjuction with the website. One is IUSR_ComputerName and the other is IWAM_ComputerName. IUSR is the internet user account, or your web browser. The permissions set on Windows files and folders for IUSER allows or prohibits browsers from being able to read, or download, the files.

If IUSR doesn't have permission at the file level to read a PICTURE.JPG from the website, your web browser can't download it to display it.

The other user account, IWAM, handles scripts. Since that is the user account IIS uses to execute a script it may need read, write, etc. permmissions at the files/folder level. So when a user uploads a file in Moodle, it is actually IWAM that is handling the writing.

As for setting where the main web folder is IIS has a very simple setting under the website properties. See the "Local Path" setting in the image below. I should note, the permissions listed below (Read, write, directory source access) do not relate to file/folder permissions. Those are share level permissions and would require far more detail than I'm willing to explain. I should point out Moodle doesn't need anything but Read checked and "Scripts Only" under Execute Permissions under the IIS settings pictured below.

Default Website

If I wanted I could easily point the Local Path to any other folder and set Windows folder permissions on it.

3- your understanding is correct, with the knowledge that IIS uses more that one user account (IUSR and IWAM) for tasks. IUSR is external, IWAM is internal.

 
Average of ratings:Useful (1)
Picture of Richard Enison
Re: WIMP Install Failing - Plz Help
 

RH,

Once again, thanks so much for taking the time for a complete response. Hopefully, these posts will be useful to many Moodlers in the future who are using IIS or considering doing so.

RLE

 
Average of ratings: -