erivello

Application Development Framework Set up with NginX proxy

Blog Post created by erivello Employee on Sep 28, 2016

Application Development Framework is a wonderful set of components the London team is doing and this is a small tutorial on how to set up the entire environment under an NginX proxy, to enable CORS 

 

First of all, we need to run all of our services on specific ports

  • Alfresco (Community 5.2.a-EA): on port 8080
  • Activiti Enterprise: on port 9999
  • The latest demo shell from the development branch of alfresco-ng2-angular : on port 3000 (default)

 

To install those services, please refer to this guide.

Done that, we need to install NginX with headers-more module.

 

Part 1: Installation

 

For Windows

Sadly, NginX on Windows is not open source, so you may only use the binary online with the modules they provide (and they don't include `headers-more`).

We suggest you to use solutions as Virtualbox or Docker to run a linux distribution (or a pre-baked NginX virtual machine) and compile it with the right modules.

 

For Linux

Install the dependencies first:

# If using Red Hat based distributions
sudo yum install gcc automake openssl-devel autoconf readline-devel pcre-devel
# If using Debian Based Distributions
sudo apt-get update && sudo apt-get install gcc automake libssl-dev autoconf libreadline6-dev libpcre3-dev

 

Download the latest `headers-more` module release from github

wget 'https://github.com/openresty/headers-more-nginx-module/archive/v0.31.tar.gz'
tar -xvf v0.31.tar.gz

 

Download the source code of NginX from the website and unzip it

wget 'http://nginx.org/download/nginx-1.11.2.tar.gz'
tar -xzvf nginx-1.11.2.tar.gz

 

Enter inside the newly created folder and Configure/Make/Install it with the `headers-more` module

cd nginx-1.11.2/
# This will install nginx under /opt/nginx
./configure --prefix=/opt/nginx --add-module=/path/to/headers-more-nginx-module
make
sudo make install

 

Link the binary to the binaries folder

ln -s /opt/nginx/sbin/nginx /usr/bin

 

Check if nginx has been installed correctly

nginx -V

 

 

For MacOS X

Nginx is available via Homebrew

brew install nginx-full --with-headers-more-module

 

Part 2: Configuration

Then, we have to substitute the default NginX server directive with the one contained in this sample configuration.

You can find the default configuration in one of those folders:

 

For Linux

/opt/nginx/conf/nginx.conf

 

For MacOS X

/usr/local/etc/nginx/nginx.conf

 

Part 3: Reloading


Finally, before we are done, we have to reload NginX.

 

For Both platform

#To start
sudo nginx
#To reload the configuration
sudo nginx -s reload

 

And that is it!
Head to http://localhost:8888 and  you'll see the demo shell starting!

 

To make the demo shell connect to the backend, before login, click on the up-left side of the app to open up the connection options:

 

 

Then change the connection endpoint to Activiti and Alfresco as indicated down here:

 

 

And with this you are all set up!

If everything is set correctly, you'll be able to login without any problem!

Outcomes