Skip to content

Installation

Dan Fisher edited this page Jul 21, 2018 · 22 revisions

Introduction

These are slightly more in depth installation instructions. Before beginning the installation instructions, I would assume you have set up the following:

  • Exchange Online (Office 365)
  • Conference room mailboxes organized in room lists
  • Exchange Web Services (EWS) enabled
  • A service account with access to all conference room mailboxes and EWS
  • A server to be used as a web server to host the application

Linux (Ubuntu 16.04) Installation

  1. In a terminal window, type:

    $ sudo apt-get update
    
  2. Check to see if the command curl is installed by typing curl.

    • If you receive the error:
    The program 'curl' is currently not installed.  You can install it by typing: sudo apt-get install curl
    

    Then you need to install curl. To do this, in a terminal window, type:

    $ sudo apt-get install curl
    
  3. Install Node.js on your server. This will give you the two terminal commands node and npm.

    • To install Node.js via the terminal, in a terminal window, type:
    $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
    

    Once the download is complete, type:

    $ sudo apt-get install -y nodejs
    
  4. To ensure Node has installed correctly, you can type node -v and npm -v in your terminal window. It should return a version number to the terminal.

    • When these instructions were created (Nov 11 2017), node -v should return v8.9.1 and npm -v should return 5.5.1. These could be slightly different when you install but as long as you have node v8.x and npm v5.x or greater, you should be fine.
  5. Install git. In a terminal window, type:

    $ sudo apt-get install git
    
  6. Create a directory where you would like to clone the repository. For this install, I will make a Website/ folder in Documents/ and navigate to it:

    $ cd Documents/
    $ mkdir Websites
    $ cd Websites/
    
  7. Clone the repository to your Websites/ directory. In a terminal window, type:

    $ git clone https://github.com/danxfisher/MeetEasier.git
    

    This will create a directory called "MeetEasier". To check, in a terminal window, simply type:

    $ ls
    

    If you see a MeetEasier folder, you're good to go.

  8. In a terminal window, navigate to the MeetEasier/ folder.

  9. We will now install the server dependencies of the application. While in the MeetEasier/ root folder, type:

    $ npm install
    
  10. Now you'll need to have your Exchange credentials handy. In a terminal window, navigate to MeetEasier/config/. Here there is a file named auth.js. We can edit this file using vim. Type:

    $ vi auth.js
    

    The auth.js file should look like this:

    // expose our config directly to our application using module.exports
    module.exports = {
      // this user MUST have full access to all the room accounts
      'exchange' : {
        'username'  : '[email protected]',
        'password'  : 'PASSWORD',
        'uri'       : 'https://outlook.office365.com/EWS/Exchange.asmx'
      },
      // Ex: CONTOSO.COM, Contoso.com, Contoso.co.uk, etc.
      'domain' : 'DOMAIN.COM'
    };
  11. In MeetEasier/config/auth.js, replace the username, password, and domain placeholders with your credentials.

    • If you have GUI access to the server, feel free to use any other text editor to edit this file.
  12. By default, this app will run on port 8080. If you would like to change the port, you'll have to change it in three locations:

    • server.js

    Note: For a production web server, you would want the app to use port 80. This way you wouldn't have to include a port in the URL. For the sake of this tutorial, we will leave our app configured on port 8080.

  13. If you want to change any of the wording for your displays, navigate to MeetEasier/ui-react/src/config/. Here are two files that have all of your text customization should you need it.

    • flightboard.config.js: All flightboard display text
    • singleRoom.config.js: All single room display text
  14. After this, you're ready to create your build files. To do this, go back to the root directory MeetEasier/ and terminal, type:

    $ npm run build
    
  15. To get the IP of your server, in another terminal window, type:

    $ ifconfig
    
  16. Finally, in your terminal window, navigate back to the root of the app, MeetEasier/ and run the server by typing npm start in a terminal window to serve your app.

    • In a production environment, you'd want to use a package like forever to ensure your server runs continuously.
    • To use the forever package, first install it by navigating to MeetEasier/ in a terminal window and typing:
    $ sudo npm install forever -g
    
    • Then, instead of typing node server.js in a terminal window to serve your app, instead type forever start server.js
  17. In the terminal window, you should now see now we are cooking. This just means our server is running.

  18. In a web browser, type the IP you got from Step 18 and the port (in our case 8080):

    http://YOUR_IP:8080
    
  19. MeetEasier should now be accessible and in the terminal window on the server, you should see Exchange Web Services data being retrieved.

IIS

Coming soon

Clone this wiki locally