-
Notifications
You must be signed in to change notification settings - Fork 73
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
curl
is 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 curl
Then 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
node
andnpm
.- 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 -v
andnpm -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 returnv8.9.1
andnpm -v
should 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.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.
-
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.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' };
-
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 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 toMeetEasier/
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 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