Instalando FreePBX 13 no Debian 8

asterisk freepbx

FreePBX é uma GUI de código aberto baseada na web (interface gráfica do usuário) que controla e gerencia o Asterisk (PBX), um servidor de comunicação de código aberto. O FreePBX está licenciado sob a GNU General Public License (GPL), uma licença de código aberto. O FreePBX pode ser instalado manualmente ou como parte do FreePBX Distro pré-configurado que inclui sistema operacional OS, Asterisk, FreePBX GUI e dependências variadas.

Instalação

Pré-requisitos: Debian 8 64bits

Instaler o servidor ssh e permita o acesso do usuário root pelo com o comando abaixo:

# apt-get install openssh-server
# sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# service sshd restart

Atualize o sistema.

# apt-get update && apt-get upgrade -y

Instale as dependências com o comando abaixo :

Importante: Como parte desta instalação, você será solicitado várias vezes por uma senha do mysql. Você pode deixar em branco (apenas digite enter), pois os próximos procedimentos gerarão uma senha segura. Se você definir uma senha agora, irá causar problemas mais a frente. Por favor, não configure uma senha do Mysql, a menos que saiba o que esta fazendo)

# apt-get install -y build-essential 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

Atualize a versão do Kernel com o comando abaixo:

Atualiza kernel

Reinicialize a máquina com o comando abaixo:

# reboot

Instale a funcionalidade de console para o Pear.

# pear install Console_Getopt  

Instalação e configuração do Asterisk

Baixe os source files do Asterisk.

# cd /usr/src
# wget -c http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
# wget -c http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
# wget -c 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 -c http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2

Compile e instale o DAHDI e o 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-current.tar.gz
# rm -f libpri-current.tar.gz
# cd libpri-*
# make
# make install

Compile e instale o 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 e Instale JANSSON.

# cd /usr/src
# tar vxfz jansson.tar.gz
# rm -f jansson.tar.gz
# cd jansson-*
# autoreconf -i
# ./configure
# make && make install

Compile e instale o 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
Instalação do Asterisk
Saída do comando # ./configure

Você será solicitado a escolher os módulos a serem compilados. A maioria deles já estará habilitada, mas se você quiser ter suporte para MP3 (por exemplo, para Music on Hold), você precisa ativar manualmente ‘format_mp3’ na primeira página.

# make menuselect
menuselect asterisk
Saída do comando # make menuselect

 

Depois de selecionar ‘Salve e Exit’, você pode continuar.

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

Por padrão os áudio instalado são de baixa qualidade, abaixo baixe os arquivos de áudio de alta qualidade para o Asterisk.

# cd /var/lib/asterisk/sounds
# wget -c http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
# wget -c 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
# wget -c http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz
# wget -c 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

Instalação e configuração do FreePBX

Crie o usuário asterisk e defina as permissões conforme comandos abaixo.

# 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/html

Algumas modificações no 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

Agora configure o ODBC.

# cat >> /etc/odbcinst.ini << EOF
[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

EOF
# cat >> /etc/odbc.ini << EOF
[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3
 
EOF

Download e instalação do 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

Iniciando o asterisk
Saída d comando # ./start_asterisk start
Instalação FreePBX
Saída do comando # ./install -n

Precisamos agora configurar o FreePBX para iniciar o Asterisk durante a inicialização do Debian 8.

Crie o arquivo freepbx.service na pasta /etc/systemd/system/ e adicione o conteúdo abaixo:

[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

Habilite o serviço com o comando abaixo:

# systemctl enable freepbx.service

Finalmente, depois deste longo caminho, poderemos iniciar o FreePBX.

# systemctl start freepbx

Para verificar o status do serviço execute o comando abaixo:

# systemctl status -l freepbx.service
Status do FreePBX
Saída do comando # systemctl status -l freepbx.service

Habilite o mod_rewrite no Apache e reinicie-o com o comando abaixo:

# a2enmod rewrite 
# service apache2 restart

Agora podemos acessar a pagina web e definir um usuário e senha. Digite na barra de endereço do seu navegador o ip do servidor.

Criando as credenciais
Página de criação das credenciais de acesso

Após definido as credenciais o sistema redirecionará para a página de login, conforme imagem abaixo:

Pagina inicial do FreePBX
Página de login

Bom, chegamos ao fim de mais um tutorial e caso queira saber mais sobre o projeto FreePBX, acesse o site https://www.freepbx.org/.

Ajude-nos a manter o site, realize uma doação clicando no botão abaixo: 

Jackson de Oliveira
Siga-me

Jackson de Oliveira

Formado em Análise e Desenvolvimento de Sistemas pela Faculdade Anhanguera - Campinas - SP e Técnico em Informática e Programação pelo Centro Paula Souza - Hortolândia -SP
Jackson de Oliveira
Siga-me

Últimos posts por Jackson de Oliveira (exibir todos)

Se você gostou compartilhe!