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)
Category: Microsoft
PHP and LDAP are not good friends. I had always issues connecting to a Microsoft Active Directory with PHP using the php_ldap module. And it was always a pain in the ass to figure out what went wrong or why it does not want to connect.
My Moodle did not want to connect to the Active Directory and of course, the only feedback by Moodle was an empty string. So let’s start the troubleshooting.
Today I have faced an issue that Sticky Notes did not start. It turned out that recently, Sticky Notes received a much-needed update for the Windows 10. I have found this solution the Guiding Tech blog “Top 8 Ways to Fix Sticky Notes Not Working on Windows 10” post so I installed the update using the Microsoft Store. And what happened after the update? You can guess. I’ve lost almost all of my notes. Thank you again, Microsoft!
So my solution to fix Sticky Notes is:
DELETE IT! FOREVER!
And use something else.
Cheers,
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.
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.
Another day in Paradise with Microsoft. 🙂
Today my task was to set up HTTPS on the test environment with Azure Application Gateway, but the end of the day it was done.
Again dear Microsoft, why do you harden our life when you could make it easier?
Yesterday I was able to install Access Database Engine to connect the .ASP application to its database. But because getting
An unhandled win32 exception occurred in w3wp.exe
all the times, I thought it is time to change to MS SQL Express.
- Installed MS SQL. Few GBs not much.
- Installed SQL Server Management Studio (the installer is 830MB while MySQL Workbench installer is 23MB).
- Migrated the data with SQL Server 2016 Import and Export Wizard. Was quite easy because I had already installed the Access Database Engine connector.
So I had everything to start using with the .ASP. But I knew I need a user for the connection.
The first of all only some documentation mentions that you have to enable SQL Server Authentication. Not having this option enabled you will get login failed. Beside that you are able to create the user add password add roles everything without a simple warning that you won’t be able to use it. Haha.
When set you have to restart the SQL agent. You can use SQL Configuration Manager for this. A tool designed for this. I could not find the service stop start within Windows.
#service mysql restart
Isn’t this more simple? Okay now You could use PowerShell for this.
Secondly, by default you can only create users with a password in a contained database. Why? Don’t know. Maybe life can be too easy.
So again asking stackoverflow what to do. Here is the solution: exec sp_configure 'contained database authentication', 1 go reconfigure go alter database YourDatabase set containment = partial go
Here we go. So now you are able to create a user with a password. Simple, isn’t it?
Finally you can test the connection by creating a TestConnection.udl file somewhere in your server. Then double click on it and test the connection with the specific user name and password.
And all of these can be made with one single command in MySQL without any hocus-pocus:
>grant all on (databasename).* to 'username'@'localhost' identified by 'password';
Cheers.
Another day with Microsoft. :)
Well, well, well. Using Microsoft is fun. Even when you need to use it in a production area.
Here is the first example. You want to download a Microsoft tool from the Microsoft website with a Microsoft browser. And what happens? You cannot download it. Because it is Microsoft.
Other good example is to use Microsoft Edge searching images with Bing and you decide to resize the window. Here is the result:
Thank you for this. 🙂
Cheers.
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!
Mr. Gates,
Why there is no other option to change a password in Windows except pressing CTRL + ALT + DEL?
We are using site to site VPN so we have to logon to VM via RDP and from that VM we can jump to the other company’s VM. Even when pressing CTRL + ALT + END it send the command to the first VM so how to change password on the second VM?
The solution is to use On-screen keyboard on the second VM. Funny isn’t it? Start menu type osk. Press CTRL + ALT and click DEL on the On-screen keyboard.
Cheers,