Interesting... Thanks.. 

BTW, I thought dahdi is no longer used, we quit installing it a while back ? 

Regards 

Faisal Imtiaz 
Snappy Internet & Telecom 
7266 SW 48 Street 
Miami, FL 33155 
Tel: 305 663 5518 x 232 

Help-desk: (305)663-5518 Option 2 or Email: [email protected] 

> From: "Eric Kuhnke" <[email protected]>
> To: [email protected]
> Sent: Thursday, January 14, 2016 11:40:54 PM
> Subject: [AFMUG] Notes: Latest FreePBX+Asterisk on Debian Stretch (testing)
> amd64

> For those with a lot of debian experience, many people have noticed that the
> "testing" branch is actually a lot more stable than described. Debian "stable"
> is very conservative and designed to have nothing break. I even know people 
> who
> run their desktop workstation as 'sid'.

> If you're adventurous enough to run 'stretch' on a VoIP server, here's some
> notes on the process of manually installing the latest releases of Asterisk 
> and
> FreePBX together on 'stretch'. If you just want something that works and is
> much more conservative in the software version packaging, the same process
> could apply to 'jessie' (the current stable version).

> This started when I became generally dissatisfied with the FreePBX distro 
> which
> is based on CentOS 6.x and ships with an ancient kernel. I'm not a huge fan of
> CentOS as either a hypervisor or guest VM, and I needed to run FreePBX on some
> very new hardware that is not happy with a 2.6.xx series Linux kernel. It was
> necessary to have current kernel support for fun things like btrfs and some 
> new
> 10GbE NICs. (Yes, I know you can install the epel-kernel repo on centos and 
> add
> kernel v4.3.x, but that's a hack and going outside of the distro's normal repo
> tree).

> Here's my step by step notes file if anyone wants to try:

> install debian stretch amd64 no gui

> set up the test virtualbox vm to use bridged networking to the host eth0 
> adapter
> (not NAT)

> fully update debian stretch to the latest version of everything

> install and configure asterisk. instructions from freepbx website. everything
> must be run as root (not sudo!)

> you will want to be able to ssh into the server while doing the install

> edit the sshd_config to PermitRootLogin Yes

> install required dependencies:

> apt-get install -y build-essential linux-headers-`uname -r` openssh-server
> apache2 mysql-server\
>  mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd 
> curl
>   sox\
>  libncurses5-dev libssl-dev libmysqlclient-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 libcurl4-openssl-dev libical-dev
>   libneon27-dev libsrtp0-dev\
>   libspandsp-dev sudo libmyodbc subversion

> choose no root password for mysql-server (yet) , this will be configured in a
> later step

> apt-get install sox lame ffmpeg id3tool id3v2 p7zip rsync nmap curl snmp gcc

> a2enmod ssl
> a2enmod rewrite

> delete some things from the local apt disk cache to free up disk space

> apt-get clean

> apt-get autoclean

> install legacy pear requirements, reference:
> https://pear.php.net/package/Console_Getopt/ pear install Console_Getopt

> cd /usr/src
> wget
> http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
> wget
> http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
> wget
> http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
> wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz
> wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2 we want to 
> manually
> retrieve and install the latest versions of all these projects, from these
> sources: http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/
> http://downloads.asterisk.org/pub/telephony/libpri/
> http://downloads.asterisk.org/pub/telephony/asterisk/
> http://www.digip.org/jansson/ http://www.pjsip.org/download.htm compile and
> install DAHDI and libpri

> cd /usr/src
> tar xvfz dahdi-linux-complete-current.tar.gz
> rm -f dahdi-linux-complete-current.tar.gz
> cd dahdi-linux-complete-*
> make all
> make install
> make config
> cd /usr/src
> tar xvfz libpri-1.4-current.tar.gz
> rm -f libpri-1.4-current.tar.gz
> cd libpri-*
> make
> make install

> note: DAHDI is a kernel module so it will need to be recompiled and 
> reinstalled
> if the kernel is upgraded

> compile and install pjsip (pjproject)
> cd /usr/src
> tar -xjvf pjproject-2.4.tar.bz2
> rm -f pjproject-2.4.tar.bz2
> cd pjproject-2.4
> CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound
> --disable-resample --disable-video --disable-opencore-amr
> make dep
> make
> make install

> compile and install jansson
> cd /usr/src
> tar vxfz jansson.tar.gz
> rm -f jansson.tar.gz
> cd jansson-*
> autoreconf -i
> ./configure
> make
> make install

> compile and install asterisk

> cd /usr/src
> tar xvfz asterisk-13-current.tar.gz
> rm -f asterisk-13-current.tar.gz
> cd asterisk-*
> contrib/scripts/get_mp3_source.sh
> contrib/scripts/install_prereq install
> ./configure
> make menuselect

> choose enabled modules

> make
> make install
> make config
> ldconfig
> update-rc.d -f asterisk remove

> retrieve more asterisk sounds

> cd /var/lib/asterisk/sounds
> wget
> http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
> wget
> http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
> tar xvf asterisk-core-sounds-en-wav-current.tar.gz
> rm -f asterisk-core-sounds-en-wav-current.tar.gz
> tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
> rm -f asterisk-extra-sounds-en-wav-current.tar.gz
> # Wideband Audio download
> wget
> http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz
> wget
> http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz
> tar xfz asterisk-extra-sounds-en-g722-current.tar.gz
> rm -f asterisk-extra-sounds-en-g722-current.tar.gz
> tar xfz asterisk-core-sounds-en-g722-current.tar.gz
> rm -f asterisk-core-sounds-en-g722-current.tar.gz

> Install and Configure FreePBX
> Create the Asterisk user and set base file permissions.
> useradd -m 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
> rm -rf /var/www/htmlcd /et

> A few small modifications to Apache.
> 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

> create the /etc/odbcinst.ini file with the following contents:
> [MySQL]
> Description = ODBC for MySQL
> Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
> Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
> FileUsage = 1

> ceate the /etc/odbc.ini file with the following contents:
> [MySQL-asteriskcdrdb]
> Description=MySQL connection to 'asteriskcdrdb' database
> driver=MySQL
> server=localhost
> database=asteriskcdrdb
> Port=3306
> Socket=/var/run/mysqld/mysqld.sock
> option=3

> Download and install FreePBX.
> cd /usr/src
> wget 
> http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
> tar vxfz freepbx-13.0-latest.tgz
> rm -f freepbx-13.0-latest.tgz
> cd freepbx
> ./start_asterisk start
> ./install -n

> configure freepbx from its http GUI

> use the GUI to install all of the free FreePBX modules

> you may need to go through module installation up to 4 times, as some things
> will not install until
> their dependencies are met (confereces, call recording, etc). install, check
> repositories, install again,
> repeat.

> chown the directory /etc/dahdi/ and everything in it to the asterisk user and
> asterisk group, by
> running the command 'amportal chown'

> edit /etc/ssh/sshd_config and disable remote root login

> edit /etc/sudoers and add eric to the sudoers list

> copy eric's ssh public key to the system and verify that logging in works, 
> sudo
> works

> you need to create a systemd startup script to start asterisk and other things
> on boot, reference:
> http://wiki.freepbx.org/display/HTGS/Example+systemd+startup+script+for+FreePBX

Reply via email to