Getting Started with the Self-service Web Portal for Veeam Backup for Microsoft Office 365

Reading Time: 6 minutes

Veeam Backup for Microsoft Office 365

Microsoft recommends organizations using Office 365 services to create backups of their data in these services outside of the scope of the functionality of replicas and previous versions. Veeam Backup for Microsoft Office 365 offers a great solution to meet this challenge. However, today’s world requires functionality beyond the default functionality; Admins need remote access features to restore data independent of their location and time of day.

While Veeam Backup for Microsoft Office 365 doesn’t offer self-service functionality out of the box, Niels Engelen, Principal Analyst in Product Management at Veeam, adds it in a separate solution, available from GitHub.

 

About the Self-service Dashboard

The Self-service Web Portal for Veeam Backup for Microsoft Office 365 is a web-based portal that offers self-service features to tenant admins leveraging the RESTful API service included in Veeam Backup for Microsoft Office 365. This functionality allows them to perform restores to either the original or a different location as well as downloading items as plain text, *.pst or *.zip files.

Every feature acts as an independent page in the web portal. This approach makes it easy to remove or add the Exchange (Online), OneDrive for Business or SharePoint (Online) tabs, based on what is backed up by modifying the navigation bar on top.

The latest release is version 4.2, released on October 20th, 2020. It is the second update to the v4 release, released on November 26th, 2019.

 

Implementing the Self-service Web Portal

Implementing the Self-service Web Portal for Veeam Backup for Microsoft Office 365 is rather straight-forward. On a vanilla Windows Server 2019 installation, the following steps result in a working portal:

 

Get Started

To get started, you’ll need:

  • A previously configured Veeam Backup for Microsoft Office 365 implementation.
    This implementation comes with accounts with the required permissions to use Veeam Backup for Microsoft Office 365 in the Azure AD tenant and Microsoft Graph API.
  • The RESTful API Service configured on the server running Veeam Backup for Microsoft Office 365.
  • A Windows Server installation. A new Windows Server installation is recommended, but you can opt to install the Self-service Web Portal for Veeam Backup for Microsoft Office 365 on the same server as Veeam Backup for Microsoft Office 365 itself.
  • Admin rights to the Windows Server installation.

 

Install IIS with PHP and Url Rewrite

First, we need to install Internet Information Services (IIS) with PHP enabled. The addition of IIS converts the Windows Server installation to a web server. The PHP framework allows the web server to display the pages and the Url Rewrite module makes the browsable.

  • In Server Manager, in the left navigation pane, click Local Server.
  • In the main pane, in the Properties area, click the on link next to IE Enhanced Security Configuration.
    The Internet Explorer Enhanced Security Configuration dialog window appears.
  • Change the value for Administrators to Off.
  • Click the OK button to save the change and close the dialog window.
  • Close Server Manager.
  • Start the web browser.
  • Navigate to https://www.microsoft.com/web/downloads/platform.aspx.
  • Click the green Install this extension button to download the Microsoft Web Platform Installer.
    The Microsoft Web Platform Installer (WebPI) provides a simplified installation workflow for installing common open source web applications and web platform technologies
  • Run the downloaded WebPlatformInstaller_x64_en-US.msi file.
    The Microsoft Web Platform Installer Setup window appears:
    The Microsoft Web Platform Installer Setup window
  • Select the I acceppt the tirms in the Livense Agreement option.
  • Click the Install button.
  • After installation, click the Finish button.
  • From the Start Menu, start the Microsoft Web Platform Installer.
    (C:\Program Files\Microsoft\Web Platform Installer\WebPlatformInstaller.exe)
    The Web Platform Installer window appears.
  • At the top of the Web Platform Installer window, click Products.
  • In the left menu, click Frameworks, and then click the Add button next to the latest version of PHP:
    Add PHP through the Web Platform Installer
  • In the left menu, click Server, and then click the Add button next to the URL Rewrite module.
  • Click Install. at the bottom of the Web Platform Installer window.
    The Web Platform Installation page now displays the components and the dependencies that will be installed.
  • Click I Accept.
    Web PI installs IIS, the URL Rewrite module and the PHP packages.
  • Click Finish.
  • click Yes to restart the server.
    The web server will restart.
  • Sign back in.
    The Web Platform Installer continues to configure the server.
  • Click the Finish button when the Web Platform Installer is done.
  • Click the Exit button to close the Web Platform Installer window.

 

Install Composer

Composer was used to create the websites. We’ll need it on the web server too, to display the contents:

  • Close Server Manager.
  • Start the web browser.
  • Navigate to https://getcomposer.org/download/.
  • Run the Windows Installer of Composer (composer-setup.exe).
    The Select Setup Install Mode dialog window appears:
    Select Setup Install Mode for Composer
  • Select the Install for all users (recommended) option.
    The dialog window closes and the Composer Setup window appears.
  • Click the Next > button on the Installation Options page.
  • Click the Next > button on the Settings Check page.
  • Click the Next > button on the Proxy Settings page.
  • Click the Install button on the Ready to Install page.
  • Click the Next > button on the Information page.
  • Click the Finish button on the Completing Composer Setup page.

Restart the server.

 

Copy the Website files

Niels Engelen has shared the web site contents on GitHub. We need to get it there and copy it into our default web site. Then, we’ll delete the original files that were there, because we no longer have use for it.

  • After the restart, sign back in.
  • Start the web browser.
  • Navigate to https://github.com/VeeamHub/vbo365-rest-self-service.
  • On GitHub, click the green Code button.
    The Code download context menu appears.
  • Follow the Download ZIP link in the context menu to dowload the website files.
  • Extract the files in the vbo365-rest-self-service-master folder from the *.zip file and place the files in the c:\Inetpub\wwwroot folder.
  • Remove the iisstart.html and iisstart.png files from the folder.

 

Configure Composer

Composer needs to be configured with the composer.json file from the GitHub repository. We copied the file over to our Default Web site and now have to show Composer where it is.

Open an elevated Command Prompt (cmd.exe) or Windows PowerShell window and issue the following command:

composer install -d C:\inetpub\wwwroot

Close the Command Prompt (cmd.exe) or Windows PowerShell window afterwards.

 

Configure the Web Portal

  • Open a new tab in the web browser and navigate to http://localhost/setup.php.
    You’re presented with the Setup for Veeam Backup for Microsoft Office 365 Self Service Web Portal page:
    The Setup for Veeam Backup for Microsoft Office 365 Self Service Web Portal page
  • Provide a value for the Hostname field.
    The hostname represents the Windows Server that runs Veeam Backup for Microsoft Office 365. Its default access port is TCP4443. You can change both values here. If you install the Self-service Web Portal for Veeam Backup for Microsoft Office 365 on the same server as Veeam Backup for Microsoft Office 365, simply specify localhost.
  • Provide a value for the Portal Title field.
  • Click the Save button.If you receive an error stating that the changes could not be written to the config.php file (File open failed.), then copy paste the new contents for this file within the configuration file.
  • Close the web browser.
  • Delete the setup.php file from the c:\Inetpub\wwwroot folder.
  • Start the web browser.
  • Navigate to http://localhost.
    You are greeted with the Welcome page:
    Welcome
  • Sign in as a service principal with the tenant through device login (modern authentication), or with the admin account you installed Veeam Backup for Microsoft Office 365 with on the server that runs Veeam Backup for Microsoft Office 365.

 

Concluding

With Niels Engelen’s Self-service Web Portal for Veeam Backup for Microsoft Office 365, admins enjoy Veeam Backup for Microsoft Office 365 remote access features to restore data independent of their location and time of day.

Further reading

Unofficial Self-Service Web Portal for Veeam Backup for Microsoft Office 365
Veeam Backup for Microsoft Office 365 Self-Service Web Portal v4.2 release
Veeam Backup for Microsoft Office 365 Self-Service Web Portal release
Self-service portal for Office 365 – Veeam R&D Forums
Veeam Backup for Office 365 v4c offers support for disabled legacy protocols
Five things I wish I knew before ‘Next-Next-Finish’ing  Veeam Backup for Office 365 v4
Configuring Veeam Backup for Microsoft Office 365 with Modern Authentication
What’s New in Veeam Backup for Microsoft Office 365 version 4

3 Responses to Getting Started with the Self-service Web Portal for Veeam Backup for Microsoft Office 365

  1.  

    Hi,
    i get failed to connect ( Connection refused ) when trying to login?
    any ideas

    • Hi James,

      For sign-ins the Self-service Web Portal for Veeam Backup for Microsoft Office 365 redirects you to the server running Veeam Backup for Microsoft Office 365.
      Check that:

      • Networking traffic is possible to TCP4443 from the web portal server to the backup server
      • You sign in with either the service principal with the tenant through device login (modern authentication), or with the admin account you installed Veeam Backup for Microsoft Office 365 with on the server that runs Veeam Backup for Microsoft Office 365.

      If that doesn't help, create an issue on GitHub.

       
  2.  

    HI, i got it working, hadn't enabled the API in the main software.
    It works great but i can't get MFA to work.
    i have the the right information but the next button does nothing?

    thanks.