Categories
Azure LMS Microsoft Moodle Uncategorized

Microsoft Azure Web Application Firewall (WAF) blocks some Moodle calls

Moodle 3.9.11+ was recently installed in Azure Cloud. The installation was not an easy ride because Moodle was not prepared to install the application behind an SSL proxy. You may find the solution for this here: Installing Moodle using SSL Proxy.
I started to use Moodle then I realize that I cannot add an activity or resource. And this is something that without this feature Moodle is useless. So first of all, I checked the Javascript console on the client-side and I’d found that some of the Javascript could not be loaded because the response was 403 Forbidden.
The error message was:
Failed to load resource: the server responded with a status 403 (ModSecurity Action)

Categories
Azure Microsoft Moodle MySQL

Moodle 3.3 with MySQL SSL Connection in the Azure Cloud

Update: Microsoft Azure Database for MySQL: Use PHP (not) to Connect and Query Data article has now some new updates.

Microsoft listened to my words, so I have found a documentation how to connect to Azure Database for MySQL with PHP via SSL connection. This can be found here:
https://docs.microsoft.com/en-us/azure/mysql/howto-configure-ssl

Of course this is not a complete solution because it did not work for me. So here is my solution.

Categories
Azure Microsoft Windows

My First PowerShell to Redirect HTTP to HTTPS on the Azure Application Gateway

After I was able to manage HTTPS with a self-signed certificate on the Microsoft Application Gateway it was the time to redirect all HTTP communication to HTTPS. For that Microsoft offers only a PowerShell solution, you are not able to do that on the Portal. So in my life, it was the first time I had to use PowerShell. Actually, I was surprised. To write and test a PowerShell script for Azure is relatively easy. But the way to get there is full of traps.

Categories
LMS Microsoft Moodle MySQL

Microsoft Azure Database for MySQL: Use PHP (not) to Connect and Query Data

Back on the road of blogging again.

So our client who is a big European organization has Microsoft Azure Cloud services and having consultant company for support.

Since we would like to run Moodle we need PHP + MySQL.  We got an Ubuntu app server. Funny isn’t is to run Linux machines in the Microsoft Cloud? But I am sure they are performing better than the Windows Servers. For taking advance of the Cloud service we have been offered to use the Microsoft Azure Database for MySQL Basic solution with 50 DTU. We have been told to use SSL connection.

The problem was that there is no man on Earth who could establish an SSL connection to Microsoft Azure Database for MySQL with PHP.

Even Microsoft’s documentation how to connect MySQL with PHP is without using SSL.

Our other problem was that it was so slow that we gave up using it. A 1MB MySQL dump export took 5 minutes. In a localhost it took few seconds.

We had got the following response from the Microsoft consultant:

We took the smallest instance possible to start with, so you can expect bad performances.

This is not a bad performance, this is unusable.

Hope to have a better MySQL service later. Come on MS!