All Projects → nielsengelen → vbo365-rest

nielsengelen / vbo365-rest

Licence: MIT license
Unofficial Self-Service Web Portal for Veeam Backup for Microsoft Office 365

Programming Languages

PHP
23972 projects - #3 most used programming language
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to vbo365-rest

vbo365-rest-self-service
Unofficial Self-Service Web Portal for Veeam Backup for Microsoft Office 365
Stars: ✭ 24 (-45.45%)
Mutual labels:  backup, onedrive, exchange, baas, sharepoint, restful-api, office365, veeam
powershell
PnP PowerShell
Stars: ✭ 326 (+640.91%)
Mutual labels:  microsoft, teams, sharepoint, office365
Microsoft365dsc
Manages, configures, extracts and monitors Microsoft 365 tenant configurations
Stars: ✭ 374 (+750%)
Mutual labels:  microsoft, onedrive, sharepoint, office365
Office365FiddlerExtension
This Fiddler Extension is an Office 365 centric parser to efficiently troubleshoot Office 365 client application connectivity and functionality.
Stars: ✭ 23 (-47.73%)
Mutual labels:  onedrive, exchange, teams, office365
Cli Microsoft365
Manage Microsoft 365 and SharePoint Framework projects on any platform
Stars: ✭ 420 (+854.55%)
Mutual labels:  microsoft, sharepoint, office365
Onedrive
#1 Free OneDrive Client for Linux
Stars: ✭ 5,104 (+11500%)
Mutual labels:  microsoft, onedrive, office365
Exchangelib
Python client for Microsoft Exchange Web Services (EWS)
Stars: ✭ 787 (+1688.64%)
Mutual labels:  microsoft, exchange, office365
Python O365
A simple python library to interact with Microsoft Graph and Office 365 API
Stars: ✭ 742 (+1586.36%)
Mutual labels:  microsoft, onedrive, sharepoint
Generator Spfx
Open-source generator to extend the capabilities of the Microsoft SPFx generator
Stars: ✭ 150 (+240.91%)
Mutual labels:  microsoft, sharepoint, office365
Phpspo
Office 365 Library for PHP. It allows to performs CRUD operations against Office 365 resources via an REST/OData based API
Stars: ✭ 198 (+350%)
Mutual labels:  onedrive, sharepoint, office365
grafana
Grafana dashboard for Veeam solutions
Stars: ✭ 31 (-29.55%)
Mutual labels:  backup, office365, veeam
Office365 Rest Python Client
Office 365 & Microsoft Graph Library for Python
Stars: ✭ 289 (+556.82%)
Mutual labels:  onedrive, sharepoint, office365
script-samples
A sample gallery of scripts to manage all things Microsoft 365.
Stars: ✭ 56 (+27.27%)
Mutual labels:  microsoft, teams, sharepoint
Pnp Js Core
Code moved to https://github.com/pnp/pnpjs. This repository is archived.
Stars: ✭ 382 (+768.18%)
Mutual labels:  microsoft, sharepoint
Mfcmapi
MFCMAPI
Stars: ✭ 501 (+1038.64%)
Mutual labels:  microsoft, exchange
Cloneapp
📦Easily Backup & Restore Windows Programs Settings
Stars: ✭ 163 (+270.45%)
Mutual labels:  microsoft, backup
teams-call
Shell script to detect when you're in a Microsoft Teams Call. Supports Linux and macOS.
Stars: ✭ 23 (-47.73%)
Mutual labels:  microsoft, teams
Partnercenterpowershellmodule
Partner Center PowerShell Module
Stars: ✭ 35 (-20.45%)
Mutual labels:  microsoft, office365
Powershell Scripts
PowerShell scripts ranging from SCCM, MSO, AD, and other corporate enterprise uses... to sending cat facts to coworkers.
Stars: ✭ 201 (+356.82%)
Mutual labels:  microsoft, office365
butdr
Backup to Cloud( Google Drive, Dropbox ... ) use rclone
Stars: ✭ 49 (+11.36%)
Mutual labels:  backup, onedrive

Unofficial Self-Service Web Portal for Veeam Backup for Microsoft Office 365

About

This web-based portal offers Self-Service to tenant admins leveraging the RESTful API service included in Veeam Backup for Microsoft Office 365. This allows them to perform restores to either the original or a different location as well as downloading items as a plain/PST/ZIP file.

Every feature works as an independent page, therefore it is easy to remove or add Exchange, OneDrive, or SharePoint based on your offering by modifying the navigation bar on top.

Dependencies

Make sure you download dependencies using composer.

For more information on how to install composer:

This project leverages a mixture of HTML, PHP, and Javascript. The following libraries are used:

It is required to have a webserver running with PHP5 or higher and the mod_rewrite module enabled. The easiest way to do this is to leverage a Linux VM with Apache however Windows with IIS should work as well.

As an example you can use the following Linux Ubuntu with Apache guide or Windows with IIS guide.

This portal leverages rewrite rules via .htaccess and mod_rewrite needs to be enabled in Apache. More information on this can be found via Enabling mod_rewrite for Apache running on Linux Ubuntu.

Important step

Disable MultiView within the directory document root for Apache. This can be done my modifying the default site configuration and set it as below:

<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

For IIS the web.config file is required. More information can be found via importing the IIS web config.

It is advised to increase or disable the PHP maximum execution time limit. This can modified in the php.ini file as described per changing the maximum execution time limit

Installation

1. Download and install composer

a. Linux: curl -sS https://getcomposer.org/installer | /usr/bin/php && /bin/mv -f composer.phar /usr/local/bin/composer
b. Windows: Download and run Composer-Setup.exe from the composer website.

2. Clone this repository

git clone https://github.com/nielsengelen/vbo365-rest.git

Place these files under the web service root (/var/www/html or c:\Inetpub\wwwroot)

3. Initialize Composer from the specific folder (/var/www/html or c:\Inetpub\wwwroot)

composer install

Configuration

Once composer has finished, open a web browser and go to setup.php, this allows you to generate a config file.

If this doesn't work, modify the original config.php file with your Veeam Backup for Microsoft Office 365 hostname/IP, port (default: 4443) and, API version to be used. Additionally, you can configure the custom title to be shown.

Remember to enable mod_rewrite as described in the dependencies. Remove the setup.php file once this is done.

Usage

Open a web browser and go to index.php. From here you can either log in as an admin or a tenant.

You should see the following login screen: Login form

Logged in as an admin: Dashboard view

Exchange view: Exchange view

OneDrive view: OneDrive view

SharePoint view: SharePoint view

About

This serves as an example on how to work with the RESTful API calls and should be tested before using it in production. Feel free to modify and re-use it however many calls are done with default values that can be modified if needed.

Known issues

  • No known issues

Note: There is currently no SSL verification due to self signed certificate testing, please change settings 'verify' to true or remove the specific line accordingly in veeam.class.php.

Questions and feature request

Please use the GitHub issue tracker for any questions or feature requests.

Distributed under MIT license

Copyright (c) 2021 nielsengelen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].