Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The first step is to install the MySQL master node on a virtual machine that meets the SQL role hardware requirements: high memory, very high I/O performance and high CPU power. 

You You must perform perform the MySQL installation using the installer script with the mysql the mysql argument. Run the following command.

Shell

curl "http://www.4psa.com/software/

...

voipnowinstaller.sh" -o voipnowinstaller.sh -L

Run the installer with the mysql argumentthe mysql argument.


Shell
sh voipnowinstaller.sh mysql

When asked, enter the local server IP. This will be used later on,   when installing the Infrastructure Controller.

...

Customize configuration taking into account the machine's hardware characteristics.

A file called A file called voipnowcredentials.conf will will be generated.  Its contents will be required Its contents will be required when installing the Infrastructure Controller.  If you want to add MySQL slaves, you can provision the infrastructure now and add them later. This will not affect the system uptime.  HoweverHowever, to provision slave MySQL nodes, run the following command.

Shell
sh voipnowinstaller.sh mysql slave


Note
Please note that this command will only add the node. No MySQL replication will be performed.

...

Anchor
ic_setup
ic_setup

Install the Infrastructure Controller

The node where you install VoipNow for the first time is relevant because it relevant because it will work as an Infrastructure Controller for your entire infrastructure.

Make sure that VoipNow knows where MySQL is installed by setting the shell environment variables below.  You You can copy these variables from the voipnowcredentialsthe voipnowcredentials.conf file conf file generated on the the MySQL node installation.

Shell

export ALT_DB_HOST=<hostname>
export ALT_DB_PORT=<port>
export ALT_DB_USER=<user>
export ALT_DB_PASSWD=<password>
export ALT_DB_NAME=<database>

VoipNow will provision the system using the MySQL node that has been specified in the the ALT_DB_HOST value value as the master.


Note
VoipNow saves the root username/password in /etc/voipnow/.sqldb. If this represents a security threat, remove the file. If you remove the file, you will have to export the variables in ALT* in order to upgrade VoipNow in the future!

Install VoipNow using the the Command Line Installer. Once the installation is complete, you will have a functional VoipNow system with:

  1. most Most of the roles installed on the same node as the Infrastructure Controller.
  2. a A node with the SQL role assigned.

Log in to VoipNow's web management interface as administrator. Navigate to to VoipNow ?  >> Cloud Management. You will see an image like this one.
 
Screenshot: Your infrastructure should look like this.

Click on the the Infrastructure Properties button button.  Set Set up the infrastructure properties according to your physical infrastructure organization as described in the Distributed Installation.

...

the Infrastructure Advice section.

Note

In order to be able to add new nodes, you need to enable the distributed firewall rules by running the following command:

/usr/local/voipnow/admin/sbin/voipnow_firewall -o apply -d -t false


Anchor
provision_node
provision_node

Add new nodes

Note
You cannot add new nodes unless you have a distributed license. To do that, go to Unified Communications >> License Management page. Get the Infrastracture ID from the License Key Status in the upper page and supply it to your Account Manager to receive the license key.
We will We will showcase the process of adding a new node with a process of adding a new node with a PBX node, which is similar for all roles and consists in two stepswhich is similar for all roles and consists in two steps:
  1. Provisioning the Node on the Infrastructure Controller Database
  2. Provisioning the Container to run the Node

...

Anchor
pic
pic

Provisioning on Infrastructure Controller database

For more details on the Infrastructure Controller provisioning, check the Distributed Installation. Cloud the Infrastructure Controller installation. Cloud Management is the web management interface area where where everything related to your infrastructure cloud is managed.

  1. Log in to the Infrastructure Controller the Infrastructure Controller node as administrator (if you are not already logged in). First, add a new node in the management infrastructure.  Go Go to VoipNow Cloud Management  Cloud Management -> Add Add Node.  This This document describes how to add nodes to the distributed infrastructure and how to assign them roles. 
    Anchor
    seskey
    seskey
  2. Assign the role on the node.  Once Once you have added the node, it will appear in in Cloud Management  (with status 'Offline' and no role on it). Click on the the [Assign a Role] link link next to the the NodeID row. 
    • Eligible roles:  This is an informative field. You will see here all eligible roles based on the networking parameters of the node. For example, if the node does not have any public IP address assigned, it will not be possible to run a SIP role.
    • Role Type:   Select the PBX role from the list.
    • Bind IP : Port:   Fill in the IP and port you want to bind the role to. While it is possible to use any (0.0.0.0), this is strongly not recommended.
    • Connection IP : Port:   Fill in the IP and port where other roles must connect to this role. Usually, it is identical to Bind IP : Port.

The role will be added, but it will still be offline. You have to build a container that will run it.  You You will get a command with a session key that needs to be copied. You will need this key in the following step.

Anchor
pcontainer
pcontainer

Provisioning the container

Install VoipNow on the Container where you the server where you want to run the Node. This container might have been already prepared.  The The installation of VoipNow must be performed in in Stand-By Mode. For this purpose, run the following commands:

Shell
export VNSTANDBY=1
sh voipnowinstaller.sh


Note
VoipNow will be installed, but beware that this installation will not be able to run independently!  The The container is prepared to run a node at a later point, once it receives indications from the Infrastructure Controller.

Use the command below to get the node on this container.

Shell

/usr/local/voipnow/bin/nodeconfig --scenario activate --controller

...

<infrastructure controller ip> --sessionkey

...

<sessionkey>

The command is the one you got when you you assigned the role on the offline node.


Check the node in the the Cloud Management area area. You will see the node status as being being online.

Screenshot: The Infrastructure after the PBX node is added added

Add more nodes

You can now start building your planned infrastructure by adding more nodes nodes the same way you did above.

Update the Infrastructure Controller

The update requires taking the following steps.

VoipNow must know where MySQL is installed. For this, you must set the following shell environment variables.

Shell

export ALT_DB_HOST=<hostname>
export ALT_DB_PORT=<port>
export ALT_DB_USER=<user>
export ALT_DB_PASSWD=<password>
export ALT_DB_NAME=<database>

Download and run the installer.
Shell

curl "http://www.4psa.com/software/voipnow35installer.sh" -o voipnowinstaller.sh -L
sh voipnowinstaller.sh

Update the MySQL master node

To update the MySQL Master node, you muse use the provided script and take the steps below. Run the command below.

Shell

curl "http://www.4psa.com/software/voipnow35installer.sh" -o voipnowinstaller.sh -L

Ensure that the MySQL node has the following environment variables.
Shell
export ALT_DB_HOST=<hostname>
export ALT_DB_PORT=<port>
export ALT_DB_USER=<user>
export ALT_DB_PASSWD=<password>
export ALT_DB_NAME=<database>

Note
Credentials can be found in voipnowcredentials.conf

...

Note

For more info on VoipNow's upgrade procedure, visit this page.

...


4psarelated
NameRelated Topics

Set Up Infrastructure Properties

Add Node and Role

Set Up Role Parameters



Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.