Deploy anynode on Linux. This guide aids decision-making, offering platform-specific steps.

Linux

Let's learn all necessary procedures, configurations, and best practices for a successful deployment of anynode on your Linux/Debian environment. anynode was developed with a focus on interoperability. Along with being supported on the Windows operating system, anynode is also supported on Linux as another primary runtime environment.

The choice between Debian and Windows for installing anynode depends on various factors, including specific requirements, preferences, and user experiences. Here are some general advantages of installing anynode under Debian compared to Windows:

  1. Stability and Reliability: Debian is known for its stability and reliability. It is a Linux distribution often used in server environments. If stability and longevity are crucial for your application, Debian might be the preferred choice.

  2. Cost: Debian is open-source software and freely available. In contrast, using Windows typically involves licensing costs, which can be a significant factor for many organizations.

  3. Security: Debian has a reputation for security and a robust security model. Debian's package management system also facilitates easier updating and patching of software components.

  4. Flexibility and Customizability: Linux, including Debian, offers high flexibility and customizability. You have more control over the system and can easily tailor it to your specific requirements.

  5. Command Line Management: Debian allows powerful management through the command line. For advanced users and administrators, this can be more efficient and precise compared to the graphical user interface of Windows.

  6. Prepared Shell Script: To provide for an easy installation process we have prepared a shell-script which does all the necessary work: Detect distribution & CPU architecture, configure repository configuration for Debian based distributions, install prerequisites, install anynode. We provide all necessary commands on our TE-SYSTEMS repository server.

  7. Resource Consumption: Linux distributions tend to consume fewer system resources than Windows, which can be crucial when considering resource constraints.

It's important to note that the choice between Debian and Windows strongly depends on specific requirements and preferences. Some users prefer the user-friendliness of Windows, while others favor the control and flexibility offered by Linux. It is advisable to consider the specific requirements and use case to select the most suitable platform for your installation. Microsoft Teams SBA is specifically designed for Windows environments and is not available for other operating systems such as Linux or MacOS.



Use of Antivirus Software and Firewalls

We recommend that companies with an information security policy requiring antivirus programs on all servers review the following recommendations.

  1. Ideally, the operation of anynode should not be hindered by antivirus software. We suggest scheduling scans during periods of low call volume.

  2. Modern antivirus software provides real-time scanning, which actively prevents the downloading of viruses onto your computer by continuously checking all files. However, this real-time scanning may increase CPU usage and slow down your computer due to its processing demands.

  3. By implementing exceptions to the scan, you can expedite the process, thereby minimizing the overall performance impact on the system: Exclude the working directory /var/opt/tesystems/ from live scanning, particularly if the scanner immediately checks new or modified files. This directory contains configuration files, call history, event logs, and potentially voice recordings.

  4. The program directory /opt/tesystems/ houses anynode's executable files. Regularly scanning these files, including during startup, is recommended and poses no concerns.



External Firewalls

Any interference by external firewalls in SIP traffic, such as SIP-ALG, must be disabled. The ports you need to open in an external firewall for anynode depend on its specific configuration and the requirements of the services it provides.



TE-SYSTEMS Community Access

Please ensure that access to the TE-SYSTEMS Community is possible on port 443 using the TCP protocol. This address is used by anynode to reach the license server necessary for setting up licenses. Continuous access is essential, particularly for subscription licenses.

TE-SYSTEMS will be integrating additional features into future anynode versions to facilitate administrators in keeping anynode and its settings up to date.



anynode Installation

TE-SYSTEMS provides its own repository server as a deployment tool. From this repository server, you can install anynode very easily on Debian, Ubuntu, Raspbian. Additionally, our server also hosts the Red Hat Enterprise Linux version of anynode. Please check the repository start page for a complete list of currently supported platforms.

Screenshot: TE-SYSTEMS repository server start page for anynode installation on Debian, Ubuntu and Raspbian. Screenshot: TE-SYSTEMS repository server start page for anynode installation on Debian, Ubuntu and Raspbian.
TE-SYSTEMS repository server start page for anynode installation on Debian, Ubuntu and Raspbian.

For the installation, let us assume that you have already installed a version of Linux that TE-SYSTEMS has tested with anynode on a physical or virtual system. You can set up the installation either on the local system console, or via the network using SSH. The installation of anynode on Red Hat Enterprise Linux is performed using the following steps. Utilize the commands provided for Red Hat Enterprise Linux available on our TE-SYSTEMS repository server. Access them by navigating to RHEL 8 register.

Further details on minimum hardware specifications can be found in our anynode Performance TechNote.

Use the following links to check all available anynode versions and components for Linux/Debian:

Index of /debian/pool/main/a/

https://linux.te-systems.de/debian/pool/main/a/

anynode (kernel)

https://linux.te-systems.de/debian/pool/main/a/anynode/

anynode monitor

https://linux.te-systems.de/debian/pool/main/a/anynodemon/

anynode frontend

https://linux.te-systems.de/debian/pool/main/a/anynodefe/

anynode administration

https://linux.te-systems.de/debian/pool/main/a/anynodead/

The Linux repository server will automatically install the latest available version of anynode.

In this example, the installation is demonstrated on a system with an already installed copy of Debian 12 performed through the network.

Launch the terminal/shell program in your Linux environment. Login with your username and password.

Note that all other steps need root privileges. The root account, or root user, has the highest privilege over the system.

If your user is a registered user in the SUDO group, you can simply activate a root console by sudo -s. Alternatively, you can use su, in which case you need to enter the root user's password. In our example, we use su. When su is used without arguments, it switches to the superuser (root) by default, and you will be prompted to enter the password for the superuser.

Screenshot: Established connection to the Linux server with superuser (root).
Established connection to the Linux server with superuser (root).

From the TE-SYSTEMS repository server, perform the relevant commands using copy and paste

Screenshot: TE-SYSTEMS repository server start page for anynode installation on Debian, Ubuntu and Raspbian. Screenshot: TE-SYSTEMS repository server start page for anynode installation on Debian, Ubuntu and Raspbian.
TE-SYSTEMS repository server start page for anynode installation on Debian, Ubuntu and Raspbian.

Navigate to Debian / Ubuntu / Raspbian and copy the Download install shell script onto the Linux computer. Your command utilizes only wget along with the URL to download the script, without the inclusion of the dollar sign:

wget https://linux.te-systems.de/anynode_debian_install.bash

Execute the script.

Screenshot: Download install shell script for installation of anynode on Debian / Ubuntu / Raspbian.
Download install shell script for installation of anynode on Debian / Ubuntu / Raspbian.

Now, we look at the configuration of our network interfaces. Using ip addr, we can see the available interfaces and how they're configured. Since anynode is a network demarcation point within your VoIP infrastructure, there are likely at least two network interfaces: an internal and an external. In this example, we want the internal interfaces to access the web interface for configuration purposes - in our example, here the interface named eth0.

Screenshot: Shell script command for network interfaces configuration on Debian 12.
Shell script command for network interfaces configuration on Debian 12.

The installation command provided on the TE-SYSTEM repository server intends to execute a Bash script named anynode_debian_install.bash on a Debian system, passing the network interface name, in this case, eth0 as an argument. If your network interface is indeed eth0, you can execute the command as follows:

source ./anynode_debian_install.bash eth0

This assumes that the script anynode_debian_install.bash is in the current directory. The source command is used to execute the script in the current shell context, and eth0 is passed as an argument to the script. This process may take up to a few minutes. During the script all anynode components and the associated packages are downloaded and installed.

Screenshot: Executed shell script command for installation of anynode on Debian.
Executed shell script command for installation of anynode on Debian.

The installation consists of four packages, which install various anynode services

  • anynode (anynode – The Software SBC)

  • anynodead (anynode administration)

  • anynodefe (anynode frontend)

  • anynodemon (anynode monitor)

anynode is installed in two different directories:

For non-variable data (anynode/anynodead/anynodefe/anynodemon):

/opt/tesystems/<name of the anynode service>

For variable data (for instance configuration data, IPC data, trace data...): (anynode/anynodead/anynodefe/anynodemon)

/var/opt/tesystems/<name of the anynode service >

After completing the installation, shell script will display the IP address of the anynode frontend.

Screenshot: Executed shell script command for installation of anynode on Debian with IP for connection to the web frontend.
Executed shell script command for installation of anynode on Debian with IP for connection to the web frontend.

Connect via a browser with the anynode configuration and make your initial setup.

If you wish to switch from accessing via HTTPS to unencrypted access, please clear the cookies for the TCP connection. In this case, the browser passes the cookie from the TLS connection, and you won't be able to access the anynode frontend over TCP.

Upon the initial launch of anynode in the browser after deployment, you will encounter a message with the HTTPS crossed out. This happens because the common self-signed certificate in anynode does not match the hostname you are visiting. Despite the crossed-out HTTPS, the connection remains secure. This persistent message is due to the browser not trusting the self-signed certificate from anynode. Ignore these messages initially and proceed to set up the password for accessing the anynode frontend. We will address this issue shortly. Depending on your browser, click on the Advanced button.

Screenshot: Browser privacy message during access to the anynode frontend. Screenshot: Browser privacy message during access to the anynode frontend.
Browser privacy message during access to the anynode frontend.

In the advanced view, click on Continue to your IP.

Screenshot: Browser privacy message with advanced view during access to the anynode frontend. Screenshot: Browser privacy message with advanced view during access to the anynode frontend.
Browser privacy message with advanced view during access to the anynode frontend.

Refer to our First Steps video for the subsequent steps of the initial password setup. You can replace the certificate of the pre-configured HTTPS connector with your own certificate or request a certificate through the ACME functionality in anynode from a certificate issuance provider such as Let's Encrypt or ZeroSSL. For further steps, refer to our guide on Let's Encrypt & Co. with ACME and anynode – The Software SBC.

Congratulations, you have successfully installed anynode on Debian and are now enjoying all the benefits of this freely available operating system.



Further useful commands

To conclude, we would like to provide you with some additional useful commands for administering anynode:

If you wish to stop and restart the anynode frontend:

su
stop anynodefe systemctl
start anynodefe

You can check the operational status using the following command:

systemctl status anynodefe
Screenshot: Executed shell script command for anynode system status on Debian.
Executed shell script command for anynode system status on Debian.

This can be done for all four services:

  • anynode (anynode – The Software SBC)

  • anynodead (anynode administration)

  • anynodefe (anynode frontend)

  • anynodemon (anynode monitor)



anynode Deinstallation

The uninstallation process relies on the standard package management of Debian. For more information, refer to the Debian Manual.

To remove individual packages from the anynode installation, use the command apt remove followed by the corresponding package name. For example, to remove the anynode monitor:

apt remove anynodemon
Screenshot: Executed command for anynode deinstallation on Debian.
Executed command for anynode deinstallation on Debian.

This must be done for all four packages:

  • anynode (anynode – The Software SBC)

  • anynodead (anynode administration)

  • anynodefe (anynode frontend)

  • anynodemon (anynode monitor)

Afterwards, you can execute:

apt autoremove

This command deletes additional packages that were installed as dependencies but are no longer needed.

For a complete uninstallation, including all configuration data, user management, call history, etc., use the command:

apt purge anynode

This must be done for all four packages:

  • anynode (anynode – The Software SBC)

  • anynodead (anynode administration)

  • anynodefe (anynode frontend)

  • anynodemon (anynode monitor)