Installation using the installer
Description
The system is installed on servers with OS Linux.
The first server in the installation becomes the master, all subsequent servers are connected to it.
Once installed on the master server, a comprehensive distributed configuration is created that includes all servers allocated for the installation.
The system on each of the servers is deployed in a docker container with no external orchestration.
The initial installation requires a connection to the DBMS, and prompts you to install the PostgreSQL instance(s) on the same servers.
In the private case, the system is installed on a single server (aka master), in which case the DBMS can also be deployed in a separate docker container using the installer.
In case of installing the system on several servers, the necessity of database server redundancy is assumed; for this purpose two (or more) instances are deployed on several servers, and only the first DBMS instance is deployed in the master mode, and the subsequent ones in the master streaming replication mode.
Options
Variants of operating system distributions:
-
Linux Debian 10
-
Linux Debian 11
-
Linux Ubuntu Server 20
-
Astra Linux
-
RedOS
Options on the number of servers:
-
Installation on one or more servers.
Options by availability of internet connection on the servers:
-
On a server with Internet access, the necessary packages are downloaded and installed automatically.
-
On a server without internet access, a preliminary operation package installation is required.
Variants by database servers used PostgreSQL:
-
System installation using existing PostgreSQL database servers (versions 12+).
-
Installation together with PostgreSQL
-
One instance on one of the existing servers in a docker container or host.
-
Multiple instances on existing servers with streaming replication, replication controller (automatically switching recovery to master and back).
-
-
Installation with connection to external database servers PostgreSQL.
Options on file storage:
-
NFS on an external medium.
-
VRRP-storage Virtual Router Redundancy Protocol).
-
S3-storage (configurable individually for each domain).
-
Locally hosted on the same servers (possibly in mount partitions).
-
Locally hosted on the same servers with synchronization.
Outline of installation and initial setup
1. Preparation
1.1) Determine the DBMS location - external installation or on the same servers, on which servers, in a container or in a host.
1.2) Decide on the name of the master domain.
1.3) Determine the location of storage (database, log storage, record storage, microservices working directories, and NFS directories).
1.4) Determine the local addresses of the servers through which they will be linked.
1.5) Select passwords for the accounts PostgreSQL: postgres
, erapgadmin
, era_replica
.
1.6) Select passwords for the system administrator accounts.
1.7) Select a unique cookie value for communication between servers.
1.8) Perform initial preparation of servers (configure the OS), make sure servers are accessible by the ssh.
2. Platform installation (infrastructure and communication layer)
2.1) Prepare the installer (era_installer).
2.1.1) Installation on a server without internet access requires pre-installation of packages.
2.1.2) Installation on a server with Internet access can be performed from a remote machine if the available server address matches its local address for system installation. Otherwise, it is necessary to place the installer on the server and install via ssh connection.
2.2) Install the system on the master server using the sh-installer (master server is a category relevant only to installation).
2.3) Create and activate the configuration.
2.4) Install the system on other servers included in the cluster using sh-installer.
If an installation failure occurs, the process must be restarted. This should be preceded by cleaning up the tails. To do this, you can use the script "uninstall_ssh.sh" remotely or "uninstall.sh" locally, which allows you to specify the detailed location of artifacts of the instance being removed. If your installation was performed in default directories, you can use the "remove.sh" script from the installer directory "/tmp/era/scripts". |
The installation can be carried out with a single command with all parameters transferred. It is then only necessary to enter the passwords a few times during the installation as requested. The list of parameters is available with the command bash install_ssh.sh --help .An added bonus is saving the startup command line for reuse. |
3. Initial configuration of the master domain
3.1) Open the "Settings" application in the browser".
3.2) If necessary, adjust the configuration and activate a new one.
3.3) Download the license, reserve the quantities.
3.4) Change the administrator password, add users if necessary.
3.5) Create a first-level domain and transfer quantitative licenses to it.
3.6) Configure an IP black/white list for the SBC filter.
3.7) Download the SSL certificate or configure the system to automatically issue it using ACME LetsEncrypt.
3.8) Verify that the system does not generate any warnings.
4. Setting up a working domain
4.1) Switch to the production domain or log in with an administrator account in the production domain and open the Settings web application. Select Advanced Mode.
4.2) Reserve for use a portion of the quantitative licenses transferred from the parent domain.
5. Installation of the platform product layer (information and processing layer)
5.1) In the Settings application of the work domain
5.1.1) create integration channel (set admin role, Administrator user, access to API *
), save the generated token;
5.1.2) add roles to administrator user accounts builder_admin
, callcenter_admin
, callcenter_supervisor
.
5.2) Prepare the installer (era_product.zip), unpack it, run the installation script, passing the parameters of the installed system to it, wait for it to finish.
5.3) Verify that new applications are available in the application menu, microservices are active.
5.4) Verify telephony functionality and data display in dashboards.
6. Initial telephony setup
6.1) In the working domain, import customizations or create minimally required entities:
6.1.1) user accounts,
6.1.2) provider accounts,
6.1.3) routing rules,
6.1.4) rules for normalizing external numbers,
6.1.5) scenarios ivr,
6.1.6) service codes,
6.1.7) recording rules.
6.2) Test calls: between users, to an IVR script, to an external number.