Installation

Prerequisites

  • A dedicated host or hypervisor with at least 2 CPUs and 4GB of RAM.

  • A domain name, optionally with a wildcard subdomain.

  • Pagedip Enterprise license key file.

The standard setup consists of two processes: the core Pagedip Enterprise server and a CouchDB instance to persist data. These processes can be split onto two or more hosts for high availability.

Pagedip only requires a single incoming port to be exposed in the firewall. This port is usually port 80 since this is a web application, however this is customizable. If you plan on using SSL with Pagedip, which is highly recommended, port 443 is also needed.

Pagedip is designed for and tested on many different platforms and environments:

  • Major linux distributions, such as Ubuntu, RHEL, and OS X.

  • Windows Server 2012 and 2016.

  • Docker and Kubernetes

Dependencies

The following programs must be installed on the host prior to beginning the installation. These are both available via package managers for major distributions.

  • CouchDB 1.6.1 - Install | Documentation
    Note: CouchDB must be version 1.5.X or 1.6.X and not 2.0+. We are planning to upgrade to CouchDB 2 at some point soon, however Pagedip is currently only compatible with CouchDB 1.

  • Node.js 6 or 7, LTS recommended - Install | Documentation
    Note: NPM, a package manager, is installed with Node.js. Please ensure you have NPM 4 installed by running npm i npm@4.x -g after installing Node.js. You may run into issues installing Pagedip with other versions of NPM.

Start a CouchDB Background Server

Please start a CouchDB server in the background. At the bottom of the CouchDB installation documentation for each OS is a reference on the commands for starting a CouchDB server. If you installed via one of the package managers, a CouchDB server may already running at http://localhost:5984.

Create a CouchDB Super Admin User

By default, CouchDB starts in Admin Party, which means every user is a super admin. This is very insecure.

Create a super admin user in CouchDB to lock down the database. This account will only be known by you (the system administrator) and the Pagedip Enterprise API server. You can create as many super admin accounts as you wish to give several hosts access.

A word of caution, these accounts do have full access to the database. We do not recommend giving super admin credentials to human users (besides yourself) for security reasons. Instead these credentials should only be used by Pagedip systems. Additionally, usage of these credentials should be limited to running Pagedip administrative tasks.

You can create a CouchDB super admin one of two ways:

  • Go to the CouchDB web interface. In the lower left-hand corner of the screen, there is link to create a new super admin.

    screenshot_46.png
  • Send a PUT request to the config endpoint to create an admin. Change alice and secret to a desired username and password.

    curl -X PUT "http://localhost:5984/_config/admins/alice" -d '"secret"'
    Invoke-WebRequest -Uri "http://localhost:5984/_config/admins/alice" -Method PUT -Body '"secret"'

Next Up

Install Pagedip Enterprise for your platform. Choose one of the options below: