Install or Upgrade the Developer Portal

Follow the steps in this guide to install or upgrade the Developer Portal for NGINX Management Suite API Connectivity Manager.


Platform Requirements

Important:
To run the Developer Portal, you need a dedicated Linux host specifically for this purpose. Do not install the Developer Portal on a host that is currently serving as a management or data plane.

Complete the following steps to prepare the Developer Portal for use with API Connectivity Manager:

  1. Install NGINX Plus R24 or later
  2. Install NGINX njs module
Supported Linux distributions

The Developer Portal supports the following Linux distributions:

Distribution Version Platform API Connectivity Manager Developer Portal
Amazon Linux 2 LTS x86_64 1.0.0 and later
CentOS 7.4 and later in the 7.x family x86_64 1.0.0 and later
Debian 10
11
x86_64
x86_64
1.0.0 and later
1.0.0 and later
Oracle Linux 7.4 and later in the 7.x family x86_64 1.0.0 and later
RHEL 7.4 and later in the 7.x family
8.x
x86_64
x86_64
1.0.0 and later
1.0.0 and later
Ubuntu 18.04
20.04
x86_64
x86_64
1.0.0 and later
1.0.0 and later


Prerequisites

Add NGINX Management Suite Repository

Select the tab matching your Linux distribution, then follow the instructions to add the NGINX Management Suite repository.


  1. Add the NGINX Management Suite repository:

    • CentOS/RHEL

      sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nms.repo
      

      • RHEL 8: If you’re installing on RHEL 8 and using the distro’s NGINX, run the following commands to use the new version of NGINX (1.20 at the time of this update):

        sudo yum module disable nginx:1.14
        sudo yum module enable nginx:1.20
        
    • Amazon Linux 2

      sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nms-amazon2.repo
      
  2. Add the NGINX Signing Key:

    curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
    sudo rpmkeys --import /tmp/nginx_signing.key
    

  1. Add the NGINX Management Suite repository:

    • Debian

      printf "deb https://pkgs.nginx.com/nms/debian `lsb_release -cs` nginx-plus\n" | sudo tee /etc/apt/sources.list.d/nms.list
      printf "deb https://pkgs.nginx.com/adm/debian `lsb_release -cs` nginx-plus\n" | sudo tee -a /etc/apt/sources.list.d/nms.list
      sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx
      
    • Ubuntu

      printf "deb https://pkgs.nginx.com/nms/ubuntu `lsb_release -cs` nginx-plus\n" | sudo tee /etc/apt/sources.list.d/nms.list
      printf "deb https://pkgs.nginx.com/adm/ubuntu `lsb_release -cs` nginx-plus\n" | sudo tee -a /etc/apt/sources.list.d/nms.list
      sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx
      
  2. Add the NGINX Signing Key:

    wget -O /tmp/nginx_signing.key https://cs.nginx.com/static/keys/nginx_signing.key
    sudo apt-key add /tmp/nginx_signing.key
    

Install PostgreSQL or SQLite

The Developer Portal requires a PostgreSQL or SQLite database to store configuration settings and analytics information.

Select the tab for the database you want to use, then follow the installation instructions.

To use PostgreSQL for the Developer Portal database, take the following steps:

  1. Install PostgreSQL:

    • CentOS, RHEL, RPM-based:

      sudo yum install -y postgresql-server
      sudo postgresql-setup initdb
      
    • Debian, Ubuntu, Deb-based:

      sudo apt-get install -y postgresql
      
  2. Configure the PostgreSQL host-based authentication (HBA) file:

    • CentOS, RHEL, RPM-based:

      cat << EOF | sudo tee /var/lib/pgsql/data/pg_hba.conf
      
      # TYPE DATABASE USER ADDRESS METHOD
      
      local all postgres peer
      local all all md5
      # IPv4 local connections:
      host all all 127.0.0.1/32 md5
      # IPv6 local connections:
      host all all ::1/128 md5
      EOF
      
    • Debian, Ubuntu, Deb-based:

      cat << EOF | sudo tee /etc/postgresql/<pg_version>/main/pg_hba.conf
      
      # TYPE DATABASE USER ADDRESS METHOD
      
      local all postgres peer
      local all all md5
      # IPv4 local connections:
      host all all 127.0.0.1/32 md5
      # IPv6 local connections:
      host all all ::1/128 md5
      EOF
      
  3. Restart PostgreSQL:

    sudo systemctl restart postgresql
    
  4. Create the devportal database, add the nginxdm user, and assign privileges:

    sudo -u postgres createdb devportal
    sudo -u postgres psql -c "CREATE USER nginxdm WITH LOGIN PASSWORD 'nginxdm';"
    sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE devportal TO nginxdm;"
    

To use SQLite for the Developer Portal database, run the following commands:

echo 'DB_TYPE="sqlite"' | sudo tee -a /etc/nginx-devportal/devportal.conf
echo 'DB_PATH="/var/lib/nginx-devportal"' | sudo tee -a /etc/nginx-devportal/devportal.conf


Install the Developer Portal

  1. To install the Developer Portal, run the following command:

    sudo yum -y install nginx-devportal nginx-devportal-ui
    

  1. To install the Developer Portal, run the following commands:

    sudo apt-get update
    sudo apt-get -y install nginx-devportal nginx-devportal-ui
    
  1. Enable the Developer Portal service:

    sudo systemctl enable nginx-devportal.service
    
  2. Start the Developer Portal service:

    sudo systemctl start nginx-devportal.service
    

Upgrade the Developer Portal

  1. To install the latest version of the Developer Portal, run the following command:

    sudo yum update -y nginx-devportal nginx-devportal-ui
    

  1. To install the latest version of the Developer Portal, run the following commands:

    sudo apt-get update
    sudo apt-get upgrade -y nginx-devportal nginx-devportal-ui
    
  1. Enable the Developer Portal service:

    sudo systemctl enable nginx-devportal.service
    
  2. Restart the Developer Portal service:

    sudo systemctl restart nginx-devportal.service