-
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 desired console (cmd, terminal, cmder, etc.). It should return a version number to the console.-
node -v
should returnv8.9.1
andnpm -v
should return5.5.1
-
-
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/
$ 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.
-
Once this is complete, our server side installation and configuration is finished.
-
In a terminal window, navigate to
MeetEasier/ui-react/
-
The user interface is built with React.js. We will now need to install all of our front end dependencies.
-
In the terminal window within
MeetEasier/ui-react/
, type:$ npm install
-
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
ui-react/package.json
ui-react/src/config/flightboard.config.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.
-
Once you have your port configured the way you want it, in your terminal window, navigate to
MeetEasier/ui-react/
and typenpm run build
. This will create your production ready files from your React.js source. -
To get the IP of your server, in a terminal window, type:
$ ifconfig
-
Finally, in your terminal window, navigate back to the root of the app,
MeetEasier/
and run the server by typingnode server.js
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:
$ 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