Definitely one of the best IIS/Moodle guides. I have Server 2016, and much of it was the same, except a few php.ini extension differences, but the majority was similar.
Thank you very much! This video really explains lots of things that are not mentioned on most of the documentations. Excellent video! Went with Moodle 3.1 + PHP + SQL
Some points to mention: Use PHP7 x64 NTS with latest WinCache (currently 2.0.0.5 sourceforge.net/projects/wincache/files/development/wincache-2.0.0.5-dev-7.0-nts-vc14-x64.exe/download) After enabling opcache in PHP and adding the wincache php extension the performance will be much better. Leave opcache enabled as a php extension, the latest wincache does not have opcache built-in. Convert Antelope to Baracuda: Run cmd, change to the moodle www directory and run this command (php needs to be in the path): php admin/cli/mysql_compressed_rows.php --fix It will output a script to run in MariaDB. Copy and paste the output from the above command into HeidiSQL Query tab and run the query. This will convert the database. Not sure if the URL rewrite is still necessary for IIS 8.5: docs.moodle.org/30/en/Internet_Information_Services#URL_rewriting
+specfj ,Cheers for that, Havent thought of trying WInCache despite it was only PHP accelerator that was developed to boost PHP, but I always thought that only one accelerator could work, and as Moodle recommends OpCache where I separately tested WinCache and OpCache and found later to be more performing, I used that. But your comment just opened up another test scenario, will do testing and update the blog accordingly.
great work i got through most other errors on my own but now I am stuck with this error while finishing the "install Config table does not contain version"
Perfect install, I have it installed and can run localhost, but how can I get other computers on my local network to access moodle's login page (I used "/moodle" ), or is there a way so that when I use I can directly access the moodle page, thanks a lot.
Hello, i followed all the instructions from this Video, but i got stuck with the error " Data directory(C:\inetpub\moodledata) cannot be created by the installer."when trying to install moodle on the Confirm Path please help where em i getting things wrong.
SOLVED!!! INTERNAL ERROR 500 PROCESS EXCEED CONFIGURED ACTIVITY TIMEOUT PHP FASTCGI PROBLEM! See this comment for solution!!! Hello guys, I have solved an error here that most of you guys have probably encountered. Its the "INTERNAL ERROR 500 Process Exceed Configured Activity Timeout" happens after clicking Continue at 52:23 That happens during the installing process between Moodle and MariaDB (Where both programs communicate) after 52:23 What I did was, I went to IIS Manager -> Click your server -> Double click "FastCGI Settings" -> Click the "C:\php\php56\php-cgi.exe" -> click Edit (at right side @ Actions Panel) Then the Edit Fast CGI Application window pops up Things to do Change the following Activity Timeout = 180 IDLE Timeout = 900 Queue Length=1000 Rapid Fails PerMinute = 10 Request Timeout = 10000
It is a great tutorial except using mariadb which is difficult find fine support. Could you tell me how can we fix unsupported_db_table_row_format issue. How we will convert Antelope to Baracuda? Thanks
+Arthur Solomon Arthur, apologies for a small delay in replying, Yes, very easy process. On windows platform, using CMD interface, go to your PHP folder path (e.g. C:\php\myphp>) and then type the command with List (L) switch php c:\inetpub\wwwroot\moodle\admin\cli\mysql_compressed_rows.php -l (where path is path to your moodle directory) Pressing Enter will show all the tables that needs fixing now run the command with Fix switch php c:\inetpub\wwwroot\yourfolder\admin\cli\mysql_compressed_rows.php -f and you're done!
Thanks for giving such a nice installation steps... I have a query that I have installed moodle using Windows package..in that apache is there. Now I want to shift for IIS can i migrate this all? I want all the database and previous moodledata in new? can I do this? If yes please guide me.
Server: Windows 2012 R2 Installed IIS, PHP, MariaDB; configured as per instructions. Created Folder: C:\inetpub\moodledata Getting following error on Second screen of the moodle installation - "Confirm Paths" Data directory (C:\inetpub\moodledata) cannot be created by the installer. Please help.
thanks for sharing , actually i did same steps and everything working smoothly but am not able to upload videos with size more than 20 MB , meanwhile i updated max / post upload size to be more than 500 MB , any suggestion ?
Fatal error: Method lang_string::__set_state() must take exactly 1 argument in C:\inetpub\wwwroot\moodle\lib\moodlelib.php on line 10692 i facing problem in final installation please guide
Hi Mr. U Asar, I have gotten past the stage of installing MariaDB and now installing Moodle 3.1.3. I encountered an error following your video tutorial at time 49.10 with a message: "Configuration completed. Moodle made an attempt to save your configuration in a file in the root of your Moodle installation. The installer script was not able to automatically create a config.php file containing your chosen settings, probably because the Moodle directory is not writeable. You can manually copy the following code into a file named config.php within the root directory of Moodle." I followed the instructions to the letter: I copied the codes from the window into a text file named config.php and saved it at C:\inetpub\wwwroot\moodle. Did I followed the instructions correctly? When I clicked on Next, it takes me to the Moodle Copyright Notice. I clicked Continue and the page displays, "The website cannot display the page - HTTP 500 Internal Server Error (on tab)" Where did I go wrong? Please help as I'm suspended in finishing my installation. Many thanks.
Great video and well explained but... I am stuck on the first page for installation and getting the error" Data directory (C:\inetpub\moodledata) cannot be created by the installer."" Any idea - I have followed all the steps to the letter.
maybe a bit late, but in c:\inetpub\moodledata, change the permissions of SYSTEM to total control, also with USER and administrator... and it should be done it.
Like someone below, I got this error : "DDL sql execution error More information about this error It is usually not possible to recover from errors triggered during installation, you may need to create a new database or use a different database prefix if you want to retry the installation. × Debug info: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE: Right at the end of installation.
You may add important thing about IIS and utf8, witch is used by moodle to upload files. Especially for installations on local languages. When users uload files, named by local symbols eg Russian. This article will help: docs.moodle.org/37/en/Internet_Information_Services#Slasharguments
I was planning on that, but it'll be using server 2022 with latest of moodle, as things changed in terms of PHP Manager now being officially supported my Microsoft, so have to do a few tests as new extensions like sodium is needed to be enabled in latest of PHP's editions. But will surely do. No matter what version you're using on both Moodle and IIS, the process remains the same, apart from enabling a few extensions in PHP.
hi i watched and followed your video, everything was fine until install i got the " Coding error detected, it must be fixed by a programmer: Invalid property requested, or the property does not has a default value. " error i searched many articles but it doesn't seem to work, i hope you can help me, thanks
Tien, this is not server error, but of moodle, try downloading package again and make sure your PHP and DB are complaint with the moodle version you're using.
Buenas tardes, gracias a tus videos pude instalar Moodle en windows server 2019. Te quiero preguntar si me puedes decir cómo hacer la configuración del correo saliente porque lo he hecho desde moodle tanto para una cuenta de gmail como para otra que tengo con un dominio y en ninguno de los casos se puede enviar el mensaje de prueba y los parámetros de configuración son los adecuados. ¿Es necesario hacer algunos ajustes en mySQL?
Hello David, sorry for getting back with delay, it's not easy to configure a mail server within Windows Server's own components, you can either use third party email server (hMail, Mail Enable) or you can as well make use of email server at your domain host (some domain hosting companies do give a few email accounts to be used as a part of service)
Meinhart, apologies or a delay. there is remote settings in server, that you can enable (comes disabled by default), you'll be using RDC (Remote Desktop connection) in your PC to access server remotely, its pretty straight forward as all you'll be needing is server IP to remotely connect. As for https, not difficult task, have you got security certificate bought already?
+Luis Torres Hi Luis, I am afraid I dont have, as i dont work with TomCat, but you'll be able to find a tutorial here th-cam.com/video/JIUAeZc4Wfs/w-d-xo.html
I followed video, but when I try to run moodle, I'm getting this error: "DDL sql execution error More information about this error It is usually not possible to recover from errors triggered during installation, you may need to create a new database or use a different database prefix if you want to retry the installation. × Debug info: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE." Any assistance?
@@Synkhan If your using mariadb 10.6, theres a bug that can be cleared up: Try adding the following line to C:\Program Files\MariaDB 10.6\data\my.ini: innodb_read_only_compressed=OFF then restart the service.
Hello, I tried your video, everything went fine upto the copyright notice and after that server check page had come, I have cleared all the error except opcache and moved further but after that a message " HTTP Error 500.0 Internal server error C:\php5\php-cgi.exe- The fast cgi process exceeds configured activity timeout." has come and the installation is not going further. Request help.
You need to create the PHP_FCGI_MAX_REQUESTS environmental variable and set it to the same value as Instance MaxRequests in the FastCGI application. The video doesn't include that!
Sorry for a delay, Windows Server itself doesn't comes with a proper mail server, for Microsoft wants you to use their Exchange server instead of mail server that comes embed with server, however you can always turn it ON using old interface of IIS, you will find the settings to turn on mail server in roles , alternatively use MailEnable (www.mailenable.com), it's a free alternative to MS Exchange
Bambuk, you have to enable PHP extension, if you have used PHPManager, then you'll be able to see that in extensions, else doing manually, find in config.php file and enable extension.
Hi, thx the ansver. I think i tried everithing, in the php.ini at extensions i enabled the curl line, and i download from curl exe from culr.haxx.se, i took it to the PATH, restarted the server etc. The only different is that i used the moodle 3.1. Could it depend on dhcp, or dns settings? Should is enable to modify the php directory for IUSR?
Bambuk, Moodle3.1 should work without any issues, just make sure you are downloading the correct version for PHP (NTS - Non Thread Safe), also are you using Apache as web server or IIS? You dont have to allow PHP directory for IUSR write permissions, but make sure you have a temp directory within that accepting IUSR as write permissions. If that still doesnt work, lemme have remote connection to your server and I will see what I can do.
It's a nice video, but these days public facing Moodle sites really should be setup over HTTPS. But this video doesn't explain how to enable HTTPS in IIS and how to configure the certificates. There's no mention of HTTPS whatsoever! So the configuration in this video doesn't set you up with a SECURE Moodle website. In addition, the video misses critical things in the IIS FastCGI setup, like telling you to create the PHP_FCGI_MAX_REQUESTS environmental variable and setting it to the same value as Instance MaxRequests in the FastCGI application.
It is unnecessary to criticize this guy. At least he is trying to help people out. If you notice any where he never addresses, then help people and address it.
hello this is a great video only when i to heidisql it is access denied for user root@localhost (using password: yes) and also database connection failed. Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'mdl_usr'@'localhost' (using password: YES) in C:\inetpub\wwwroot\moodle\lib\dml\mysqli_native_moodle_database.php on line 79
Michelle, sorry for delayed reply I rarely visit TH-cam channel, your query may have solved by now if not, have you chosen mariaDB as opposed to MySQL in database setting up moodle?
Definitely one of the best IIS/Moodle guides. I have Server 2016, and much of it was the same, except a few php.ini extension differences, but the majority was similar.
I really appreciate you...
I did your instruction in Moodle 3.5+ with PHP 7.0.1 and MariaDB 10 and every thing is ok!.
Nice job! This works perfectly using the latest versions of everything, PHP, MariaDB, Moodle etc.
Perfect install! Thanks for sharing! I actually went with Moodle 3.1 and used PHP 5.6.22, worked like a charm :)
Thank you very much! This video really explains lots of things that are not mentioned on most of the documentations. Excellent video! Went with Moodle 3.1 + PHP + SQL
Some points to mention:
Use PHP7 x64 NTS with latest WinCache (currently 2.0.0.5 sourceforge.net/projects/wincache/files/development/wincache-2.0.0.5-dev-7.0-nts-vc14-x64.exe/download)
After enabling opcache in PHP and adding the wincache php extension the performance will be much better.
Leave opcache enabled as a php extension, the latest wincache does not have opcache built-in.
Convert Antelope to Baracuda:
Run cmd, change to the moodle www directory and run this command (php needs to be in the path):
php admin/cli/mysql_compressed_rows.php --fix
It will output a script to run in MariaDB. Copy and paste the output from the above command into HeidiSQL Query tab and run the query. This will convert the database.
Not sure if the URL rewrite is still necessary for IIS 8.5:
docs.moodle.org/30/en/Internet_Information_Services#URL_rewriting
+specfj ,Cheers for that, Havent thought of trying WInCache despite it was only PHP accelerator that was developed to boost PHP, but I always thought that only one accelerator could work, and as Moodle recommends OpCache where I separately tested WinCache and OpCache and found later to be more performing, I used that. But your comment just opened up another test scenario, will do testing and update the blog accordingly.
great work i got through most other errors on my own but now I am stuck with this error while finishing the "install Config table does not contain version"
Perfect install, I have it installed and can run localhost, but how can I get other computers on my local network to access moodle's login page (I used "/moodle" ), or is there a way so that when I use I can directly access the moodle page, thanks a lot.
Hi, any chance you can do an updated video with windows 2016 server?
Thanks a lot, its a complete IIS training
Hello, i followed all the instructions from this Video, but i got stuck with the error " Data directory(C:\inetpub\moodledata) cannot be created by the installer."when trying to install moodle on the Confirm Path please help where em i getting things wrong.
SOLVED!!! INTERNAL ERROR 500 PROCESS EXCEED CONFIGURED ACTIVITY TIMEOUT PHP FASTCGI PROBLEM! See this comment for solution!!!
Hello guys, I have solved an error here that most of you guys have probably encountered.
Its the "INTERNAL ERROR 500 Process Exceed Configured Activity Timeout" happens after clicking Continue at 52:23
That happens during the installing process between Moodle and MariaDB (Where both programs communicate) after 52:23
What I did was, I went to IIS Manager -> Click your server -> Double click "FastCGI Settings" -> Click the "C:\php\php56\php-cgi.exe" -> click Edit (at right side @ Actions Panel)
Then the Edit Fast CGI Application window pops up
Things to do
Change the following
Activity Timeout = 180
IDLE Timeout = 900
Queue Length=1000
Rapid Fails PerMinute = 10
Request Timeout = 10000
It is a great tutorial except using mariadb which is difficult find fine support.
Could you tell me how can we fix unsupported_db_table_row_format issue. How we will convert Antelope to Baracuda?
Thanks
+Arthur Solomon Arthur, apologies for a small delay in replying, Yes,
very easy process. On windows platform, using CMD interface, go to your
PHP folder path (e.g. C:\php\myphp>) and then type the command with List (L) switch
php c:\inetpub\wwwroot\moodle\admin\cli\mysql_compressed_rows.php -l (where path is path to your moodle directory)
Pressing Enter will show all the tables that needs fixing
now run the command with Fix switch
php c:\inetpub\wwwroot\yourfolder\admin\cli\mysql_compressed_rows.php -f
and you're done!
how do i go back after i put the wrong dB name and i reach modular Moodle installation section????????
Thanks for giving such a nice installation steps...
I have a query that I have installed moodle using Windows package..in that apache is there.
Now I want to shift for IIS can i migrate this all?
I want all the database and previous moodledata in new?
can I do this? If yes please guide me.
Server: Windows 2012 R2
Installed IIS, PHP, MariaDB; configured as per instructions.
Created Folder: C:\inetpub\moodledata
Getting following error on Second screen of the moodle installation - "Confirm Paths"
Data directory (C:\inetpub\moodledata) cannot be created by the installer.
Please help.
thanks for sharing , actually i did same steps and everything working smoothly but am not able to upload videos with size more than 20 MB , meanwhile i updated max / post upload size to be more than 500 MB , any suggestion ?
Fatal error: Method lang_string::__set_state() must take exactly 1 argument in C:\inetpub\wwwroot\moodle\lib\moodlelib.php on line 10692
i facing problem in final installation please guide
Hi Mr. U Asar, I have gotten past the stage of installing MariaDB and now installing Moodle 3.1.3.
I encountered an error following your video tutorial at time 49.10 with a message: "Configuration completed. Moodle made an attempt to save your configuration in a file in the root of your Moodle installation. The installer script was not able to automatically create a config.php file containing your chosen settings, probably because the Moodle directory is not writeable. You can manually copy the following code into a file named config.php within the root directory of Moodle."
I followed the instructions to the letter: I copied the codes from the window into a text file named config.php and saved it at C:\inetpub\wwwroot\moodle. Did I followed the instructions correctly?
When I clicked on Next, it takes me to the Moodle Copyright Notice. I clicked Continue and the page displays, "The website cannot display the page - HTTP 500 Internal Server Error (on tab)" Where did I go wrong? Please help as I'm suspended in finishing my installation. Many thanks.
Great tutorial sir, how about mahara install in Windows Server 2012 R2, using IIS as web server, PHP and MariaDB. Is it possible? thanks
Great video and well explained but... I am stuck on the first page for installation and getting the error"
Data directory (C:\inetpub\moodledata) cannot be created by the installer."" Any idea - I have followed all the steps to the letter.
maybe a bit late, but in c:\inetpub\moodledata, change the permissions of SYSTEM to total control, also with USER and administrator... and it should be done it.
Like someone below, I got this error : "DDL sql execution error
More information about this error
It is usually not possible to recover from errors triggered during installation, you may need to create a new database or use a different database prefix if you want to retry the installation.
× Debug info: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE:
Right at the end of installation.
You may add important thing about IIS and utf8, witch is used by moodle to upload files. Especially for installations on local languages. When users uload files, named by local symbols eg Russian.
This article will help:
docs.moodle.org/37/en/Internet_Information_Services#Slasharguments
Please make another video on how to install Moodle 4.3 on Windows Server 2016
I was planning on that, but it'll be using server 2022 with latest of moodle, as things changed in terms of PHP Manager now being officially supported my Microsoft, so have to do a few tests as new extensions like sodium is needed to be enabled in latest of PHP's editions. But will surely do. No matter what version you're using on both Moodle and IIS, the process remains the same, apart from enabling a few extensions in PHP.
Worked like charm, thanks dude!
hi i watched and followed your video, everything was fine until install i got the " Coding error detected, it must be fixed by a programmer: Invalid property requested, or the property does not has a default value. " error i searched many articles but it doesn't seem to work, i hope you can help me, thanks
Tien, this is not server error, but of moodle, try downloading package again and make sure your PHP and DB are complaint with the moodle version you're using.
Saved my time :)
Would you be kind to explain, the cron setup in moodle. after the installation. everything works fine. i only need to setup cron.php.
ramesh, cron are setup using scheduled tasks - on you can find on moodle's documentation as I remember setting up cron from there
will this work on windows server 2019?
all the way from Server 2012 to 2019 - exactly same method as Microsoft hadn't done any real change in IIS until 2019
Buenas tardes, gracias a tus videos pude instalar Moodle en windows server 2019. Te quiero preguntar si me puedes decir cómo hacer la configuración del correo saliente porque lo he hecho desde moodle tanto para una cuenta de gmail como para otra que tengo con un dominio y en ninguno de los casos se puede enviar el mensaje de prueba y los parámetros de configuración son los adecuados. ¿Es necesario hacer algunos ajustes en mySQL?
Hello David, sorry for getting back with delay, it's not easy to configure a mail server within Windows Server's own components, you can either use third party email server (hMail, Mail Enable) or you can as well make use of email server at your domain host (some domain hosting companies do give a few email accounts to be used as a part of service)
Hello, thanks - works fine for me. Two Questions: how can i Access to the Server from another Computer ? and how can i configure Access with https ?
Meinhart, apologies or a delay.
there is remote settings in server, that you can enable (comes disabled by default), you'll be using RDC (Remote Desktop connection) in your PC to access server remotely, its pretty straight forward as all you'll be needing is server IP to remotely connect.
As for https, not difficult task, have you got security certificate bought already?
hello, how I can install Tomcat on Windows Server 2012 iis 8?
Do any tutorial or article you refer?
+Luis Torres Hi Luis, I am afraid I dont have, as i dont work with TomCat, but you'll be able to find a tutorial here
th-cam.com/video/JIUAeZc4Wfs/w-d-xo.html
I followed video, but when I try to run moodle, I'm getting this error:
"DDL sql execution error
More information about this error
It is usually not possible to recover from errors triggered during installation, you may need to create a new database or use a different database prefix if you want to retry the installation.
× Debug info: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE."
Any assistance?
I got the exact same error as well.
@@Synkhan If your using mariadb 10.6, theres a bug that can be cleared up:
Try adding the following line to C:\Program Files\MariaDB 10.6\data\my.ini:
innodb_read_only_compressed=OFF
then restart the service.
Hello, I tried your video, everything went fine upto the copyright notice and after that server check page had come, I have cleared all the error except opcache and moved further but after that a message " HTTP Error 500.0 Internal server error C:\php5\php-cgi.exe- The fast cgi process exceeds configured activity timeout." has come and the installation is not going further. Request help.
Anil, which version is that you're using? also have you setup your php using manual method or through phpmanager?
See my comment above. thanks
You need to create the PHP_FCGI_MAX_REQUESTS environmental variable and set it to the same value as Instance MaxRequests in the FastCGI application. The video doesn't include that!
php mail function not working, do u have any idea why it's not?
Sorry for a delay, Windows Server itself doesn't comes with a proper mail server, for Microsoft wants you to use their Exchange server instead of mail server that comes embed with server, however you can always turn it ON using old interface of IIS, you will find the settings to turn on mail server in roles , alternatively use MailEnable (www.mailenable.com), it's a free alternative to MS Exchange
Hi,
i did it step by step, but when i try install moodle,the message is: missing cURL, how can i fix it?
Bambuk, you have to enable PHP extension, if you have used PHPManager, then you'll be able to see that in extensions, else doing manually, find in config.php file and enable extension.
Hi, thx the ansver. I think i tried everithing, in the php.ini at extensions i enabled the curl line, and i download from curl exe from culr.haxx.se, i took it to the PATH, restarted the server etc. The only different is that i used the moodle 3.1. Could it depend on dhcp, or dns settings? Should is enable to modify the php directory for IUSR?
Bambuk, Moodle3.1 should work without any issues, just make sure you are downloading the correct version for PHP (NTS - Non Thread Safe), also are you using Apache as web server or IIS? You dont have to allow PHP directory for IUSR write permissions, but make sure you have a temp directory within that accepting IUSR as write permissions.
If that still doesnt work, lemme have remote connection to your server and I will see what I can do.
Thanks ... Great Tutorial
Great Tutorial!
Hello, thanks for amazing video
It's slightly old, planning to make a refresher with performance tuning and server hardening inclusive
It's a nice video, but these days public facing Moodle sites really should be setup over HTTPS. But this video doesn't explain how to enable HTTPS in IIS and how to configure the certificates. There's no mention of HTTPS whatsoever! So the configuration in this video doesn't set you up with a SECURE Moodle website. In addition, the video misses critical things in the IIS FastCGI setup, like telling you to create the PHP_FCGI_MAX_REQUESTS environmental variable and setting it to the same value as Instance MaxRequests in the FastCGI application.
It is unnecessary to criticize this guy. At least he is trying to help people out. If you notice any where he never addresses, then help people and address it.
HELLO MAN DO YOU SPEAK SPANISH? Y HAVE A QUESTIONS?
Sorry my friend, I do not. would sub titles have helped you understanding it well?
well demonstrated.
hello this is a great video only when i to heidisql it is access denied for user root@localhost (using password: yes)
and also database connection failed.
Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'mdl_usr'@'localhost' (using password: YES) in C:\inetpub\wwwroot\moodle\lib\dml\mysqli_native_moodle_database.php on line 79
Michelle, sorry for delayed reply I rarely visit TH-cam channel, your query may have solved by now if not, have you chosen mariaDB as opposed to MySQL in database setting up moodle?
Any chance you can do an updated video for a current install?