Instalando o asterisk no Debian GNU/Linux Este tutorial pretende explicar os procedimentos básicos de instalação do asterisk num servidor rodando Debian Sarge e com somente o sistema básico instalado. O sistema de testes foi um Debian GNU/Linux (SARGE) com somente o sistema base instalado, mas os passos são os mesmos para qualquer distribuição, mudando somente a forma de satisfazer as dependências de pacotes. Nota: Se pretende atualizar o kernel, a melhor opção é fazer isto antes de qualquer procedimento de instalação do asterisk, uma vez que ele usa os fontes do kernel para compilar a sua versão totalmente compatível com ele. 1. Instalar o pacote cvs: # apt-get update # apt-get install cvs Aceite as configurações padrão e estaremos prontos para utilizar o CVS. 2. Baixar os pacotes do asterisk via CVS: Ir ao diretório onde serão armazenados os códigos-fonte: # cd /usr/src/ Exportar a variável com login, senha, host e diretório de onde o CVS irá buscar os arquivos: # export CVSROOT=:pserver:anoncvs:anoncvs@cvs.digium.com:/usr/cvsroot Solicitar que o CVS baixe as versões mais atuais dos pacotes necessários: # cvs checkout zaptel libpri asterisk Para instalar os pacotes extras (não necessários no momento), utilize: # cvs checkout asterisk-sounds asterisk-addons Update (04/07/2006): Desde novembro de 2005 o site do asterisk não suporta mais downloads via CVS, em seu lugar atualmente é utilizado o subversion, então, vamos instalar o pacote do subversion: # apt-get install subversion Após isto, basta obter os fontes atualizados da libpri, do zaptel e do asterisk: # svn checkout http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2 # svn checkout http://svn.digium.com/svn/zaptel/branches/1.2 zaptel-1.2 # svn checkout http://svn.digium.com/svn/libpri/branches/1.2 libpri-1.2 Compilar/instalar o módulo zaptel: # cd zaptel OBS: Caso possua um processador Intel superior ao Pentium II, habilite o suporte às instruções MMX, editando o arquivo zconfig.h dentro do diretório zaptel e trocando a linha: /* #define CONFIG_ZAPTEL_MMX */ por: #define CONFIG_ZAPTEL_MMX IMPORTANTE: Se estiver utilizando placas que utilizem o driver tormenta2 (no meu caso aqui estou utilizando as Xilinx 400P), baixe este arquivo e substitua pelo que se encontra em /usr/src/zaptel. Este arquivo é para um upgrade do firmware da placa. Depois disso vamos proceder normalmente com a compilação: # make clean # make # make install # make config # update-rc.d zaptel defaults 99 Compilar/instalar a libpri: # cd .. # cd libpri # make clean # make # make install Compilar/instalar o asterisk: # cd .. # cd asterisk # make clean OBS: na minha instalação foi necessário instalar antes alguns pacotes, então já fica a dica, se tiver o mesmo problema, manda um: # apt-get install termcap-compat libedit-dev libedit2 libssl-dev zlib-bin zlib1g-dev mpg123 libnewt0.51 newt-tcl libnewt-dev Sem pestanejar, isso deve resolver teu problema. Feito isto, vamos prosseguir com a compilação do asterisk: # make Nota: isto deve demorar um pouco, dependendo da máquina que possua, na minha máquina de testes (Um Intel Xeon 2.8 com 2GB de RAM e disco SCSI Ultra320 de 10k RPM) a compilação inteira durou cerca de 10 minutos, no livro "Asterisk: O futuro da telefonia" há relatos de compilação em um Pentium 133 que durou 5 horas. Se tudo for compilado com sucesso, no fim do processo você verá uma mensagem parecida com esta: +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, but + + cannot be run before being installed by + + running: + + + + make install + +-------------------------------------------+ Então, vamos fazer o que ele manda: # make install Agora vamos copiar o script de inicialização: # cp contrib/init.d/rc.debian.asterisk /etc/init.d/ E adicionar as entradas dele na inicialização do sistema: # update-rc.d rc.debian.asterisk defaults 99 Setar a permissão de execução aos scripts que copiamos anteriormente para o /etc/init.d: # chmod +x /etc/init.d/rc.debian.asterisk # chmod +x /etc/init.d/zaptel E pronto, seu asterisk está instalado e pronto para rodar, faltando apenas a configuração propriamente dita, em /etc/zaptel.conf e /etc/asterisk.