Windows server: Installing moodle on IIS

Windows server: Installing moodle on IIS

by Nimasha Bandara -
Number of replies: 9
I need help ASAP! I'm new to moodle. Can someone give me step by step instructions on how to install moodle on Windows XP using IIs, PHP, MySQL. I've already installed & configured PHP & MySQL, both are working. I need to know how to install moodle.
Average of ratings: -
In reply to Nimasha Bandara

Re: Windows server: Installing moodle on IIS

by Dennis Flynn -
You've already installed MySQL and PHP. Make sure PHP is configured for Moodle (make sure you uncomment the necessary extensions in your php.ini file), and create a new database and database user for Moodle. Then all you need to do is make a website for Moodle, put the moodle distribution in your webiste either via CVS or download, and follow the Moodle installation/configuration instructions. If you don't want to have to specify index.php at the end of the URL, make sure you edit the website properties to accept index.php as a default page.
In reply to Nimasha Bandara

Re: Windows server: Installing moodle on IIS

by Phillip Lynch -
These are the instructions I provide for php, mssql & moodle installs running under IIS (on the same server).

PHP
  • Extract the php archive to C:\Progam Files\php
  • Rename C:\Program Files\php\php.ini-recommended to php.ini
  • Add C:\Program Files\php and C:\Program Files\php\ext to the Default Path 
  • Add Global Environment Variable PHPRC=C:\Program Files\php
  • Edit php.ini
  •  Enable (uncomment) extensions php_mysql, php_gd2, php_mbstring, php_ldap
  • Set cgi.force_redirect=0
  • Set SMTP=<smtp domain>
  • Set smpt_port=25
  • Set sendmail_From=<mail user>
  • Set date.Timezone=<Country/City>
  • Enable PHP in IIS
  •  Add and Enable php5isapi.dll as a web service extension
  •  Add php extension mapping (may do this for each web site)
  • Restart IIS

MySQL
  • Run the installer
  • Select ‘Custom’ setup type
  • Change the installation directory to C:\Program Files\MySQL\
  • Elect to Configure MySQL instance
  • Select ‘Detailed Configuration’
  • Select ‘Server Machine’
  • Select ‘Multi-Functional Database
  • Set the INNODB table space to D:/MySQL/
  • Select Online Transaction Processing
  • Enable TCP/IP networking
  • Disable Strict Mode
  • Select ‘utf8’ Default Character Set
  • Select ‘Install as a Windows Service’
  •  Select ‘Include BIN Directory in Windows Path’
  • Set root password <password>
  • Set ‘Enable root access from remote machines’
  • Disable ‘Create an Anonymous Account’
  • Edit my.ini
 
  • datadir=D:\MySQL
  • key_buffer_size=132M (64Mb per 256Mb free memory)
  • default-storage-engine=INNODB
  • innodb_buffer_pool_size=300M (30% free memory)
  • innodb_file_per_table
  • Finalise Setup
  •  Stop mySQL service
  • Copy D:\Program Files\mySQL\data\ to D:\mySQL (and sub directories)
  • Restart mySQL
Moodle
 
  • Extract Moodle archive into D:\Web
  • Create D:\Web\MoodleData
  • Ensure the IIS user has full rights to D:\Web\Moodle and D:\Web\MoodleData
  • Create a mySQL database (moodle) and account to access (muser)
    • Create Database moodle Character Set utf8 Collate utf8_unicode_ci;

    • Grant Select,Insert,Update,Delete,Create,Drop,Index,Alter,Lock Tables on moodle.* to muser@localhost Identified by ‘<password>’;
  • Create web site in IIS
    • Set Path to D:\Web\Moodle
    • Add Index.php to Default Documents
    • Enable php extension mapping (GET,HEAD,POST)
    • Enable Script execute permissions
  • Launch the web site in the browser and follow the prompts.

I also advise them to test the php and mySQL components separately (and not to proceed until the expected results are obtained), viz.

PHP
  • Create Website under IIS
  • Create Index.php containing single line <?php phpinfo(); ?>
  • Launch browser and access the web site. Confirm that the phpinfo screen is displayed and the enabled extensions are included.
MySQL
  • Launch mySQL locally (all is ok if it launches)


In reply to Phillip Lynch

y is it better to use INNODB instead of MyISAMRe: Installing moodle on IIS

by Hamid Takesh -
Why is it better to use InnoDB instead of MyISAM for moodle?
In reply to Hamid Takesh

Re: y is it better to use INNODB instead of MyISAMRe: Installing moodle on IIS

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
It is not necessarily better to use Innodb. Innodb may be slightly slower at inserts and it generally takes up more disk space. Although Innodb offers more sophisticated features than MyIsam, Moodle does not take advantage of these features.
In reply to Phillip Lynch

Re: Windows server: Installing moodle on IIS

by Sreeram C.A. -

Hi Philip,

Thanks a lot.  your step by step instruction help me to setup a production env very quickly.

Sreeram CA

In reply to Phillip Lynch

Re: Windows server: Installing moodle on IIS

by Luis de Vasconcelos -

Thanks for the post, it's been helpful...

Your message says: "These are the instructions I provide for php, mssql". I presume you meant to say: These are the instructions I provide for php, mysql"?

In reply to Phillip Lynch

Re: Windows server: Installing moodle on IIS

by Trevor Morrison -
I see this is an old thread, but I am curious: Philip, your instructions imply the use of separate C: and D: partitions. Is that "required", "optional", or "optional but highly recommended"?
In reply to Nimasha Bandara

Re: Windows server: Installing moodle on IIS

by Nimasha Bandara -
Thank you very much for the valuable support you have given me. I appreciate the quick responce and all the advice.
Average of ratings: Useful (1)