# asterisk prepare packages
apt install build-essential openssh-server bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev sudo libmyodbc subversion libtool-bin python-dev php-pear apache2 php5 libapache2-mod-php5 php5-curl php5-cli php5-mysql php5-gd php5-json php5-geoip php5-intl php5-mcrypt php5-odbc php5-xmlrpc php5-apcu php5-memcache php5-pspell php5-xsl php5-sqlite libmariadbd-dev default-libmysqlclient-dev mariadb-server mariadb-client
# nodejs (for freepbx)
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash –
apt install -y nodejs
reboot
# janson
cd /usr/local/src/
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
tar vxfz jansson.tar.gz
cd jansson-*
autoreconf -i
./configure
make
make install
# asterisk 13
cd /usr/local/src/
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar xvfz asterisk-13-current.tar.gz
cd asterisk-*
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure –with-pjproject-bundled
make menuselect
make
make install
make config
ldconfig
update-rc.d -f asterisk remove
service asterisk start
asterisk -rvvvv
service asterisk stop
# asterisk user and permissions
adduser –system –group –home /var/lib/asterisk –no-create-home –gecos “Asterisk PBX” asterisk
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
# reconfigure apache2
sed -i ‘s/\(^upload_max_filesize = \).*/\120M/’ /etc/php5/apache2/php.ini
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sed -i ‘s/^\(User\|Group\).*/\1 asterisk/’ /etc/apache2/apache2.conf
sed -i ‘s/AllowOverride None/AllowOverride All/’ /etc/apache2/apache2.conf
service apache2 restart
# odbc
nano /etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/arm-linux-gnueabihf/odbc/libmyodbc.so
Setup = /usr/lib/arm-linux-gnueabihf/odbc/libodbcmyS.so
FileUsage = 1
nano /etc/odbc.ini
[MySQL-asteriskcdrdb]
Description=MySQL connection to ‘asteriskcdrdb’ database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3
Charset=utf8
# freepbx
rm -rf /var/www/html
cd /usr/local/src/
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
tar vxfz freepbx-14.0-latest.tgz
cd freepbx
touch /etc/asterisk/ari.conf
./start_asterisk start
./install -n
#
a2enmod rewrite
service apache2 restart
http://ip create account
# systemd service
nano /etc/systemd/system/freepbx.service
[Unit]
Description=FreePBX VoIP Server
After=mysql.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start -q
ExecStop=/usr/sbin/fwconsole stop -q
[Install]
WantedBy=multi-user.target
#
systemctl enable freepbx.service
systemctl start freepbx