2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00
2018-07-07 20:43:51 -05:00

SETUP - Development


  1. Clone the repository from BigMac:
    • Add your public key to BigMac account.
    • Clone the repository: git clone "ssh://git@bigmac.northgrum.com:8010/saipt/portal-webapp.git"
  2. Create/Edit settings.xml in your .m2 folder (see next section for example)
  3. This project requires ngas-commons to be built prior to building this application
    • Checkout ngas-commons ("ssh://git@bigmac.northgrum.com:8010/saipt/ngas-commons.git")
    • Change directories into ngas-commons and run mvn clean install
  4. Change directories into the project and run mvn clean install (This might take awhile)
  5. Once the server launches, you should be able to access the webapp by browsing to http://localhost:8080/portal/

Yarn


Yarn is the the new package manager used with node.js in replacement of npm it uses the same package.json file.

To download a new client side library use the command yarn add <package_name> --save. This will add the files to the node_modules library.

Next include the appropriate file into the assets.js file inside portal_client to make sure it will be injected into the index.html file during run time.

The assets.js file specifies all the vendor libraries that have to be included into the client code during build.

Settings.xml


If developing on the NGGN the proxy settings are needed to download the libraries

Sample:

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <proxies>
    <proxy>
      <id>ngas-proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>eastproxy.northgrum.com</host>
      <port>80</port>
      <username>(your MyID)</username>
      <password>(your login password)</password>
    </proxy>
    <proxy>
      <id>ngas-proxy2</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>eastproxy.northgrum.com</host>
      <port>80</port>
      <username>(your MyID)</username>
      <password>(your login password)</password>
    </proxy>
  </proxies>
  <servers>
    <server>
        <id>flyway-localhost</id>
        <username>root</username>
        <password>(mysql root password)</password>
    </server>
    <server>
        <!-- in tomcat conf/tomcat-users.xml specify a user that has role manager-script -->
        <id>tomcat-localhost</id>
        <username>(manager-script username)</username>
        <password>(manager-script password)</password>
    </server>
  </servers>
  <profiles>
    <profile>
        <id> local-deploy </id>
        <properties>
            <tomcat-home>C:\development\apache-tomcat-8.5.24-portal</tomcat-home>
            <tomcat-version>8.5.24</tomcat-version>
			<tomcat-base-url>http://localhost:8080</tomcat-base-url>
        </properties>
    </profile>
  </profiles>
</settings>

Configuring Tomcat


Tomcat cannot run on port 80 or 443 unless it is is running as root (big security concern with that). It is suggested to use proxy services like NGINX or Apache to proxy 80 or 443 traffic to redirect to tomcat

NGINX

  1. In the default /etc/nginx/conf.d add a file called portal.conf

  2. Populated it with the values below

    proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m;
    
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }
    
    upstream tomcat {
        # Use IP Hash for session persistence
        ip_hash;
    
        # List of Tomcat application servers
        server 127.0.0.1:8080;
    }
    
    server {
        listen 80;
        server_name portal.viprcenter.com;
        client_max_body_size 0;
    
        # Redirect all HTTP requests to HTTPS
        location / {
            return 301 https://$server_name$request_uri;
        }
    }
    
    server {
        listen 443 ssl http2;
        server_name portal.viprcenter.com;
        client_max_body_size 0;
    
        ssl_certificate     /etc/nginx/ssl/portal.viprcenter.com.crt;
        ssl_certificate_key /etc/nginx/ssl/portal.viprcenter.com.key;
    
        ssl_session_cache   shared:SSL:1m;
        ssl_prefer_server_ciphers on;
    
        # WebSocket configuration
        location / {
            proxy_pass http://tomcat;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Host $remote_addr;
        }
    }
  1. Save the file

  2. Modify /etc/nginx/nginx.conf

  3. In the http section of the conf file add include /etc/nginx/conf.d/portal.conf

  4. Restart NGINX

  5. Navigate to the url. It should redirect to 443

Apache

  1. In apaches httpd.conf file add the following
	Listen 80    
	Listen 443
	
	<VirtualHost *:80>
	    RewriteEngine On
	    RewriteCond %{HTTP_HOST} ^(.*)$
	    RewriteRule ^(.*)$ https://%1$1 [R=Permanent,L,QSA]
	</VirtualHost>
	
	<VirtualHost *:443>
	    SSLEngine On
	    SSLCertificateFile /etc/apache/ssl/portal.viprcenter.com.crt
	    SSLCertificateKeyFile /etc/apache/ssl/portal.viprcenter.com.key
	
	    ProxyPreserveHost On
	    ProxyPass / http://127.0.0.1:8080/
	    ProxyPassReverse / http://127.0.0.1:8080/
	</VirtualHost>
  1. Restart and try navigating
S
Description
web app for executing services
Readme
3.3 MiB
0 Stars 3 Watchers 0 Forks
2.0.4-RELEASE
Latest
2026-09-04 17:51:37 -05:00
Languages
Java 86.9%
TypeScript 11.3%
Shell 1.4%
Awk 0.2%