Complete Guide to Installing Vicibox 9 on OpenSUSE Leap 15.3 on AWS

Guide to Installing Vicibox 9 on OpenSUSE Leap 15.3 on AWS

Setting up Vicibox 9 on OpenSUSE Leap 15.3 can seem daunting, especially when done through an Amazon AWS instance. This comprehensive guide simplifies the process, providing step-by-step instructions to ensure a smooth installation of Vicidial 9.0.2 on OpenSuSE 15.3.

From initial AWS setup and SSH access to installing necessary dependencies and configuring services, this tutorial covers all the essential steps needed to get your Vicibox up and running efficiently.

Embarking on a Vicibox 9 installation on OpenSUSE Leap 15.3 is no small feat. Below are the comprehensive steps to install Vicidial 9.0.2 on OpenSuSE 15.3 via an Amazon AWS instance.

Initial Setup on AWS

  1. AWS Account Setup: First, establish your AWS account and generate a new instance. Choose Linux as the operating system, specifically OpenSUSE.
  2. SSH Access: Secure an SSH key to access your server. Download the .pem file from AWS and utilize Puttygen for conversion.

Installation Steps

  1. Elevate Privileges:
sudo -i
  • Install Kernel
zypper install kernel*

Follow the prompts and select option #2 for all choices.

  • Add Vicidial Repository
zypper ar https://download.opensuse.org/repositories/home:vicidial:asterisk-16/openSUSE_Leap_15.3/home:vicidial:asterisk-16.repo
  • Refresh Repositories and Upgrade
zypper ref
zypper up
  • Install Asterisk:
zypper install asterisk
reboot
  • Disable SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/semanage.conf

Adding a Swap File

  1. Create Swap Directory:
mkdir -p /var/lib/swap
  • Generate Swap File
dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=1024
  • Set Up Swap File
mkswap /var/lib/swap/swapfile
swapon /var/lib/swap/swapfile
cat /proc/swaps

Configure Swap on Startup:

vim /etc/fstab
  • Add:
/var/lib/swap/swapfile swap swap defaults 0 0
  1. Save and exit.

Installing Dependencies

  1. Install Various Packages:
zypper install make patch gcc gcc-c++ subversion php php-devel php-gd gd-devel php-mbstring php-mcrypt php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd libpcap libpcap-devel libnet ncurses ncurses-devel screen mysql-devel ntp mutt wget nano unzip sipsak sox libuuid-devel
zypper install sqlite3-devel
zypper install mariadb-server mariadb
zypper install httpd php-common php-pdo mod_ssl perl-DBI perl-DBD-MySQL perl-Digest-HMAC perl-YAML
zypper install perl-ExtUtils-ParseXS perl-NetAddr-IP perl-Crypt-SSLeay perl-Curses perl-DBD-Pg perl-Module-ScanDeps perl-Text-CSV perl-HTML-Template perl-IO-Compress perl-Text-Glob perl-Jcode perl-Test-Script perl-Archive-Tar perl-Test-Base perl-OLE-Storage_Lite perl-Archive-Zip perl-Net-Server perl-Convert-ASN1 perl perl-Compress-Raw-Zlib perl-Digest-SHA1 perl-Data-Dumper perl-Error perl-ExtUtils-CBuilder perl-Test-Tester perl-Parse-RecDescent perl-Spiffy perl-IO-Zlib perl-Module-Build perl-HTML-Parser perl-Net-SSLeay perl-Proc-ProcessTable perl-TermReadKey perl-Term-ReadLine-Gnu perl-Digest-SHA perl-Tk perl-Net-SNMP perl-Test-NoWarnings perl-XML-Writer perl-Proc-PID-File perl-Compress-Raw-Bzip2 perl-libwww-perl perl-XML-Parser perl-File-Remove perl-Parse-CPAN-Meta perl-Set-Scalar perl-Probe-Perl perl-File-Which perl-Package-Constants perl-Module-Install perl-File-HomeDir perl-Spreadsheet-ParseExcel perl-Mail-Sendmail
zypper install perl-Spreadsheet-XLSX asterisk-perl perl-version perl-Crypt-DES perl-URI perl-Net-Daemon perl-IO-stringy perl-YAML-Tiny perl-HTML-Tagset perl-Socket6 perl-BSD-Resource perl-IPC-Run3 perl-Text-CSV_XS perl-Unicode-Map perl-Net-Telnet perl-PAR-Dist perl-Date-Manip perl-JSON perl-rrdtool lame screen iftop dahdi-linux-devel perl-GD

MCPAN Preparation

CPAN Configuration:

perl -MCPAN -e 'my $c = "CPAN::HandleConfig"; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => "follow"); $c->edit(build_requires_install_policy => "yes"); $c->commit'
  • Install CPAN Modules
cpan -i String::CRC Tk::TableMatrix Net::Address::IP::Local Term::ReadLine::Gnu Spreadsheet::Read Net::Address::IPv4::Local RPM::Specfile Spreadsheet::XLSX Spreadsheet::ReadSXC

Finalizing Asterisk Installation

Download CPAN Minus and Additional Modules:

cd /usr/bin/
curl -LOk http://xrl.us/cpanm
chmod +x cpanm
cpanm -f File::Which
cpanm -f File::HomeDir
cpanm CPAN::Meta::Requirements
cpanm -f CPAN
cpanm YAML
cpanm MD5
cpanm Digest::MD5
cpanm Digest::SHA1
cpanm Bundle::CPAN
cpanm -f DBD::mysql
cpanm Curses
cpanm Getopt::Long
cpanm Net::Domain
cpanm Term::ReadKey
cpanm Term::ANSIColor
cpanm HTML::FormatText
cpanm MIME::Decoder
cpanm Mail::POP3Client
cpanm User::Identity --force
cpanm Mail::Message
cpanm Crypt::Eksblowfish::Bcrypt

Starting Services Automatically

Enable Services

systemctl start mariadb
systemctl enable mariadb
systemctl start apache2
systemctl enable apache2

Reboot the System

reboot

Asterisk Perl Module Installation

Install Asterisk Perl:

zypper in asterisk-perl
cd /usr/src/
wget http://download.vicidial.com/required-apps/asterisk-perl-0.08.tar.gz
tar -zxf asterisk-perl-0.08.tar.gz
cd asterisk-perl-0.08
perl Makefile.PL && make all && make install

Jansson Installation

Download and Install Jansson:

cd /usr/src/
wget http://www.digip.org/jansson/releases/jansson-2.9.tar.gz
tar -zvxf jansson-2.9.tar.gz
cd jansson-2.9
./configure && make clean && make && make install
ldconfig
rm *.tar.gz

Asterisk and Dahdi Installation

Setup Asterisk:

mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar xzf asterisk-*
tar xzf dahdi-linux-complete-*
tar xzf libpri-*
cd /usr/src/asterisk/dahdi-linux-complete-3.1.0+3.1.0/
rpm -i https://rpmfind.net/linux/opensuse/update/leap/15.1/oss/noarch/kernel-devel-4.12.14-lp151.28.48.1.noarch.rpm
make && make install
cd /usr/src/asterisk/libpri-1.6.0
make clean
make
make install
cd /usr/src/asterisk/asterisk/asterisk-16.17.0/
./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-jansson-bundled
rm menuselect.makeopts
make clean
make
make install
make samples
make config
ldconfig
reboot

Adding the ViciBox Repo

ViciBox Repository

cd /etc/zypp/repos.d/
wget http://download.opensuse.org/repositories/home:vicidial:asterisk-16/openSUSE_Leap_15.3/home:vicidial:asterisk-16.repo
zypper ref

Final Steps

Install ViciBox Components:

zypper in vicibox vicidial

Reboot the System

reboot

After the reboot, you can log in to your ViciBox web interface and complete the configuration for your specific needs.

Please, remember to adjust firewall settings and security configurations according to your network requirements.

Conclusion

Following these detailed steps will lead to a successful installation of Vicibox 9 on OpenSUSE Leap 15.3, hosted on an Amazon AWS instance. With your system now equipped with Vicidial 9.0.2, you’re ready to leverage its powerful features for your call center operations.

Remember to adjust firewall settings and security configurations to match your network requirements. This guide ensures that even complex installations can be handled with ease, paving the way for a robust and reliable Vicibox setup.

Scroll to Top