-
Notifications
You must be signed in to change notification settings - Fork 82
Installation
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
-
In a terminal window, type:
$ sudo apt-get update -
Check to see if the command
curlis installed by typingcurl.- If you receive the error:
The program 'curl' is currently not installed. You can install it by typing: sudo apt-get install curlThen you need to install
curl. To do this, in a terminal window, type:$ sudo apt-get install curl -
Install Node.js on your server. This will give you the two terminal commands
nodeandnpm.- 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 -
To ensure Node has installed correctly, you can type
node -vandnpm -vin your terminal window. It should return a version number to the terminal.- When these instructions were created (Nov 11 2017),
node -vshould returnv8.9.1andnpm -vshould return5.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.
- When these instructions were created (Nov 11 2017),
-
Install
git. In a terminal window, type:$ sudo apt-get install git -
Create a directory where you would like to clone the repository. For this install, I will make a
Website/folder inDocuments/and navigate to it:$ cd Documents/ $ mkdir Websites $ cd Websites/ -
Clone the repository to your
Websites/directory. In a terminal window, type:$ git clone https://github.com/danxfisher/MeetEasier.gitThis will create a directory called "MeetEasier". To check, in a terminal window, simply type:
$ lsIf you see a MeetEasier folder, you're good to go.
-
In a terminal window, navigate to the
MeetEasier/folder. -
We will now install the server dependencies of the application. While in the
MeetEasier/root folder, type:$ npm install -
Now you'll need to have your Exchange credentials handy. In a terminal window, navigate to
MeetEasier/config/. Here there is a file namedauth.js. We can edit this file using vim. Type:$ vi auth.jsThe 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' : 'SVCACCT_EMAIL@DOMAIN.COM', 'password' : 'PASSWORD', 'uri' : 'https://outlook.office365.com/EWS/Exchange.asmx' }, // Ex: CONTOSO.COM, Contoso.com, Contoso.co.uk, etc. 'domain' : 'DOMAIN.COM' };
-
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.
-
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.
-
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
-
-
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 -
To get the IP of your server, in another terminal window, type:
$ ifconfig -
Finally, in your terminal window, navigate back to the root of the app,
MeetEasier/and run the server by typingnpm startin 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
foreverpackage, first install it by navigating toMeetEasier/in a terminal window and typing:
$ sudo npm install forever -g- Then, instead of typing
node server.jsin a terminal window to serve your app, instead typeforever start server.js
-
In the terminal window, you should now see
now we are cooking.This just means our server is running. -
In a web browser, type the IP you got from Step 18 and the port (in our case 8080):
http://YOUR_IP:8080 -
MeetEasier should now be accessible and in the terminal window on the server, you should see Exchange Web Services data being retrieved.
Coming soon