Debian 9 - Verto Communicator quick start
# get nodejs from source, needed for npm
apt-get update
apt-get -y install apache2 curl
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get update
apt-get -y install nodejs
# get FreeSWITCH source code
git clone https://freeswitch.org/stash/scm/fs/freeswitch.git /usr/src/freeswitch
# build Verto Communicator
cd /usr/src/freeswitch/html5/verto/verto_communicator
npm install -g grunt grunt-cli bower
npm install
bower --allow-root install
grunt build
# copy contents of dist folder to a web directory
mkdir -p /var/www/html/vc
cp -r /usr/src/freeswitch/html5/verto/verto_communicator/dist/* /var/www/html/vc/
# update password to match what in vars.xml
sed -i 's/1234/12345/' /var/www/html/vc/config.json
# enable secure web browsing
a2enmod ssl
a2ensite default-ssl.conf
systemctl restart apache2
cd /usr/local/freeswitch/certs
openssl req -x509 -newkey rsa:4096 -keyout self.key -out self.crt -subj "/C=US/ST=freeswitch/L=freeswitch/O=freeswitch/OU=freeswitch/CN=freeswitch" -nodes -days 365 -sha256
sed -i 's/\t\tSSLCertificateFile\t\/etc\/ssl\/certs\/ssl-cert-snakeoil.pem/\t\t#SSLCertificateFile\t\/etc\/ssl\/certs\/ssl-cert-snakeoil.pem\n\t\tSSLCertificateFile \/etc\/ssl\/certs\/server.crt/' /etc/apache2/sites-available/default-ssl.conf
sed -i 's/\t\tSSLCertificateKeyFile \/etc\/ssl\/private\/ssl-cert-snakeoil.key/\t\t#SSLCertificateKeyFile \/etc\/ssl\/private\/ssl-cert-snakeoil.key\n\t\tSSLCertificateKeyFile \/etc\/ssl\/private\/server.key/' /etc/apache2/sites-available/default-ssl.conf
mv /usr/local/freeswitch/certs/wss.pem /usr/local/freeswitch/certs/wss.pem.orig
cp self.crt /etc/ssl/certs/server.crt
cp self.key /etc/ssl/private/server.key
cat /etc/ssl/certs/server.crt > /usr/local/freeswitch/certs/wss.pem
cat /etc/ssl/private/server.key >> /usr/local/freeswitch/certs/wss.pem
service apache2 restart
service freeswitch restart