+ Responder ao Tópico



  1. Pessoal alguem teria um script de instalação automatica para a2billing para postar ai ?
    Última edição por provelink; 03-02-2010 às 21:48.

  2. #2
    Gerson Raymond
    http://tlig.com.br/forum/viewtopic.php?f=3&t=2


    #!/bin/sh
    # Instalacao de Script para a2billing versao 1.4 em portugues
    # Copyright (C) <2009> <Luciano Fortuna> luciano.fortuna@gmail.com

    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU Affero General Public License as published by
    # the Free Software Foundation, either version 3 of the License, o
    # (at your option) any later version.

    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    # GNU Affero General Public License for more details.

    # You should have received a copy of the GNU Affero General Public License
    # along with this program. If not, see <http://www.gnu.org/licenses/>.
    #


    clear
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    echo "PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO PERIGO"
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    echo "Este script assume que voce nao mudou o nome de usuario root padrao para o MySQL"
    echo "Se voce alterou sua senha, pressione CTRL-C para sair"
    echo "Em seguida, altere a senha de root do MySQL no script para se adequar a esta instalação."
    echo " "
    echo "Se uma copia anterior do A2Billing ja estar instalado, entao voce deve desinstalar antes"
    echo "Este script ira modifica-lo, ou modifique a sua instalacao antes de executa-lo."
    echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
    read -p "Pressione enter para continuar ou ctrl-C para sair"

    #Change passw0rd below for your MySQL root password if you have changed it from the default.
    MYSQLROOTPASSWORD=password


    echo "*************************************************************"
    echo "Instalando A2Billing - Download de arquivos pela Internet"
    echo ""
    echo " Por Favor, seja paciente"
    echo ""
    echo "CUIDADO, execute este script uma unica vez - caso contrario voce tera"
    echo "entradas duplas na cron e extensoes-a2billing.conf"
    echo "*************************************************************"

    mkdir /usr/src/a2billing
    mkdir /var/www/html/a2billing

    cd /usr/src/a2billing
    wget http://www.asterisk2billing.org/down...g_1.4.1.tar.gz
    tar zxfv A2Billing_1.4.1.tar.gz

    cd /usr/src/a2billing/DataBase/mysql-5.x/

    echo "GRANT ALL PRIVILEGES ON *.* TO 'a2billinguser'@'localhost' IDENTIFIED BY 'a2billing' WITH GRANT OPTION;" | mysql -p$MYSQLROOTPASSWORD
    mysqladmin create mya2billing -u a2billinguser -pa2billing


    echo ""
    echo "Instalando Banco de Dados A2Billing"
    echo "Answer the questions appropriately with reference to /etc/a2billing.conf"
    echo "-----------------------------"
    echo ""

    echo "Digite abaixo o nome do banco de dados que esta dentro do parentese (mya2billing):"
    read dbname

    echo "Digite o nome do Hostname de seu servidor, ou coloque (localhost):"
    read hostname

    echo "Digite o nome do usuario do Banco de Dados (a2billinguser):"
    read username

    echo "Digite a senha do usuario do Banco de Dados (a2billing):"
    read password

    echo mysql --user=$username --password=$password --host=$hostname $dbname

    cat a2billing-schema-v1.4.0.sql UPDATE-a2billing-v1.4.0-to-v1.4.1.sql | mysql --user=$username --password=$password --host=$hostname $dbname

    # cat a2billing-mysql-schema-v1.3.0.sql UPDATE-a2billing-v1.3.0-to-v1.3.1.sql UPDATE-a2billing-v1.3.3-to-v1.3.4.sql UPDATE-a2billing-v1.3.4-to-v1.4.0.sql a2billing-prefix-table-v1.4.0.sql UPDATE-a2billing-v1.4.0-to-v1.4.1.sql | mysql --user=$username --password=$password --host=$hostname $dbname



    #Install some dependencies
    yum -y install perl-DBD-Pg

    cd /usr/src/a2billing

    mv AGI/a2billing.php /var/lib/asterisk/agi-bin/.
    cp -r common/lib /var/lib/asterisk/agi-bin

    mv ./admin/ /var/www/html/a2billing/admin
    mv ./customer/ /var/www/html/a2billing/customer
    mv ./agent/ /var/www/html/a2billing/agent
    mv ./common/ /var/www/html/a2billing/common
    mv ./Cronjobs/ /var/lib/asterisk/agi-bin/lib/Cronjobs
    mv a2billing.conf /etc/a2billing.conf




    #Set up sounds
    cd /usr/src/a2billing/addons/sounds


    #Use this line for RPM based systems as Fedora, CentOS, etc
    ast_sound=/var/lib/asterisk/sounds

    #Use this line for Debian based systems
    #ast_sound=/usr/share/asterisk/sounds

    lang=en
    echo
    echo Instalando arquivos de audio do A2Billing : "$lang"
    echo --------------------------------------------------
    echo creating relevant folders : $ast_sound/$lang
    echo creating relevant folders : $ast_sound/$lang/digits

    mkdir $ast_sound/$lang
    mkdir $ast_sound/$lang/digits
    echo Copy $lang files in the right folder ...

    cp ./$lang/* $ast_sound/$lang/
    cp ./global/* $ast_sound/$lang/


    lang=es
    echo
    echo Instalando arquivos de audio do A2Billing : "$lang"
    echo ---------------------------------------------------
    echo creating relevant folders : $ast_sound/$lang
    echo creating relevant folders : $ast_sound/$lang/digits

    mkdir $ast_sound/$lang
    mkdir $ast_sound/$lang/digits
    echo Copy $lang files in the right folder ...

    cp ./$lang/* $ast_sound/$lang/
    cp ./global/* $ast_sound/$lang/


    lang=fr
    echo
    echo Instalando arquivos de audio do A2Billing : "$lang"
    echo ---------------------------------------------------
    echo creating relevant folders : $ast_sound/$lang
    echo creating relevant folders : $ast_sound/$lang/digits

    mkdir $ast_sound/$lang
    mkdir $ast_sound/$lang/digits
    echo Copy $lang files in the right folder ..

    cp ./$lang/* $ast_sound/$lang/
    cp ./global/* $ast_sound/$lang/



    lang=br
    echo
    echo Instalando arquivos de audio do A2Billing : "$lang"
    echo ---------------------------------------------------
    echo creating relevant folders : $ast_sound/$lang
    echo creating relevant folders : $ast_sound/$lang/digits

    mkdir $ast_sound/$lang
    mkdir $ast_sound/$lang/digits
    echo Copy $lang files in the right folder ...

    cp ./$lang/* $ast_sound/$lang/
    cp ./global/* $ast_sound/$lang/



    lang=ru
    echo
    echo Instalando arquivos de audio do A2Billing : "$lang"
    echo ---------------------------------------------------
    echo creating relevant folders : $ast_sound/$lang
    echo creating relevant folders : $ast_sound/$lang/digits

    mkdir $ast_sound/$lang
    mkdir $ast_sound/$lang/digits
    echo Copy $lang files in the right folder ...

    cp ./$lang/* $ast_sound/$lang/
    echo Copy $lang digits files in the right folder ...
    cp ./$lang/digits/* $ast_sound/$lang/digits/



    cd /etc/asterisk/
    touch additional_a2billing_iax.conf
    touch additional_a2billing_sip.conf
    touch extensions_a2billing.conf
    touch iax_custom.conf



    #set ownership and permissions

    chown -R asterisk:asterisk /var/www/html
    chown -R asterisk:asterisk /etc/asterisk
    chown -R asterisk:asterisk /var/lib/asterisk/
    chown -R asterisk:asterisk /var/www/html/a2billing/
    chown -R asterisk:asterisk /var/lib/asterisk/sounds/
    chown asterisk:asterisk /var/lib/asterisk/agi-bin/a2billing.php
    chmod +x /var/lib/asterisk/agi-bin/a2billing.php


    chmod 666 /etc/asterisk/additional_a2billing_iax.conf
    chmod 666 /etc/asterisk/additional_a2billing_sip.conf
    chmod 666 /etc/asterisk/extensions_a2billing.conf
    chmod 666 /etc/a2billing.conf

    #Fix the permissions of the templates_c folder in each of the UI

    chmod 755 /var/www/html/a2billing/admin/templates_c
    chmod 755 /var/www/html/a2billing/customer/templates_c
    chmod 755 /var/www/html/a2billing/agent/templates_c
    chown -R asterisk:asterisk /var/www/html/a2billing/admin/templates_c
    chown -R asterisk:asterisk /var/www/html/a2billing/customer/templates_c
    chown -R asterisk:asterisk /var/www/html/a2billing/agent/templates_c




    #ensure all log files exist so we can set their permissions accordingly
    touch /var/log/asterisk/a2billing-daemon-callback.log
    touch /var/log/a2billing-daemon-callback.log
    touch /var/log/cront_a2b_alarm.log
    touch /var/log/cront_a2b_autorefill.log
    touch /var/log/cront_a2b_batch_process.log
    touch /var/log/cront_a2b_bill_diduse.log
    touch /var/log/cront_a2b_subscription_fee.log
    touch /var/log/cront_a2b_currency_update.log
    touch /var/log/cront_a2b_invoice.log
    touch /var/log/cront_a2b_check_account.log
    touch /var/log/a2billing_paypal.log
    touch /var/log/a2billing_epayment.log
    touch /var/log/api_ecommerce_request.log
    touch /var/log/api_callback_request.log
    touch /var/log/a2billing_agi.log




    echo "
    #include additional_a2billing_sip.conf
    " >> /etc/asterisk/sip_custom.conf
    echo "
    #include additional_a2billing_iax.conf
    " >> /etc/asterisk/iax_custom.conf
    echo "
    #include extensions_a2billing.conf
    " >> /etc/asterisk/extensions_custom.conf

    echo '
    [macro-dialout-trunk-predial-hook]
    exten => s,1,GotoIf($["${OUT_${DIAL_TRUNK}:4:4}" = "A2B/"]?custom-freepbx-a2billing,${OUTNUM},1:2)
    exten => s,2,MacroExit

    [custom-freepbx-a2billing]
    exten => _X.,1,DeadAGI(a2billing.php|${OUT_${DIAL_TRUNK}:8})
    exten => _X.,n,Hangup()
    ' >> /etc/asterisk/extensions_custom.conf

    #Create manager_custom.conf
    echo "
    [myasterisk]
    secret = mycode
    deny=0.0.0.0/0.0.0.0
    permit=127.0.0.1/255.255.255.0
    read = system,call,log,verbose,command,agent,user
    write = system,call,log,verbose,command,agent,user
    " >> /etc/asterisk/manager_custom.conf



    .
    .
    .

    Obs: junte o código com a parte 2 ou faça download do link.



  3. #3
    Gerson Raymond
    http://tlig.com.br/forum/viewtopic.php?f=3&t=2



    #Adicionando entrada de contexto para uso do A2Billing

    echo "
    [a2billing]
    exten => _X.,1,Answer
    exten => _X.,n,Wait(1)
    exten => _X.,n,deadAGI(a2billing.php|1)
    exten => _X.,n,Hangup

    [a2billing-callback]
    exten => _X.,1,deadAGI(a2billing.php|1|callback)
    exten => _X.,n,Hangup

    [a2billing-cid-callback]
    exten => _X.,1,deadAGI(a2billing.php|1|cid-callback|34) ;last #parameter is the callback area code
    exten => _X.,n,Hangup

    [a2billing-all-callback]
    exten => _X.,1,deadAGI(a2billing.php|1|all-callback|34) ;last #parameter is the callback area code
    exten => _X.,n,Hangup

    [a2billing-did]
    exten => _X.,1,deadAGI(a2billing.php|1|did)
    exten => _X.,2,Hangup

    [a2billing-voucher]
    exten => _X.,1,deadAGI(a2billing.php|1|voucher)
    exten => _X.,n,Hangup

    [custom-a2billing-did]
    exten => _X.,1,deadAGI(a2billing.php|1|did)
    exten => _X.,2,Hangup

    [custom-a2billing]
    exten => _X.,1,deadAGI(a2billing.php|1)
    exten => _X.,n,Hangup

    " >> /etc/asterisk/extensions_a2billing.conf

    #Add some custom destinations to FreePBX
    RESULT=`/usr/bin/mysql -uroot -p$MYSQLROOTPASSWORD <<SQL

    use asterisk
    INSERT INTO custom_destinations
    (custom_dest, description, notes)
    VALUES ('custom-a2billing,${EXTEN},1', 'A2Billing', '');
    INSERT INTO custom_destinations
    (custom_dest, description, notes)
    VALUES ('custom-a2billing-did,${EXTEN},1', 'A2Billing-DID', '');
    quit
    SQL`




    #set up crontabs for currency updates invoices and billing.
    echo '0 1 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/currencies_update_yahoo.php
    0 6 1 * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_subscription_fee.php
    0 12 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_archive_data_cront.php
    1 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_notify_account.php
    0 6 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_check_account.php
    0 0 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_bill_diduse.php
    20 0 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_batch_process.php
    0 10 21 * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_autorefill.php
    0 7 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_invoice_cront.php
    */5 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_batch_autodialer.php
    0 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_alarm.php
    ' >> /var/spool/cron/asterisk



    #Not required for PIAF, port already open
    #Create fw rule to allow paypal to work
    #iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

    #save them
    #service iptables save




    #Set up callback
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    echo "Now Installing Callback"
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

    echo "Pressione enter para continuar"
    read any



    LOAD_LOC=/usr/src/a2billing


    yum -y install python-setuptools.noarch
    yum -y install MySQL-python
    easy_install sqlalchemy


    cd $LOAD_LOC/CallBack/callback-daemon-py
    cp callback_daemon/a2b-callback-daemon.rc /etc/init.d/a2b-callback-daemon
    chmod +x /etc/init.d/a2b-callback-daemon



    cp dist/callback_daemon-1.0.prod-r1528.tar.gz /tmp
    cd /tmp
    tar xvfz callback_daemon-1.0.prod-r1528.tar.gz
    cd callback_daemon-1.0.prod-r1528

    python setup.py build
    python setup.py bdist_egg
    easy_install dist/callback_daemon-1.0.prod_r1528-py2.4.egg

    chkconfig --add a2b-callback-daemon
    service a2b-callback-daemon start
    chkconfig a2b-callback-daemon on




    echo ""
    echo ""
    echo ""
    echo ""
    echo ""
    echo "*******************************************************************"
    echo "A2Billing Instalado com Sucesso"
    echo "-------------------------------------------------"
    echo ""
    echo "Por Favor agora Reboot seu Servidor"
    echo ""
    echo "*******************************************************************"
    echo ""
    echo "Usuario padrao admin : root"
    echo "A senha padrao de root no admin :changepassword"
    echo "Nao se esqueca de configurar /etc/a2billing.conf"
    echo "*******************************************************************"

  4. Citação Postado originalmente por Gerson Raymond Ver Post
    http://tlig.com.br/forum/viewtopic.php?f=3&t=2



    #Adicionando entrada de contexto para uso do A2Billing

    echo \"
    [a2billing]
    exten => _X.,1,Answer
    exten => _X.,n,Wait(1)
    exten => _X.,n,deadAGI(a2billing.php|1)
    exten => _X.,n,Hangup

    [a2billing-callback]
    exten => _X.,1,deadAGI(a2billing.php|1|callback)
    exten => _X.,n,Hangup

    [a2billing-cid-callback]
    exten => _X.,1,deadAGI(a2billing.php|1|cid-callback|34) ;last #parameter is the callback area code
    exten => _X.,n,Hangup

    [a2billing-all-callback]
    exten => _X.,1,deadAGI(a2billing.php|1|all-callback|34) ;last #parameter is the callback area code
    exten => _X.,n,Hangup

    [a2billing-did]
    exten => _X.,1,deadAGI(a2billing.php|1|did)
    exten => _X.,2,Hangup

    [a2billing-voucher]
    exten => _X.,1,deadAGI(a2billing.php|1|voucher)
    exten => _X.,n,Hangup

    [custom-a2billing-did]
    exten => _X.,1,deadAGI(a2billing.php|1|did)
    exten => _X.,2,Hangup

    [custom-a2billing]
    exten => _X.,1,deadAGI(a2billing.php|1)
    exten => _X.,n,Hangup

    \" >> /etc/asterisk/extensions_a2billing.conf

    #Add some custom destinations to FreePBX
    RESULT=`/usr/bin/mysql -uroot -p$MYSQLROOTPASSWORD <<SQL

    use asterisk
    INSERT INTO custom_destinations
    (custom_dest, description, notes)
    VALUES ('custom-a2billing,${EXTEN},1', 'A2Billing', '');
    INSERT INTO custom_destinations
    (custom_dest, description, notes)
    VALUES ('custom-a2billing-did,${EXTEN},1', 'A2Billing-DID', '');
    quit
    SQL`




    #set up crontabs for currency updates invoices and billing.
    echo '0 1 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/currencies_update_yahoo.php
    0 6 1 * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_subscription_fee.php
    0 12 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_archive_data_cront.php
    1 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_notify_account.php
    0 6 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_check_account.php
    0 0 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_bill_diduse.php
    20 0 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_batch_process.php
    0 10 21 * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_autorefill.php
    0 7 * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_invoice_cront.php
    */5 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_batch_autodialer.php
    0 * * * * php /var/lib/asterisk/agi-bin/lib/Cronjobs/a2billing_alarm.php
    ' >> /var/spool/cron/asterisk



    #Not required for PIAF, port already open
    #Create fw rule to allow paypal to work
    #iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

    #save them
    #service iptables save




    #Set up callback
    echo \"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\"
    echo \"Now Installing Callback\"
    echo \"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\"

    echo \"Pressione enter para continuar\"
    read any



    LOAD_LOC=/usr/src/a2billing


    yum -y install python-setuptools.noarch
    yum -y install MySQL-python
    easy_install sqlalchemy


    cd $LOAD_LOC/CallBack/callback-daemon-py
    cp callback_daemon/a2b-callback-daemon.rc /etc/init.d/a2b-callback-daemon
    chmod +x /etc/init.d/a2b-callback-daemon



    cp dist/callback_daemon-1.0.prod-r1528.tar.gz /tmp
    cd /tmp
    tar xvfz callback_daemon-1.0.prod-r1528.tar.gz
    cd callback_daemon-1.0.prod-r1528

    python setup.py build
    python setup.py bdist_egg
    easy_install dist/callback_daemon-1.0.prod_r1528-py2.4.egg

    chkconfig --add a2b-callback-daemon
    service a2b-callback-daemon start
    chkconfig a2b-callback-daemon on




    echo \"\"
    echo \"\"
    echo \"\"
    echo \"\"
    echo \"\"
    echo \"*******************************************************************\"
    echo \"A2Billing Instalado com Sucesso\"
    echo \"-------------------------------------------------\"
    echo \"\"
    echo \"Por Favor agora Reboot seu Servidor\"
    echo \"\"
    echo \"*******************************************************************\"
    echo \"\"
    echo \"Usuario padrao admin : root\"
    echo \"A senha padrao de root no admin :changepassword\"
    echo \"Nao se esqueca de configurar /etc/a2billing.conf\"
    echo \"*******************************************************************\"
    Cara valeu em muito obrigado me quebro um galhão em!
    Em quais verção funciona?






Tópicos Similares

  1. Respostas: 8
    Último Post: 14-11-2014, 12:15
  2. Respostas: 13
    Último Post: 12-09-2010, 10:46
  3. Respostas: 9
    Último Post: 08-12-2008, 15:47
  4. Como fazer para excutar um script de logon no win98...
    Por heoxzy no fórum Servidores de Rede
    Respostas: 4
    Último Post: 09-05-2005, 15:55
  5. Script de conexão para o Samba
    Por ebonder no fórum Servidores de Rede
    Respostas: 4
    Último Post: 30-09-2002, 15:24

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L