The client company is in the process of moving fully to Azure from their physical servers hosted in datacentres. Their favoured web-based file manager GleamTech’s FileVista cannot yet be hosted as an Azure App Service. Until it can be hosted as an Azure App Service, an Azure VM is required to host FileVista. FileVista, ver 7.6+, is able to connect to mapped networks drive via SMB 3.0 to root folders of company data sitting in Azure File Storage. (FileVista does also connect easily to Azure SQL database, but in this case, an Azure WS2016 VM with SQL Server Express and IIS installed is the hosting plan.)
In a previous blog, we noted that remote users of the company were unable to connect from their W10 laptops, into Azure File Storage services, because their ISPs were blocking Port 445, required for SMB 3.0 transmission. FileVista web-based file manager to the rescue!
- Create an Azure WS2016 VM with SQL Express (and SSMS) with 1 additional attached data disk; with a Static IP address & Network Security Group Inbound Rules for HTTP & HTTPS. RDP into the VM to add IIS Role and features; add Inbound & Outbound Port 80 & 443 in Windows Firewall.
- Install, configure & customize FileVista, after creating the new website.
2. FileVista Installation & Configuration Steps:
- RDP into the Webserver VM created in Step 1.
- In SSMS, create a new empty database called FileVista:
- Create a FileVista login account in SSMS:
- Security > Logins > New Login… > General tab > select SQL Server Authentication
- User Mapping > Map to FileVista db
- Role Membership for FileVista > select db_owner
- This Login will be used while configuring FileVista to be able to connect with SQL Server
- Create a new directory ‘virtualhosts’ on the data drive and a folder within that is named FileVista, to install the FileVista program into, since we prefer to install websites only on an attached data drive, and NOT use the default inetpub folder on the C drive that IIS sets up.
- Download & Install FileVista, choosing the E:/virtualhosts/filevista path when asked where to install the files (i.e. NOT in the C:/inetpub default location.)
- Configure FileVista in the web browser:
- In IIS, create a new website:
- Add in a custom App Pool Identity to be able to access FileVista folders.
Setup the HTTP and HTTPS bindings using the ‘internal IP address‘ of the VM. Azure VMs also have a public IP address that will route traffic to the specific internal IP address.
- Set up the DNS settings for the website name using the Azure VMs public IP address, found in Azure portal in the Essentials blade for the Azure webserver:
- These are the A records for some FileVista websites in a 3rd Party DNS service:
- From the Azure Portal, retrieve the Storage Account Name and a Storage Account Access Key for the Azure File Storage container to be connected to by FileVista.
- Add the Storage Account Name/Access Key password as a Standard User to the webserver
- Login to FileVista and set Root Folder(s) pointing to the Azure File Storage container(s).
- Login > Administration > Root Folder > Add New Root Folder > Choose Location
- Path = UNC path to the Azure Storage File (This can be found on the ‘Connect’ blade of the File Storage Account in Azure Portal, eg.\\demostorage.file.core.windows.net\data )
- User name = Storage Account Name
- Pwd = One of the Azure Storage Account’s Access Keys
- Root Folders now contains an authorized link into the Azure File Storage container.
- After setting up file permissions to the new Root Folder, the folders are accessible online, for users with security clearance.
Remote users can now access the Azure File Storage data through the FileVista web-based file manager, overcoming the ISPs blocking of Port 445.