Tutorial de Instalação Instalação do Sneplivre 1.3.9.3 (fonte) em Asterisk 1.4.44 Distribuição Linux Debian Wheezy 7.2 amd64 (64 bits) Elaborado por: Urik B. da Silva E-mail: urikbs@gmail.com Atualizado em: 07/11/2013 SNEP Livre http://www.sneplivre.com.br 1/16
Atribuição Uso não-comercial Compartilhamento pela mesma licença 2.5 Brasil Você pode: Copiar, distribuir, exibir e executar a obra. Sob as seguintes condições: Atribuição: Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. Uso não-comercial: Você não pode utilizar esta obra com finalidades comerciais Compartilhamento pela mesma licença: Se você alterar, transformar ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta. A reprodução do material contido neste tutorial é permitido desde que se incluam os créditos ao autor em local visível. SNEP Livre http://www.sneplivre.com.br 2/16
Índice de ilustrações Ilustração 1: Definindo senha de root do banco de dados MySQL...7 Ilustração 2: PHP 5.4.4...7 Ilustração 3: ERRO Forbidden...12 Ilustração 4: Erro MySQL causado por versão do PHP5...12 Ilustração 5: Tela de Login...15 Ilustração 6: Tela padrao do sistema...15 SNEP Livre http://www.sneplivre.com.br 3/16
Sumário Versão...4 1. Objetivo...5 2. Verificando os respositórios...6 3. Instalando o Apache2...6 4. Instalando o MySQL...6 5. Instalação do PHP5...7 6. Instalando as dependências pré-compilação do Asterisk...8 6.1 Instalando o headers...8 6.2 Obtendo e Instalando o Asterisk...8 7. Obtendo e instalando o SNEP Livre...10 7. Efetuando o downgrade do PHP 5.4 para 5.3...13 3. Considerações Finais...16 Versão Criado/Alterado Data Versão Urik B. Da Silva 07/11/2013 V1.0 SNEP Livre http://www.sneplivre.com.br 4/16
1. Objetivo O objetivo desse pequeno tutorial (Howto) é guiar usuários iniciantes ou avançados para proceder uma instalação do SNEP Livre usando os pacotes fontes, compilando o Asterisk e resolvendo dependências na mão a partir do sistema operacional Debian, sem utilizar a ISO que está disponível já pronta no site do SNEP Livre. Nesse tutorial não serão abordados aspectos de instalação, particionamento do Debian. Como referência, pode ser consultado o site oficial: http://www.debian.org/releases/stable/installmanual As versões utilizadas nesse tutorial são: Debian Wheezy 7.2 amd64 (64 bits) Disponível em: http://debian.c3sl.ufpr.br/debian-cd/7.2.0/amd64/iso-cd/ Asterisk 1.4.44 Disponível em: http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.44.tar.gz SNEP Livre 1.3.9.3 Disponível em: http://sourceforge.net/projects/snep/files/snep/stable/ O procedimento completo de todas as etapas deve durar entre 30 e 50 minutos, dependendo do seu nível de familiaridade com o SNEP, Asterisk e Debian. Notas: Você deverá efetuar todos os passos abaixo utilizando o usuário root (#); Anote as senhas que você usar, elas serão importantes nos passos; SNEP Livre http://www.sneplivre.com.br 5/16
2. Verificando os respositórios Antes de proceder com a instalação dos pacotes, verifique se os repositórios estão atualizados. cat /etc/apt/sources.list O retorno deverá ser parecido com o abaixo: deb http://debian.pop-sc.rnp.br/debian/ squeeze main deb-src http://debian.pop-sc.rnp.br/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main Atualize o repositório: apt-get update 3. Instalando o Apache2 apt-get install apache2 Do you want to continue [Y/n]? Y Antes de proceder edite o arquivo /etc/apache2/apache2.conf e na linha 85, abaixo de ServerRoot adicione a linha: ServerName sneplivre 4. Instalando o MySQL apt-get install mysql-server Do you want to continue [Y/n]? Y SNEP Livre http://www.sneplivre.com.br 6/16
Na tela que aparecerá, entre com a senha de root que desejar. Anote, e não perca essa senha. Ilustração 1: Definindo senha de root do banco de dados MySQL 5. Instalação do PHP5 apt-get install php5 php5-cgi php5-gd php5-mysql Do you want to continue [Y/n]? Y Após finalizar a instalação, crie o arquivo info.php com o conteúdo para testar o funcionamento do PHP: vim /var/www/info.php <?php phpinfo()?> Reinicie o Apache e teste o funcionamento no browser acessando o IP do servidor. /etc/init.d/apache2 restart http://ipdoservidor/info.php Se você ver uma página com várias informações do sistema e módulo PHP instalados, prossiga com a instalação. Senão, reveja algum passo acima. Ilustração 2: PHP 5.4.4 SNEP Livre http://www.sneplivre.com.br 7/16
6. Instalando as dependências pré-compilação do Asterisk apt-get install unixodbc odbcinst1debian2 libcurl3 libncurses5-dev build-essential libmyodbc unixodbc unixodbc-dev libodbcinstq4-1 libapache2-mod-php5 Do you want to continue [Y/n]? Y 6.1 Instalando o headers apt-get install linux-headers-`uname -r` 6.2 Obtendo e Instalando o Asterisk cd /usr/src wget -c http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.44.tar.gz tar -zxvf asterisk-1.4.44.tar.gz cd asterisk-1.4.44/./configure make menuselect Confirme se os driver ODBC estão instalados: ---> Call Detail Recording [*] cdr_csv [*] cdr_custom [*] cdr_manager [*] cdr_odbc ---> Channel Drivers Marque a opção [*] chan_features Se sim, sai do menu (ESC) e siga os passos abaixo. Se não, reveja algum passo acima. Enter S to save your changes, and exit S SNEP Livre http://www.sneplivre.com.br 8/16
make && make install Finalizando a instalação, adicionando o inicializável do Asterisk no init.d cp /usr/src/asterisk-1.4.44/contrib/init.d/rc.debian.asterisk /etc/init.d/asterisk cd /etc/init.d Edite o arquivo /usr/sbin/safe_asterisk e altere na primeira linha. De: #!/bin/sh Para: #!/bin/bash Adicionando o Asterisk na inicialização automática do sistema. cd /etc/init.d update-rc.d asterisk defaults SNEP Livre http://www.sneplivre.com.br 9/16
7. Obtendo e instalando o SNEP Livre cp sneplivre-1.3.9.3.tar.gz /var/www/ cd /var/www tar -zxvf sneplivre-1.3.9.3.tar.gz chown -R www-data.www-data sneplivre/ bzip2 -d snep-1.3.8.tar.bz2 tar -xvf snep-1.3.8.tar mv snep-1.3.8 snep chown -R www-data.www-data snep/ ln -s /var/www/sneplivre /var/www/snep cp /var/www/snep/install/snep.apache2 /etc/apache2/sites-enabled/001-snep cp -avr /var/www/snep/install/etc/asterisk/ /etc/ cd /var/www/snep/install/etc cp *.ini /etc/ Criar a base de dados, usuário snep e importar os templates do banco: mysql -u root -p < /var/www/snep/install/database.sql mysql -u root -p snep25 < /var/www/snep/default/installer/schema.sql mysql -u root -p snep25 < /var/www/snep/default/installer/system_data.sql mysql -u root -p snep25 < /var/www/snep/default/installer/cnl_data.sql Ajustando os diretórios necessários ao SNEP: ln -s /var/www/snep/agi/ /var/lib/asterisk/agi-bin/snep mkdir /var/lib/asterisk/sounds/backup mkdir /var/lib/asterisk/sounds/tmp chown -R www-data.www-data /var/lib/asterisk/sounds/ mkdir /var/lib/asterisk/moh/snep_1 mkdir /var/lib/asterisk/moh/snep_2 mkdir /var/lib/asterisk/moh/snep_3 chown -R www-data.www-data /var/lib/asterisk/moh/ SNEP Livre http://www.sneplivre.com.br 10/16
cd /usr/src/ wget -c http://www.sneplivre.com.br/downloads/asterisk-sounds.tgz tar -zxvf asterisk-sounds.tgz mv /usr/src/sounds/pt_br/ /var/lib/asterisk/sounds/ chown -R www-data:www-data /var/lib/asterisk/sounds/ ln -s /var/lib/asterisk/sounds/pt_br /var/www/snep/sounds/pt_br ln -s /var/lib/asterisk/moh/ /var/www/snep/sounds/moh mkdir /var/log/snep touch /var/log/snep/ui.log chown www-data.www-data /var/log/snep/ui.log Reinicie o Apache e inicie o Asterisk: /etc/init.d/apache2 restart /etc/init.d/asterisk start Para testar o funcionamento do Asterisk: # rasterisk Connected to Asterisk 1.4.44 currently running on sneplivre (pid = 21397) Verbosity is at least 3 sneplivre*cli> exit Executing last minute cleanups SNEP Livre http://www.sneplivre.com.br 11/16
Finalizando a instalação através do Wizard: 1. Através do browser, acesse o endereço http://ipdoservidor/snep Ilustração 3: ERRO Forbidden Se você receber o erro acima, proceda como abaixo: Edite o arquivo /etc/apache2/sites-enabled/001-snep Altere as linhas 7 e 23, de 192.168.0.0 para a classe de rede que o seu servidor se encontra: Allow from 127.0.0.0/255.0.0.0 192.168.0.0/255.255.0.0 201.47.74.147/255.255.255.255 Obs.: Existem alguns parâmetros que também podem ser ajustados de acordo com o hardware que você está utilizando. Para um servidor com processodor Core 2 Duo 2Gb RAM, a configuração abaixo têm bom desempenho e não trava relatórios: php_value output_buffering 4096 php_value memory_limit 512M php_value upload_max_filesize 10M php_value max_execution_time 180 Se você receber a mensagem abaixo, precisará efetuar um procedimento de downgrade do PHP5 para correção: Ilustração 4: Erro MySQL causado por versão do PHP5 SNEP Livre http://www.sneplivre.com.br 12/16
7. Efetuando o downgrade do PHP 5.4 para 5.3 O PHP 5.4.4 extingiu o suporte ao parâmetro register_globals, que é fundamental para funcionamento pleno do SNEP. Devido a isso é necessário efetuar o downgrade do PHP5 seguindo os passos abaixo: Fonte: http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/ Edite o arquivo /etc/apt/sources.list e adicione as linhas abaixo: vim /etc/apt/sources.list # PHP Downgrade deb http://ftp.debian.org/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free Crie o arquivo /etc/apt/preferences.d/preferences com o conteúdo: Package: php5* Pin: release a=oldstable Pin-Priority: 700 Package: libapache2-mod-php5 Pin: release a=oldstable Pin-Priority: 700 Package: php-pear Pin: release a=oldstable Pin-Priority: 700 Package: php-apc Pin: release a=oldstable Pin-Priority: 700 Package: * Pin: release a=stable Pin-Priority: 600 Salve e saia do arquivo. No prompt de comandos, digite o comando abaixo: PHP=$(dpkg -l grep php grep 5.4.4 awk '{print $2}') SNEP Livre http://www.sneplivre.com.br 13/16
apt-get update apt-get install --reinstall $PHP Lendo listas de pacotes... Pronto Construindo árvore de dependências Lendo informação de estado... Pronto Os pacotes extra a seguir serão instalados: libdb4.8 libjpeg62 libmysqlclient16 libssl0.9.8 libt1-5 php5-suhosin Pacotes sugeridos: php-pear Os NOVOS pacotes a seguir serão instalados: libdb4.8 libjpeg62 libmysqlclient16 libssl0.9.8 libt1-5 php5-suhosin Os pacotes a seguir serão REVERTIDOS: libapache2-mod-php5 php5 php5-cgi php5-cli php5-common php5-gd php5-mysql 0 pacotes atualizados, 6 pacotes novos instalados, 7 revertidos, 0 a serem removidos e 0 não atualizados. É preciso baixar 16,6 MB de arquivos. Depois desta operação, 8.551 kb adicionais de espaço em disco serão usados. Você quer continuar [S/n]? S Após o procedimento, todos os pacotes do PHP5 estarão na versão 5.3, conforme pode ser comprovado: Reinicie o Apache novamente. /etc/init.d/apache2 restart SNEP Livre http://www.sneplivre.com.br 14/16
Pronto! O Snep está pronto para uso funcionando na versão 7.2 do Debian, conforme abaixo: Ilustração 5: Tela de Login Login: admin senha: admin123 Tela de funcionamento do sistema: Ilustração 6: Tela padrao do sistema SNEP Livre http://www.sneplivre.com.br 15/16
3. Considerações Finais O Tutorial teve como objetivo apresentar uma configuração completa de um ambiente operacional de telefonia IP. Caso encontre algum erro, ou encontre outra solução, ou queira colaborar com mais material de colaboração com o projeto do Sneplivre, utilize o fórum do site http://www.sneplivre.com.br e colabore para o crescimento dessa ferramenta genuinamente brasileira. SNEP Livre http://www.sneplivre.com.br 16/16