Usually you would install M-Files Desktop on users PCs to enable them to work in M-Files. But that is only valid for Windows users. What if you want access for Mac, Linux or Mobile/tablet users? You need M-Files Web.
I will do this in internal use scenario – so, inside local lan, with domain. If you are searching for recipe for public access through web- sorry, this isn’t about it.
I’m going to do this in my lab which is already set and you can read about it here – M-Files DMS – installation
M-Files web has its own documentation which can be found here – https://www.m-files.com/user-guide/web/latest/eng/
There are couple of things we need to prepare, before we start on the server on which M-Files is installed.
For HTTPS communication we are going to need certificate – if you are going public with your M-Files – you are going to need certificate from some certificate authority (CA), if you are going to use M-Files exclusively inside your internal domain, then internal certificate authority (domain) would be ideal.
I don’t have any of these in my lab, so I’m going to create self-signed certificate (I described process in M-Files basic configuration article) from my server.
Downside of the self-signed certificate is that nobody will trust it. So, to avoid annoying certificate warnings and errors, you will have to import that certificate on every client that you use it on.
You will need .pfx for IIS and .key as private part of certificate for M-Files Admin, and .crt as public part of the certificate for M-Files Admin.
Before we enable web on the M-Files, we will need to install IIS and few other details for it.
If you just install IIS and start process of enabling Web on M-Files, you will be greeted with following messages:
So, couple of things need to be enabled when you start IIS deployment.
I will not go through whole IIS installation process, only important parts (I assume you know your way around Windows Server)
We will be doing standard IIS installation with few additions from screenshots above
Performance – Dynamic Conten Compression
Application Development – ASP.NET 4.8
IIS 6 Management Compatibility – IIS 6 Metabase Compatibility
After you are done with IIS installation, we will need to install two more things for IIS
I won’t either be going through installation of this, it is just simple Next-Next without any configuration needed.
URL Rewrite – https://www.iis.net/downloads/microsoft/url-rewrite
Microsoft ARR – https://www.microsoft.com/en-us/download/details.aspx?id=47333
After all these are installed – go to IIS Manager – click on your IIS server and select Certificates. Import .pfx you generated to that IIS.
IIS Manager – expand Default Web Site – select Bindings
Add https, port 443 with certificate you just imported
Now, you should have both port 80 and 443 enabled
After all that is done, I will reboot my M-Files server for a good measure.
Enable M-Files Web
After IIS prerequisites are done, we can finally open M-Files admin on the server
First step will be importing our certificate (.key and .crt) to the M-Files Admin server
Mark “Use a TLS certificate and import .key under Private key section (key file should be decripted, without password) and .crt under Certificate section.
Confirm with ok to close. Confirm with yes on closing
Final stop in M-Files Admin – “Configure Web and Mobile Use…”
I will only configure M-Files web – so I’ll select “Set up M-Files Web”
I also want it to go to Default Web Site, because I will need that for later RPC proxy config. Save
Now, if we go under IIS Manager, we can see that under Default Web Site something is deployed now.
Access from Client
My lab is configured in domain environment, so if I enter computer name in browser, it will work, because I have DNS configured. If you don’t have DNS configured, and are without domain, you will need to populate hosts file with IP addresses and names of M-File servers.
On client, if I enter in web browser https:\\mfilesrestore.test.local (name of my mfiles server, change that to your server name) I will get the login below.
Let’s try and log in..
That’s it, we now have M-Files Web enabled in our environment.
My series of articles about M-Files