How to Install FreeSWITCH on Alpine Linux Latest

FreeSWITCH is a popular open-source communication platform designed to function as a VoIP system, PBX, or even as an IVR. It is widely used by businesses and startups around the world to manage their communication infrastructure.

Alpine Linux, on the other hand, is a lightweight, security-oriented operating system, that is easy to use and maintain. It provides users with a simple yet effective approach to building and deploying applications using its package management system that is based on apk-tools.

In this tutorial, we will guide you through the process of installing FreeSWITCH on Alpine Linux Latest using the command line.

Prerequisites

Before we start, you should ensure that you have the following prerequisites:

Step 1: Update Your System

First, you need to update your system's package list by running the command below:

# apk update

Step 2: Install Dependencies

Next, you need to install some dependencies for FreeSWITCH to run correctly, including gcc, g++, make, curl, libtool, autoconf, automake, and freeswitch-music.

To install them, you can use the following command:

# apk add build-base curl libtool autoconf automake freeswitch-music

Step 3: Install FreeSWITCH

To install FreeSWITCH on Alpine Linux Latest, you need to download its source code using curl and extract it using tar.

To do this, run the following commands:

# curl -L https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.6.tar.gz -o freeswitch-1.10.6.tar.gz
# tar xvzf freeswitch-1.10.6.tar.gz

Once the file is downloaded, extract it using the tar command as shown above.

Navigate to the extracted FreeSWITCH directory and execute the auto-install script bootstrap.sh to download and configure the necessary dependencies for building the FreeSWITCH source code.

# cd freeswitch-1.10.6
# ./bootstrap.sh -j

After the bootstrap process completes successfully, you can start compiling the FreeSWITCH source code.

# ./configure --disable-fhs
# make && make install

This command will install FreeSWITCH binaries and libraries to the default location /usr/local/freeswitch.

Step 4: Configure FreeSWITCH

Once you have installed FreeSWITCH, the next step is to configure the system to start and run the FreeSWITCH daemon at startup.

First, create a required user and group for FreeSWITCH.

# adduser -D -g freeswitch -h /usr/local/freeswitch/ -s /bin/false freeswitch

Next, ensure that the FreeSWITCH files and directories have the correct permissions.

# chown -R freeswitch:freeswitch /usr/local/freeswitch/
# chmod -R 770 /usr/local/freeswitch/

After setting up the permissions, you need to create the FreeSWITCH system startup service file.

# touch /etc/init.d/freeswitch
# chmod +x /etc/init.d/freeswitch

Use your preferred editor to create a new file /etc/init.d/freeswitch with the following configuration:

#!/sbin/openrc-run
depend() {
        before sysctl
        need net
        need localmount
}

command="/usr/local/freeswitch/bin/freeswitch"
command_args="-u freeswitch -g freeswitch"
command_user="freeswitch"
pidfile="/run/freeswitch.pid"
EOF

Save and close the file.

Step 5: Start the FreeSWITCH Service

Finally, start the FreeSWITCH service to ensure that it is running correctly.

# rc-service freeswitch start

Congratulations, you have successfully installed FreeSWITCH on Alpine Linux Latest! You can now start using FreeSWITCH to manage your communication infrastructure.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!