Cluster Setup

Deveo is ready for Cluster deployment after fulfilling the hardware, firewall, inter-server connection, and operating system prerequisites.

Login to Customer portal and download the Deveo Cluster (deveo-db and deveo-web) packages. This section covers setting up Deveo DB, then installing and configuring Deveo Web.

Step 1: Installing Deveo DB

Upload the deveo-db package to the server designated for Database role, install the dependencies and the package itself:

RHEL and CentOS

yum install cronie postfix
rpm -ivh deveo-db-X.X.X-stable.el6.x86_64.rpm

Debian and Ubuntu

apt-get install sudo postfix cron
dpkg -i deveo_db_X.X.X_amd64.deb

Step 2: Configuring Deveo DB

Every installation, upgrade, or configuration adjustment in Deveo will require the Deveo Control utility to reconfigure Deveo so the changes can take effect. To enable all required services after installation, run the following command:

sudo deveo-ctl reconfigure

Step 3: Enabling Cluster Mode

In order for Deveo Web to be able to communicate to Deveo DB, configure MongoDB and Redis to accept authentication and remote connections.

Run the following command and provide MongoDB admin user and password, as well as database application user and password:

sudo su - deveo
create_mongodb_users.sh

IMPORTANT: Remember the MongoDB credentials, they're also required to set up Deveo Web servers.

Next, reconfigure Deveo DB for Redis authentication. Open the Deveo Configuration file at /var/opt/deveo/shared/deveo.json add the following lines to the JSON file by replacing values in square brackets ([]):

{
  ... (snipped)
  "app" : {
    "is_cluster": true
  },
  ... (snipped)
  "redis": {
    "enable": true,
    "password": "[Choose Redis password]"
  },
  "mongodb": {
    "enable": true,
    "username": "[Enter MongoDB application user configured with create_mongodb_users.sh]",
    "password": "[Enter MongoDB application password configured with create_mongodb_users.sh]"
  },
  ... (snipped)
}

Finally, apply the changes by reconfiguring Deveo DB:

sudo deveo-ctl reconfigure

Step 4: Installing Deveo Web

Upload the deveo-web package to the server designated for Web application role, install the dependencies and the package itself:

RHEL and CentOS

yum install python-devel gettext python-docutils pam-devel cronie postfix libidn libidn-devel
rpm -ivh deveo-web-X.X.X-stable.el6.x86_64.rpm

Debian and Ubuntu

apt-get install python-dev python-docutils gettext sudo libpam0g-dev postfix libidn11 libidn11-dev cron
dpkg -i deveo_web_X.X.X_amd64.deb

Step 5: Connecting Deveo Web to Deveo DB

Note: Don't reconfigure Deveo Web yet. First, 'Turn' the server into a cluster node, and add Deveo DB credentials for it to connect to Deveo databases. Open the Deveo Configuration file at /var/opt/deveo/shared/deveo.json and add the following lines to the JSON file by replacing values in square brackets ([]):

{
  ... (snipped)
  "app" : {
    "is_cluster": true
  },
  ... (snipped)
  "backend": {
        "db_host": "[Enter IP address or hostname of Deveo DB server]",
        "db_port": "4002",
        "db_username": "[Enter MongoDB application user configured with create_mongodb_users.sh]",
        "db_password": "[Enter MongoDB application password configured with create_mongodb_users.sh]",
        "redis_host": "[Enter IP address or hostname of Deveo DB server]",
        "redis_password": "[Enter Redis password chosen on Deveo DB server]",
        "enable": true
  },
  ... (snipped)
}

Finally, apply the changes by reconfiguring Deveo Web:

sudo deveo-ctl reconfigure

Step 6: Bootstrapping

At this stage Deveo is installed and running in Cluster mode, and can be accessed using deveo as Company ID and admin as user ID and password (change them in company and user settings):

http://IP_ADDRESS_OF_YOUR_WEB_SERVER/login

Deveo Admin can be used to further configure the instance (at minimum, configuring hostname and mail settings are recommended), see Bootstrap for more information.

Updated on: 28 April 2017