Browse Source

README.md para instalação debian

Badge do repositório
master
bruno 8 months ago
parent
commit
519bd18721
  1. 4
      README.md
  2. 2
      centos7/README.md
  3. 27
      debian/README.md
  4. 385
      debian/config_simplesip/sip_install.sh

4
README.md

@ -1,6 +1,10 @@
# Instalação do PABX # Instalação do PABX
###### CentOS / Debian ###### CentOS / Debian
![Badge](https://img.shields.io/static/v1?label=Versão&message=PABX-1.8.1&color=55f&style=flat) ![Badge](https://img.shields.io/static/v1?label=OS&message=CentOS&color=f00&style=flat) ![Badge](https://img.shields.io/static/v1?label=OS&message=CentOS&color=f00&style=flat)
Repositório de instação do PABX da SimplesIP. Repositório de instação do PABX da SimplesIP.
Essa instalação é referente a versão 1.8 do PABX produzido pela SimpleS IP. Essa instalação é referente a versão 1.8 do PABX produzido pela SimpleS IP.

2
centos7/README.md

@ -1,5 +1,7 @@
#### Script de atualização Simples IP do PABX #### Script de atualização Simples IP do PABX
![Badge](https://img.shields.io/static/v1?label=OS&message=CentOS&color=f00&style=flat)
O script de instalação PABX 1.8: aplicativo-simplesip O script de instalação PABX 1.8: aplicativo-simplesip
sip_atualiza.sh: Irá atualizar todos os pacotes pelo CentOS 7 para manter todos os software atualizado. sip_atualiza.sh: Irá atualizar todos os pacotes pelo CentOS 7 para manter todos os software atualizado.
upgrade_database.sh: Será para atualizar o banco de dados postgresql, é chamado no sip_atualiza.sh o upgrade_database.sh upgrade_database.sh: Será para atualizar o banco de dados postgresql, é chamado no sip_atualiza.sh o upgrade_database.sh

27
debian/README.md vendored

@ -0,0 +1,27 @@
## Repositório de instalação do PABX da Simples IP
![Badge](https://img.shields.io/static/v1?label=OS&message=Debian&color=f00&style=flat)
#### Pastas:
- **config_simplesip**: Contém os arquivos de configuração do PABX. Toda parte de configuração e código fonte estão nesta página. Lá estão o código fonte também.
1. Script de instalação: app_install.sh
2. Com pastas que devem ser colocados na configuração do PABX: **usr/** **database/** **etc/** **hdaux/** **var/**
- **tools_simplesip**: Contém as ferramentas e as instalações necessário para usar o PABX. Exemplo:
1. arquivo de **dependencias_simplesip.txt** Lista de software para instalação está ali
1. **install.sh** script de instalação das ferramentas
- **build_instalador**: Essas pastas serão executados apenas para criar o script de instalação.
1. Para compilar para instalação execute o **debian/build_instalador/build_app.sh** esse script cuidará de compilar e colocar os arquivo que deve ser instalado na instalação. Para mais detalhe verifique os arquivos dessas pastas.
2. O password para descriptografar as pastas config\_simplesip são incorporado na variável **PASSWORD_CRYPT**.
#### Dependencias:
- apt-get install shc
- apt-get install build-essential
** warnings: Os arquivos compilados devem ser apropriado para cada versão, isto é, código compilados devem ser da versão correspondente. (compilado 12 -> Debian 12) (compilado 11 -> Debian 11) **

385
debian/config_simplesip/sip_install.sh vendored

@ -1,385 +0,0 @@
#!/bin/bash
trap "" 2 20
COMPANY="SIMPLES IP"
#Descobrindo o caminho do script
dir=$(dirname $0)
path_arquivo=$(cd $dir;pwd)
clear
echo ' '
echo ' _____ _ __ _____ ________ '
echo ' / ___/(_)___ ___ ____ / /__ / ___/ / _/ __ \'
echo ' \__ \/ / __ `__ \/ __ \/ / _ \\__ \ / // /_/ /'
echo ' ___/ / / / / / / / /_/ / / __/__/ / _/ // ____/ '
echo '/____/_/_/ /_/ /_/ .___/_/\___/____/ /___/_/ '
echo ' /_/ '
echo '
# '
# Verifica se o script esta rodando
#
if [ -e /tmp/sip_install.pid ] ; then
echo "Script em Excecucao..."
exit
fi
#
#PID do scritp
#
echo $$ > /tmp/sip_install.pid
resposta=0
if [ -d /var/www/html/aplicativo ] || [ -d /var/www/html/include ] || [ -d /var/www/html/agenda ] ; then
echo ""
echo ""
echo -n "Identifiquei que ja ocorreu uma instalacao neste servidor, o procedimento a seguir substituira todos os arquivos, deseja continuar? (S/N):"
read -n 1 resposta
echo ""
if [[ $resposta != +(s|S|y|Y|sim|SIM) ]] ; then
/bin/rm -rf /tmp/sip_install.pid
/bin/rm -rf $path_arquivo
/bin/rm -rf $path_arquivo*.tar.gz
echo ""
echo "Instalacao cancelada!"
echo ""
echo ""
exit
fi
fi
#Variaveis
arquitetura=$(uname -m)
versao_linux=$(cat /etc/debian_version | sed 's/[a-zA-Z() ]//g' | cut -d "." -f 1)
#busca enconding
encode=$(locale | tr [[:upper:]] [[:lower:]] | sed -e "s/\"//g" | grep "^lang=")
# O SO será em UTF-8, porém o banco em ISO
if ! [ "$encode" = "lang=en_us.iso-8859-1" ] ; then
clear
echo -n "Encoding: $encode incorreto, deseja corrigir e reiniciar o servidor? (S/N):"
read -n 1 resposta
echo ""
if [[ $resposta != +(s|S|y|Y|sim|SIM) ]] ; then
/bin/rm -rf /tmp/sip_install.pid
exit
fi
lines_locale=$(grep -E "^[^#]" /etc/locale.gen)
for line in $lines_locale; do echo $line; sed -i "s|^$line|# $line|g" /etc/locale.gen; done
echo "en_US ISO-8859-1" >> /etc/locale.gen
/sbin/locale-gen
/bin/localectl set-locale LANG="en_US.ISO-8859-1"
/bin/localectl set-locale LANGUAGE="en_US.ISO-8859-1"
clear
echo "Reiniciando..."
for i in {5..1};do sleep 1 && echo -n "$i ";done
echo ""
echo "Recomece a atualizacao"
/bin/rm -rf /tmp/sip_install.pid
[ -e /sbin/reboot ] && /sbin/reboot
reboot
fi
#Configura Timezone do sistema operacional
while true ; do
DIALOGDATA="$(for i in $(/usr/bin/timedatectl list-timezones) ; do echo -n "$i '' off " | sed -e "s/America\/Cuiaba '' off/America\/Cuiaba '' on/g" ; done)"
TIMEZONE=$(dialog --stdout --default-item America/Cuiaba --radiolist " CONFIGURE O TIMEZONE " 0 0 0 $DIALOGDATA)
# Apertou CANCELAR ou ESC, sair...
[ $? -ne 0 ] && /bin/rm -rf /tmp//tmp/sip_install.pid && exit
OPCAO=$(echo $TIMEZONE | sed "s/,/\\n/g")
if ! [ -z "$OPCAO" ] ; then
/usr/bin/timedatectl set-timezone $OPCAO
break
fi
done
#Parando servicos agendadosill $(ps -ef | egrep '(tty|pts)'| grep -vE "$tty_user"|awk '{print $2}')
if [ -e /var/run/crond.pid ] ; then
/usr/bin/systemctl kill cron
fi
# Remover qualquer outro usuário logado (conectado)
/bin/kill $(ps -ef | egrep '(tty|pts)'| grep -vE "$tty_user"|awk '{print $2}')
#Diretorios
! [ -d /etc/asterisk ] && mkdir -p /etc/asterisk
! [ -d /var/lib/asterisk ] && mkdir -p /var/lib/asterisk
! [ -d /var/run/asterisk ] && mkdir -p /var/run/asterisk
[ -e /etc/init.d/supervisor ] && systemctl kill supervisor
# O shell padrão adicionar usuário
#sed -i 's/^SHELL=.*/SHELL=\/bin\/bash/g' /etc/default/useradd
[ ! -f /usr/bin/rbash ] && /usr/bin/cp /usr/bin/bash /usr/bin/rbash
[ -L /bin/reboot ] && unlink /bin/reboot
[ -L /bin/halt ] && unlink /bin/halt
#Instalando/atualizando scripts de VPN
cd $path_arquivo/
[ -e $(ls -1 simplesip*.rpm) ] && rpm -hUv simplesip*.rpm
#Instala pacotes complementares
#[ "$versao_linux" = "7" ] && rpm -Uhiv tzdata/centos7/tzdata*.rpm
#[ "$versao_linux" = "6" ] && rpm -Uhiv tzdata/centos6/tzdata*.rpm
[ "$versao_linux" = "7" ] && rpm -Uhiv sshpass/centos7/sshpass*.rpm
[ "$versao_linux" = "6" ] && rpm -Uhiv sshpass/centos6/$arquitetura/sshpass*.rpm
sleep 2
! [ -z $(ls -ltr /etc/httpd/conf/httpd.conf.ori* 2> /dev/null | head -n1 | awk {'print $9'}) ] && /bin/mv -f $(ls -ltr /etc/httpd/conf/httpd.conf.ori* | head -n1 | awk {'print $9'}) /etc/httpd/conf/httpd.conf
/bin/cp -Rapf /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ori.$(date +%F-%H-%M-%S)
sed -i "s/^\(User apache\)/User pbx/g" /etc/httpd/conf/httpd.conf
sed -i "s/^\(Group apache\)/Group pbx/g" /etc/httpd/conf/httpd.conf
#Criando Banco de Dados
! [ -z "$(su postgres -c 'psql -l' | grep pbx)" ] && su postgres -c "dropdb pbx"
sleep 5
su postgres -c "createdb pbx"
sleep 5
#mv $path_arquivo/database/pbx-data.sql /tmp/pbx.sql
mkdir -p /tmp/database
tar xzf $path_arquivo/database/pbx-data*.tar.gz -C /tmp/database/
su postgres -c "psql -d pbx -f /tmp/database/pbx*.sql"
sleep 1
/bin/rm -rf /tmp/database
psql -c "delete from pbx_funcoes" -d pbx
psql -c "delete from pbx_funcoes_internas" -d pbx
psql -c "update pbx_usuarios set senha = md5('OitoDois80_SiP'), check_vl = md5('admin') where apelido = 'admin'" -d pbx
psql -c "update pbx_usuarios set senha = md5('SimpleS_admin'), check_vl = md5('administrador') where apelido = 'administrador'" -d pbx
psql -c "update pbx_usuarios set senha = md5('s3ncC0nt@S2nh@'), check_vl = md5('sinccontasenha') where apelido = 'sinccontasenha'" -d pbx
psql -c "update pbx_conf_padrao set usuario_servidor = 'aplicacao', senha_servidor = 'mudA_horA@SimpleSiP', porta_servidor = '2223'" -d pbx
psql -c "update pbx_sip_general set extranet = '$(/sbin/ip ro | grep "/" | awk {'print $1'} | grep -v "169.254.0.0")'" -d pbx
psql -c "update pbx_motivos_pausas set tempo_alerta = '120' where tempo_alerta is null" -d pbx
cd $path_arquivo/
#Atualizando scripts de apoio
cd $path_arquivo/
rm -rf /hdaux/utilitarios/scripts/*
/bin/cp -Rapf hdaux/utilitarios/scripts/* /hdaux/utilitarios/scripts/
[ "0" != $(ls -1 /hdaux/utilitarios/scripts/ | grep ".sh" | wc -l) ] && chmod 777 /hdaux/utilitarios/scripts/*.sh
[ "0" != $(ls -1 /hdaux/utilitarios/scripts/ | grep ".php" | wc -l) ] && chmod 755 /hdaux/utilitarios/scripts/*.php
/bin/cp -Rapf /hdaux/utilitarios/scripts/manutencao.sh /home/manutencao/
#Parando o servico
PID=$(ps -C asterisk| awk {'print $1'} |grep -v "PID")
if ! [ -z $PID ] ; then
[ "$versao_linux" = "7" ] && /bin/systemctl stop rc.pbx.service
[ "$versao_linux" = "6" ] && /etc/init.d/rc.pbx stop
fi
#Atualizando arquivos de configuracao
cd $path_arquivo/
/bin/rm -rf /etc/asterisk/*
/bin/rm -rf /var/lib/asterisk/*
#/bin/cp -Rapf asterisk/etc_asterisk/default_asterisk/* /etc/asterisk/
/bin/cp -Rapf etc/asterisk/* /etc/asterisk/
/bin/cp -Rapf etc_asterisk/* /etc/asterisk/
#Desabilita o modulo DGV caso necessario
#if [ -e /etc/init.d/vlibd ] ; then
# placa=$(lspci|grep "PLX Technology")
# if [ -z "$placa" ] ; then
# dgv=$(grep chan_dgv.so /etc/asterisk/modules.conf)
# if [ -z "$dgv" ] ; then
# echo "noload => chan_dgv.so" >> /etc/asterisk/modules.conf
# else
# sed -i "s/.*chan_dgv\.so.*/noload => chan_dgv\.so/g" /etc/asterisk/modules.conf
# fi
#fi
#fi
#Atualizando scripts e arquivos de sons
#tar xzf var_lib_asterisk.tar.gz
mv var/lib/asterisk/* /var/lib/asterisk/
#Atualizando o aplicativo (site)
cd $path_arquivo/
[ -d /var/www/html/aplicativo ] && rm -rf /var/www/html/aplicativo
[ -d /var/www/html/agenda ] && rm -rf /var/www/html/agenda
[ -d /var/www/html/include ] && rm -rf /var/www/html/include
#tar xzf aplicativo_site.tar.gz
#sleep 2
#mv aplicativo_site/* /var/www/html/
/bin/cp -Rapf var/www/html/* /var/www/html/
cd $path_arquivo/
#Configurando php
/bin/cp -Rapf /etc/php.ini /etc/php.ini.ori.$(date +%F-%H-%M-%S)
/bin/cp -Rap /var/www/html/include/scriptdb/install/php/php.ini /etc/php.ini
chown --recursive pbx:pbx /var/lib/php
#Adicionando modulo zend para criptografia
if [ "$arquitetura" = "x86_64" ] ; then
/bin/cp -Rapf /var/www/html/include/scriptdb/install/php/encoder/x64/ioncube_loader_lin_5.6.so /etc/ioncube_loader.so
/bin/cp -Rapf /var/www/html/include/scriptdb/install/php/encoder/x64/ioncube_loader_lin_5.6_ts.so /usr/lib64/php-zts/modules/
chmod 755 /usr/lib64/php-zts/modules/ioncube_loader_lin_5.6_ts.so
chown pbx:pbx /usr/lib64/php-zts/modules/ioncube_loader_lin_5.6_ts.so
echo "zend_extension = /usr/lib64/php-zts/modules/ioncube_loader_lin_5.6_ts.so" > /etc/php-zts.d/00-ioncube.ini
else
/bin/cp -Rapf /var/www/html/include/scriptdb/install/php/encoder/x32/ioncube_loader_lin_5.6.so /etc/ioncube_loader.so
/bin/cp -Rapf /var/www/html/include/scriptdb/install/php/encoder/x32/ioncube_loader_lin_5.6_ts.so /usr/lib64/php-zts/modules/
chmod 755 /usr/lib64/php-zts/modules/ioncube_loader_lin_5.6_ts.so
chown pbx:pbx /usr/lib64/php-zts/modules/ioncube_loader_lin_5.6_ts.so
echo "zend_extension = /usr/lib64/php-zts/modules/ioncube_loader_lin_5.6_ts.so" > /etc/php-zts.d/00-ioncube.ini
fi
chown pbx:pbx /etc/ioncube_loader.so
chmod 755 /etc/ioncube_loader.so
#Timezone PHP
if [ "$versao_linux" = "7" ] ; then
timezone=$(/usr/bin/timedatectl | grep "Time zone:" | awk '{print $3}')
else
timezone=$(grep "ZONE" /etc/sysconfig/clock | cut -d '"' -f2)
fi
! [ -z "$timezone" ] && sed -i "s|^\(;date.timezone =.*\)|date.timezone = \"$timezone\"|g" /etc/php.ini
! [ -z "$timezone" ] && sed -i "s|^\(date.timezone =.*\)|date.timezone = \"$timezone\"|g" /etc/php.ini
#DNSMASQ
DNSRESOLV=$(cat /etc/resolv.conf | grep -v "#" | grep -v "127.0.0.1" | wc -l)
if ! [ "$DNSRESOLV" = "0" ] ; then
/bin/cp -Rapf /etc/dnsmasq.conf /etc/dnsmasq.conf.$(date +%F-%H-%M-%S)
sed -i "/\(^server=.*\)/d" /etc/dnsmasq.conf
for i in $(cat /etc/resolv.conf | grep -v "#" | grep -v "127.0.0.1" | awk {'print $2'}) ; do echo "server=$i" >> /etc/dnsmasq.conf ; done
else
echo "Nao ha DNS configurado!"
fi
#Ferramentas e Manuais
cd $path_arquivo/
#[ "0" != $(ls -1 ferramentas/ | wc -l) ] && /bin/rm -rf /hdaux/utilitarios/ferramentas/* && /bin/cp -Rapf ferramentas/* /hdaux/utilitarios/ferramentas/
#[ "0" != $(ls -1 manuais/ | wc -l) ] && /bin/rm -rf && /hdaux/utilitarios/manuais/* && /bin/cp -Rapf manuais/* /hdaux/utilitarios/manuais/
[ -d /hdaux/utilitarios/ferramentas ] && /bin/rm -rf /hdaux/utilitarios/ferramentas
[ -d /hdaux/utilitarios/manuais ] && /bin/rm -rf /hdaux/utilitarios/manuais
/bin/cp -Rapf ferramentas /hdaux/utilitarios/
/bin/cp -Rapf manuais /hdaux/utilitarios/
##Ajuste de permissoes da aplicacao
echo "Configurando permissoes"
/hdaux/utilitarios/scripts/permissoes_atualizacao.sh
#Reiniciando os servicos
echo "Reiniciando os servicos"
asterisk -rx "module reload app_queue.so"
[ -e /var/run/nginx.pid ] && /bin/systemctl stop nginx.service
sleep 1
[ -e /var/run/php-fpm/php-fpm.pid ] && /bin/systemctl stop php-fpm.service
sleep 1
[ -e /etc/httpd/run/httpd.pid ] && /bin/systemctl stop httpd.service
sleep 1
/bin/systemctl start httpd.service
sleep 1
/bin/systemctl restart postgresql.service
sleep 2
/bin/systemctl restart sshd.service
sleep 2
/etc/init.d/supervisor start
sleep 2
/bin/systemctl restart dnsmasq.service
/bin/systemctl enable httpd.service
/bin/systemctl enable postgresql.service
/bin/systemctl enable sshd.service
#/bin/systemctl enable ntpd.service
#/bin/systemctl enable ntpdate.service
/bin/timedatectl set-ntp true
/bin/systemctl enable rc.pbx.service
/bin/systemctl enable dahdi.service
/bin/systemctl enable crond.service
/bin/systemctl enable supervisor.service
/bin/systemctl start httpd.service
/bin/systemctl enable dnsmasq.service
/bin/systemctl disable chronyd
/bin/systemctl disable rpcbind
clear
cd $path_arquivo/
sed -i "/.*queue_log.pid.*/d" /etc/rc.local
echo "[ -e /tmp/queue_log.pid ] && /bin/rm -rf /tmp/queue_log.pid" >> /etc/rc.local
sed -i "s/^enable=yes/;enable=no/g" /etc/asterisk/cel.conf
asterisk -rx "module reload cel"
sed -i "s/^TENTATIVAS=.*/TENTATIVAS=75/g" /hdaux/utilitarios/scripts/bloqueia_autenticacao.sh
sed -i "s/.*monitora_agentes.php.*/\*\/1 \* \* \* \* root \/var\/lib\/asterisk\/scripts\/callcenter\/monitora_agentes.php 180/g" /etc/crontab
[ -e /var/lib/asterisk/agi-bin/transbordo.php ] && /bin/mv -f /var/lib/asterisk/agi-bin/transbordo.php /var/lib/asterisk/scripts/callcenter/transbordo.php
/bin/rm -rf /root/anaconda-ks.cfg
/bin/rm -rf /root/instalacao-simplesip.log
/bin/rm -rf /root/install.log
/bin/rm -rf /root/install.log.syslog
/bin/rm -rf /root/script_pos*.log
/bin/rm -rf /var/log/instaladores_simplesip.log
/bin/rm -rf $path_arquivo
/bin/rm -rf $path_arquivo*.tar.gz
/bin/rm -rf /tmp/ks-script*
/bin/rm -rf /tmp/pjproject-*
sed -i "/\(.*sip_vpn\.sh.*\)/d" /root/.bashrc
curl --data "loginUser=admin&loginPass=OitoDois80_SiP" http://127.0.0.1 > /dev/null 2>&1
sleep 1
if ! [ -e /hdaux/cliente ] ; then
echo -n "Digite o nome do cliente, para identificacao nos alertas via e-mail:"
read resposta
echo $resposta | sed 's/ //g' > /hdaux/cliente
fi
echo "Reiniciando..."
for i in {5..1};do sleep 1 && echo -n "$i ";done
echo ""
/bin/rm -rf /tmp/sip_install.pid
[ -e /sbin/reboot ] && /sbin/reboot
reboot
Loading…
Cancel
Save