Browse Source

Comentários e README do projeto

dev
bruno 8 months ago
parent
commit
22f7e4ba76
  1. 13
      README.md
  2. 13
      centos7/README.md
  3. 898
      centos7/aplicativo-simplesip/sip_atualiza.old
  4. 55
      centos7/aplicativo-simplesip/sip_atualiza.sh
  5. 47
      centos7/aplicativo-simplesip/upgrade_database.sh

13
README.md

@ -0,0 +1,13 @@
# Instalação do PABX
###### CentOS / Debian
Repositório de instação do PABX da SimplesIP.
Essa instalação é referente a versão 1.8 do PABX produzido pela SimpleS IP.
A pasta Debian está o script de instalação para o Debian e do CentOs é para CentOS.
Para mais informações veja o README dessas pastas para mais informações.
copyright Simples IP

13
centos7/README.md

@ -0,0 +1,13 @@
#### Script de atualização Simples IP do PABX
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.
upgrade_database.sh: Será para atualizar o banco de dados postgresql, é chamado no sip_atualiza.sh o upgrade_database.sh
O banco de dados será para postgresql-13.
O backup do banco de dados está em "/var/lib/pgsql/backups/sip_atualiza"
O PHP será PHP 8.2
ioncube 8.2

898
centos7/aplicativo-simplesip/sip_atualiza.old

@ -1,898 +0,0 @@
#!/bin/bash
trap "" 2 20
#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_atualiza.pid ] ; then
echo "Script em Excecucao..."
exit
fi
#Gera PID do scritp
echo $$ > /tmp/sip_atualiza.pid
#Variaveis
arquitetura=$(uname -m)
versao_linux=$(cat /etc/redhat-release | sed 's/[a-zA-Z() ]//g' | cut -d "." -f 1)
#Verifica encoding
if [ "$versao_linux" = "7" ] ; then
encode=$(cat /etc/locale.conf | tr [[:upper:]] [[:lower:]] | sed -e "s/\"//g" | grep "^lang")
else
encode=$(cat /etc/sysconfig/i18n | tr [[:upper:]] [[:lower:]] | sed -e "s/\"//g" | grep "^lang")
fi
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_atualiza.pid
exit
fi
[ "$versao_linux" = "7" ] && sed -i "s/^LANG=.*/LANG=\"en_US.ISO-8859-1\"/g" /etc/locale.conf
[ "$versao_linux" = "6" ] && sed -i "s/^LANG=.*/LANG=\"en_US.ISO-8859-1\"/g" /etc/sysconfig/i18n
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_atualiza.pid
[ -e /sbin/reboot ] && /sbin/reboot
reboot
fi
#Configura Timezone do sistema operacional
if [ "$versao_linux" = "7" ] ; then
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/sip_atualiza.pid && exit
OPCAO=$(echo $TIMEZONE | sed "s/,/\\n/g")
if ! [ -z "$OPCAO" ] ; then
/usr/bin/timedatectl set-timezone $OPCAO
break
fi
done
else
while true ; do
DIALOGDATA="$(for i in $(ls -1 /usr/share/zoneinfo/America/ | egrep -v "Argentina|Indiana|Kentucky|North_Dakota") ; do echo -n "America/$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/sip_atualiza.pid && exit
OPCAO=$(echo $TIMEZONE | sed "s/,/\\n/g")
if ! [ -z "$OPCAO" ] ; then
/bin/mv -f /etc/localtime /etc/localtime.$(date +%F-%H-%M-%S)
ln -s /usr/share/zoneinfo/$OPCAO /etc/localtime
sed -i "s|^\(ZONE=.*\)|ZONE=\"$OPCAO\"|g" /etc/sysconfig/clock
break
fi
done
fi
#Parando servicos agendados
if [ -e /var/run/crond.pid ] ; then
[ "$versao_linux" = "7" ] && systemctl stop crond.service
[ "$versao_linux" = "6" ] && service crond stop
fi
#Diretorios
! [ -d /hdaux/downloads ] && mkdir -p /hdaux/downloads
! [ -d /hdaux/atualizacao ] && mkdir -p /hdaux/atualizacao
! [ -d /hdaux/utilitarios/scripts ] && mkdir -p /hdaux/utilitarios/scripts
! [ -d /hdaux/utilitarios/ferramentas ] && mkdir -p /hdaux/utilitarios/ferramentas
! [ -d /hdaux/utilitarios/manuais ] && mkdir -p /hdaux/utilitarios/manuais
! [ -d /hdaux/backup ] && mkdir -p /hdaux/backup
! [ -d /hdaux/restore ] && mkdir -p /hdaux/restore
! [ -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
! [ -d /hdaux/downloads ] && mkdir -p /hdaux/downloads
! [ -d /var/log/logs_antigos/httpd ] && mkdir -p /var/log/logs_antigos/httpd
! [ -d /var/log/logs_antigos/nginx ] && mkdir -p /var/log/logs_antigos/nginx
! [ -d /var/log/logs_antigos/php-fpm ] && mkdir -p /var/log/logs_antigos/php-fpm
! [ -d /var/log/logs_antigos/ppp ] && mkdir -p /var/log/logs_antigos/ppp
! [ -d /var/log/logs_antigos/syslog ] && mkdir -p /var/log/logs_antigos/syslog
! [ -d /var/log/logs_antigos/audit ] && mkdir -p /var/log/logs_antigos/audit
! [ -d /var/log/logs_antigos/asterisk ] && mkdir -p /var/log/logs_antigos/asterisk
! [ -d /var/log/logs_antigos/asterisk/cdr-csv ] && mkdir -p /var/log/logs_antigos/asterisk/cdr-csv
! [ -d /var/log/logs_antigos/ntp ] && mkdir -p /var/log/logs_antigos/ntp
[ -e /etc/logrotate.d/httpd ] && rm -rf /etc/logrotate.d/httpd
[ -e /etc/logrotate.d/nginx ] && rm -rf /etc/logrotate.d/nginx
[ -e /etc/logrotate.d/php-fpm ] && rm -rf /etc/logrotate.d/php-fpm
[ -e /etc/logrotate.d/ppp ] && rm -rf /etc/logrotate.d/ppp
[ -e /etc/logrotate.d/syslog ] && rm -rf /etc/logrotate.d/syslog
[ -e /etc/init.d/supervisor ] && /etc/init.d/supervisor stop
#Criando o usuario manutencao, utilizado para desligar e reiniciar o servidor pelo cliente
if [ -z "$(cat /etc/passwd| grep -i ^manutencao:)" ] ; then
/usr/sbin/groupadd manutencao 2> /dev/null
/usr/sbin/useradd manutencao -g manutencao 2> /dev/null
fi
sed -i "/.*manutencao\.sh.*/d" /home/manutencao/.bashrc
sed -i "/^logout/d" /home/manutencao/.bashrc
#echo "/hdaux/utilitarios/scripts/manutencao.sh" >> /home/manutencao/.bashrc
echo "/home/manutencao/manutencao.sh" >> /home/manutencao/.bashrc
echo "logout" >> /home/manutencao/.bashrc
echo 'manutencao:$1$a5Ve1L3I$nNz40fKNj6Bc17tabq0tR0' | chpasswd -e
chmod 0755 /sbin/reboot
chmod 0755 /sbin/halt
[ -L /bin/reboot ] && unlink /bin/reboot
[ -L /bin/halt ] && unlink /bin/halt
if [ -z "$(cat /etc/passwd| grep -i ^aplicacao:)" ] ; then
/usr/sbin/groupadd aplicacao 2> /dev/null
/usr/sbin/useradd -d /tmp aplicacao -g aplicacao 2> /dev/null
else
if ! [ -z "$(grep -i "^aplicacao:x:0:0" /etc/passwd)" ] ; then
sed -i "s/^\(aplicacao\:x.*\)/aplicacao\:x\:700\:700\:\:\/tmp\:\/bin\/bash/g" /etc/passwd
/usr/sbin/userdel aplicacao
/usr/sbin/groupadd aplicacao 2> /dev/null
/usr/sbin/useradd -d /tmp aplicacao -g aplicacao 2> /dev/null
fi
fi
echo 'aplicacao:$6$ATTBesNh$nDOFtvY3acrCpGpEaMzyIzzSlLqts6H.z/9dlL01v2TP3c4bR4ullbiR5blvtKb3irLyN4WHo5Zyb0YNTBWUK.' | chpasswd -e
if [ -z "$(cat /etc/passwd| grep -i ^pbx:)" ] ; then
/usr/sbin/groupadd pbx 2> /dev/null
/usr/sbin/useradd -d /var/lib/asterisk -g pbx pbx -s /sbin/nologin 2> /dev/null
fi
if [ -z "$(cat /etc/passwd| grep -i ^simples:)" ] ; then
/usr/sbin/groupadd simples 2> /dev/null
/usr/sbin/useradd simples -g simples 2> /dev/null
fi
/usr/bin/gpasswd -a simples pbx
echo 'simples:$1$.a2cO7Hk$GR/pAYAWj2swBYvkMmT1M0' | chpasswd -e
if [ -z "$(cat /etc/passwd| grep -i ^sipadmin:)" ] ; then
/usr/sbin/groupadd sipadmin 2> /dev/null
/usr/sbin/useradd sipadmin -g sipadmin 2> /dev/null
fi
echo 'sipadmin:$1$TxxcluHK$Sp7JKPyEwaoIUNMEzPYcO0' | chpasswd -e
if [ -z "$(cat /etc/passwd| grep -i ^pablo:)" ] ; then
/usr/sbin/groupadd pablo 2> /dev/null
/usr/sbin/useradd --no-create-home pablo -g pablo 2> /dev/null
fi
echo 'pablo:$1$ohLbyCo8$gkkznaV9F/zjGvTLk.s9G.' | chpasswd -e
#Alterando senha de root
echo 'root:$1$ui0wOo2b$f1DFvPtJKBrHHnLAG6vUM1' | chpasswd -e
#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
#Atualizando scripts de apoio
cd $path_arquivo/
[ -e /hdaux/utilitarios/scripts/algar.sh ] && /bin/mv -f /hdaux/utilitarios/scripts/algar*.sh hdaux/utilitarios/scripts/
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/
#Gerando backup
/hdaux/utilitarios/scripts/backup.sh
[ -e /var/run/asterisk/asterisk.pid ] && /etc/init.d/rc.pbx stop
#Atualizando arquivos de configuracao
clear
echo "Atualizando /etc/asterisk"
cd $path_arquivo/
/bin/cp -Rapf etc/asterisk/* /etc/asterisk/
ls -1 /etc/asterisk/ | while read LINHA ; do rm -rf etc_asterisk/"$LINHA" ; done
! [ -z $(ls etc_asterisk/) ] && /bin/cp -Rapf etc_asterisk/* /etc/asterisk/
#Ajusta o nome das filas para Maiusculo
for i in $(grep "^\[" /etc/asterisk/queues_filas.conf | grep "^\[" /etc/asterisk/queues_filas.conf| sed -e "s/\[//g" | sed -e "s/\]//g") ; do novo=$(echo $i | tr [a-z] [A-Z]) && sed -i "s/^\[$i.*\]/[$novo]/g" /etc/asterisk/queues_filas.conf ; done
#Atualizando scripts e arquivos de sons
echo "Atualizando /var/lib/asterisk"
cd $path_arquivo/
rm -rf var/lib/asterisk/astdb*
rm -rf var/lib/asterisk/moh
rm -rf var/lib/asterisk/sounds/customizados
if [ -e /var/lib/asterisk/scripts/vendas/consolidaVendas.php ] ; then
/bin/rm -rf var/lib/asterisk/scripts/vendas/consolidaVendas.php
/bin/cp -Rapf /var/lib/asterisk/scripts/vendas/consolidaVendas.php var/lib/asterisk/scripts/vendas/
fi
#config_cliente=$(ls -1 /var/lib/asterisk/scripts/portabilidade/configCliente.php)
#if ! [ -z "$config_cliente" ] ; then
#if [ -e /var/lib/asterisk/scripts/portabilidade/configCliente.php ] ; then
# rm -rf var/lib/asterisk/scripts/portabilidade/configCliente.php
# cp -Rap /var/lib/asterisk/scripts/portabilidade/configCliente.php var/lib/asterisk/scripts/portabilidade/
#fi
[ -e /var/lib/asterisk/astdb ] && /bin/cp -Rapf /var/lib/asterisk/astdb var/lib/asterisk/
/bin/cp -Rapf /var/lib/asterisk/moh var/lib/asterisk/
/bin/cp -Rapf /var/lib/asterisk/sounds/customizados var/lib/asterisk/sounds/
#ls | grep -v var_lib_asterisk | xargs rm -rf
/bin/cp -Rapf var/lib/asterisk/* /var/lib/asterisk/
#rm -rf var_lib_asterisk*
cd /var/lib/asterisk/
[ -e astdb ] && /bin/rm -rf astdb.sqlite3 && astdb2sqlite3 astdb && rm -rf astdb
#Subindo arquivos de som para a aplicacao
cd /var/lib/asterisk/sounds/customizados/
for i in $(ls -1 *.ulaw) ; do
path_asterisk="/var/lib/asterisk/sounds/customizados"
arquivo_ulaw=$i
arquivo_mp3=$(echo $i | sed -e 's/.ulaw/.mp3/g')
if [ -e arquivos_mp3/$arquivo_mp3 ]
then
path_mp3="$path_asterisk/arquivos_mp3/$arquivo_mp3"
elif [ -e mp3/$arquivo_mp3 ]
then
path_mp3="$path_asterisk/mp3/$arquivo_mp3"
elif [ -e $arquivo_mp3 ]
then
path_mp3="$path_asterisk/$arquivo_mp3"
fi
! [ -d arquivos_mp3 ] && mkdir arquivos_mp3
arq_nome=$(echo $i | sed -e 's/.ulaw//g')
arq_path_destino="$path_asterisk/$arquivo_ulaw"
arq_dest_tamanho=$(du -sb $arq_path_destino | awk '{print $1}')
userreg="script.sip_atualiza"
if ! [ -z $path_mp3 ] ; then
arq_path_origem="$path_asterisk/$arquivo_mp3"
arq_orig_tamanho=$(du -sb $path_mp3 | awk '{print $1}')
arq_md5=$(md5sum $path_mp3 | awk '{print $1}')
fi
arquivo_existe=$(psql -Atc "select count(*) from pbx_arquivo_som where arq_path_destino = '$arq_path_destino'" -d pbx)
if [ "$arquivo_existe" = "0" ] ; then
[ -z $arq_orig_tamanho ] && arq_orig_tamanho=0
psql -c "INSERT INTO pbx_arquivo_som(arq_data, arq_nome, arq_nome_sistema, arq_descricao, arq_path_origem, arq_path_destino, arq_orig_tamanho, arq_dest_tamanho, arq_md5, userreg, datareg) VALUES (now(), '$arq_nome', '$arq_nome', '$arq_nome', '$arq_path_origem', '$arq_path_destino', '$arq_orig_tamanho', '$arq_dest_tamanho', '$arq_md5', '$userreg', now())" -d pbx
if ! [ -e $path_asterisk/arquivos_mp3/$arquivo_mp3 ] ; then
! [ -z $path_mp3 ] && /bin/mv -f $path_mp3 $path_asterisk/arquivos_mp3/$arquivo_mp3
fi
fi
arq_nome=""
arq_path_origem=""
arq_path_destino=""
arq_orig_tamanho=""
arq_dest_tamanho=""
arq_md5=""
userreg=""
path_mp3=""
done
/bin/cp -Rapf *.mp3 arquivos_mp3/
/bin/cp -Rapf mp3/*.mp3 arquivos_mp3/
/bin/rm -rf *.mp3
[ -d mp3 ] && /bin/rm -rf mp3
#Atualizando o aplicativo (site)
echo "Atualizando /var/www/html"
cd $path_arquivo/
logo_workflow=$(psql -Atc "select wkf_logo_parceiro from pbx_workflow_parametros" -d pbx)
! [ -z "$logo_workflow" ] && /bin/mv -f /var/www/html/aplicativo/imgSite/$logo_workflow ./
logo_relatorio=$(psql -Atc "select prm_logo_relatorio from pbx_parametros" -d pbx)
[ -e /var/www/html/aplicativo/imgSite/$logo_relatorio ] && /bin/mv -f /var/www/html/aplicativo/imgSite/$logo_relatorio ./
[ -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
/bin/cp -Rapf var/www/html/* /var/www/html/
[ -e "$logo_workflow" ] && /bin/mv -f $logo_workflow /var/www/html/aplicativo/imgSite/
[ -e "$logo_relatorio" ] && /bin/mv -f $logo_relatorio /var/www/html/aplicativo/imgSite/
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
cd $path_arquivo/
#Configurando apache
echo "Configurando Apache"
/bin/cp -Rapf /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ori.$(date +%F-%H-%M-%S)
sed -i "s/^\(DocumentRoot \".*\)/DocumentRoot \"\/var\/www\/html\/aplicativo\"/g" /etc/httpd/conf/httpd.conf
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
sed -i "/Alias \/downloads/,/<\/Directory>/d" /etc/httpd/conf/httpd.conf
sed -i "/Alias \/old/,/<\/Directory>/d" /etc/httpd/conf/httpd.conf
sed -i "/Alias \/gravacoes/,/<\/Directory>/d" /etc/httpd/conf/httpd.conf
sed -i "/Alias \/agenda/,/<\/Directory>/d" /etc/httpd/conf/httpd.conf
sed -i "/Alias \/ferramentas/,/<\/Directory>/d" /etc/httpd/conf/httpd.conf
sed -i "/Alias \/manuais/,/<\/Directory>/d" /etc/httpd/conf/httpd.conf
sed -i "/^ $/d" /etc/httpd/conf/httpd.conf
gravacoes=$(grep "Alias /gravacoes" /etc/httpd/conf/httpd.conf)
if [ -z "$gravacoes" ] ; then
echo " " >> /etc/httpd/conf/httpd.conf
echo "Alias /gravacoes \"/var/spool/asterisk/monitor\" " >> /etc/httpd/conf/httpd.conf
echo " " >> /etc/httpd/conf/httpd.conf
echo "<Directory \"/var/spool/asterisk/monitor\"> " >> /etc/httpd/conf/httpd.conf
echo " Options Indexes MultiViews " >> /etc/httpd/conf/httpd.conf
echo " AllowOverride None " >> /etc/httpd/conf/httpd.conf
echo " Order allow,deny " >> /etc/httpd/conf/httpd.conf
[ "$versao_linux" = "7" ] && echo " Require all granted " >> /etc/httpd/conf/httpd.conf
echo " Allow from 127.0.0.1 " >> /etc/httpd/conf/httpd.conf
echo "</Directory> " >> /etc/httpd/conf/httpd.conf
fi
agenda=$(grep "Alias /agenda" /etc/httpd/conf/httpd.conf)
if [ -z "$agenda" ] ; then
echo " " >> /etc/httpd/conf/httpd.conf
echo "Alias /agenda \"/var/www/html/agenda\" " >> /etc/httpd/conf/httpd.conf
echo " " >> /etc/httpd/conf/httpd.conf
echo "<Directory \"/var/www/html/agenda/\"> " >> /etc/httpd/conf/httpd.conf
echo " Options Indexes MultiViews " >> /etc/httpd/conf/httpd.conf
echo " AllowOverride None " >> /etc/httpd/conf/httpd.conf
echo " Order allow,deny " >> /etc/httpd/conf/httpd.conf
[ "$versao_linux" = "7" ] && echo " Require all granted " >> /etc/httpd/conf/httpd.conf
echo " Allow from all " >> /etc/httpd/conf/httpd.conf
echo "</Directory> " >> /etc/httpd/conf/httpd.conf
fi
downloads=$(grep "Alias /downloads" /etc/httpd/conf/httpd.conf)
if [ -z "$downloads" ] ; then
echo " " >> /etc/httpd/conf/httpd.conf
echo "Alias /downloads \"/hdaux/downloads\" " >> /etc/httpd/conf/httpd.conf
echo " " >> /etc/httpd/conf/httpd.conf
echo "<Directory \"/hdaux/downloads/\"> " >> /etc/httpd/conf/httpd.conf
echo " Options Indexes MultiViews " >> /etc/httpd/conf/httpd.conf
echo " AllowOverride None " >> /etc/httpd/conf/httpd.conf
echo " Order allow,deny " >> /etc/httpd/conf/httpd.conf
[ "$versao_linux" = "7" ] && echo " Require all granted " >> /etc/httpd/conf/httpd.conf
echo " Allow from all " >> /etc/httpd/conf/httpd.conf
echo "</Directory> " >> /etc/httpd/conf/httpd.conf
fi
ferramentas=$(grep "Alias /ferramentas" /etc/httpd/conf/httpd.conf)
if [ -z "$ferramentas" ] ; then
echo " " >> /etc/httpd/conf/httpd.conf
echo "Alias /ferramentas \"/hdaux/utilitarios/ferramentas\" " >> /etc/httpd/conf/httpd.conf
echo " " >> /etc/httpd/conf/httpd.conf
echo "<Directory \"/hdaux/utilitarios/ferramentas/\"> " >> /etc/httpd/conf/httpd.conf
echo " Options Indexes MultiViews " >> /etc/httpd/conf/httpd.conf
echo " AllowOverride None " >> /etc/httpd/conf/httpd.conf
echo " Order allow,deny " >> /etc/httpd/conf/httpd.conf
[ "$versao_linux" = "7" ] && echo " Require all granted " >> /etc/httpd/conf/httpd.conf
echo " Allow from all " >> /etc/httpd/conf/httpd.conf
echo "</Directory> " >> /etc/httpd/conf/httpd.conf
fi
manuais=$(grep "Alias /manuais" /etc/httpd/conf/httpd.conf)
if [ -z "$manuais" ] ; then
echo " " >> /etc/httpd/conf/httpd.conf
echo "Alias /manuais \"/hdaux/utilitarios/manuais\" " >> /etc/httpd/conf/httpd.conf
echo " " >> /etc/httpd/conf/httpd.conf
echo "<Directory \"/hdaux/utilitarios/manuais/\"> " >> /etc/httpd/conf/httpd.conf
echo " Options Indexes MultiViews " >> /etc/httpd/conf/httpd.conf
echo " AllowOverride None " >> /etc/httpd/conf/httpd.conf
echo " Order allow,deny " >> /etc/httpd/conf/httpd.conf
[ "$versao_linux" = "7" ] && echo " Require all granted " >> /etc/httpd/conf/httpd.conf
echo " Allow from all " >> /etc/httpd/conf/httpd.conf
echo "</Directory> " >> /etc/httpd/conf/httpd.conf
fi
cd $path_arquivo/
echo "Configurando Postgresql"
#Configurando banco de dados postgresql
/bin/cp -Rapf /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.ori.$(date +%F-%H-%M-%S)
sed -i "s/^\(.*host.*all.*all.*127.0.0.1.*\)/host all all 127.0.0.1\/32 password/g" /var/lib/pgsql/data/pg_hba.conf
sed -i "s/^\(.*host.*all.*all.*0.0.0.0\/0.*\)/host all all 127.0.0.1\/32 password/g" /var/lib/pgsql/data/pg_hba.conf
sed -i "/\(.*192\.168\.115\.0*.\)/d" /var/lib/pgsql/data/pg_hba.conf
sed -i "/\(.*10\.252\.252\.0*.\)/d" /var/lib/pgsql/data/pg_hba.conf
sed -i "/\(.*177\.67\.197\.146*.\)/d" /var/lib/pgsql/data/pg_hba.conf
echo "host all all 192.168.115.0/24 password" >> /var/lib/pgsql/data/pg_hba.conf
echo "host all all 10.252.252.0/24 password" >> /var/lib/pgsql/data/pg_hba.conf
echo "host all all 177.67.197.146/32 password" >> /var/lib/pgsql/data/pg_hba.conf
/bin/cp -Rapf /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.ori.$(date +%F-%H-%M-%S)
sed -i "s/^\(autovacuum =.*\)/autovacuum = off/g" /var/lib/pgsql/data/postgresql.conf
sed -i "s/^\(#autovacuum =.*\)/autovacuum = off/g" /var/lib/pgsql/data/postgresql.conf
cd /tmp/
su postgres -c "psql -c \"CREATE USER contacte WITH PASSWORD 'ctepgSQL' SUPERUSER CREATEDB CREATEROLE;\""
sleep 3
su postgres -c "psql -c \"CREATE USER root WITH PASSWORD '$imple$ip' SUPERUSER CREATEDB CREATEROLE;\""
sleep 3
su postgres -c "psql -c \"CREATE USER simplesip WITH PASSWORD 'smplsIP' SUPERUSER CREATEDB CREATEROLE;\""
sleep 3
su postgres -c "psql -c \"ALTER USER postgres WITH PASSWORD 'Grup0d$$';\""
sleep 3
su postgres -c "psql -c \"ALTER USER contacte WITH PASSWORD 'ctepgSQL';\""
sleep 3
su postgres -c "psql -c \"ALTER USER root WITH PASSWORD '$imple$ip';\""
sleep 3
su postgres -c "psql -c \"ALTER USER simplesip WITH PASSWORD 'smplsIP';\""
sleep 3
cd $path_arquivo/
psql -c "delete from pbx_funcoes" -d pbx
psql -c "delete from pbx_funcoes_internas" -d pbx
psql -c "delete from pbx_supervisor_dacs" -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_ramais_pbx set ring_time = '25' where ring_time is null" -d pbx
psql -c "update pbx_iax_pbx set ring_time = '25' where ring_time is null" -d pbx
psql -c "update pbx_dgv set ring_time = '25' where ring_time is null" -d pbx
psql -c "update pbx_sip_ramais set ring_time = '25' where ring_time is null" -d pbx
psql -c "update pbx_dahdi set ring_time = '25' where ring_time is null" -d pbx
psql -c "update pbx_khomp set ring_time = '25' where ring_time is null" -d pbx
psql -c "update pbx_sip_ramais set \"call-limit\" = '1'" -d pbx
psql -c "update pbx_motivos_pausas set tempo_alerta = '120' where tempo_alerta is null" -d pbx
psql -c "update pbx_usuarios set status = false where delete_ = 1" -d pbx
psql -c "update pbx_usuarios set delete_ = 0" -d pbx
#Ajuste autoloff no agente
psql -c "update pbx_parametros set autologoffunavail = 'no'" -d pbx
sed -i "s/autologoffunavail=.*/autologoffunavail=no/g" /etc/asterisk/agents_adicional.conf
aplicativos=$(psql -Atc "select apelido from pbx_usuarios where apelido = 'aplicativos'" -d pbx)
if [ -z "$aplicativos" ] ; then
psql -c "insert into pbx_usuarios(nome, apelido, matricula, flag, \"admin\", senha, supervisor, agente, email, status, senha_expira, penalidade, dac_padrao, check_vl) values('Aplicativos',lower('aplicativos'), (select cast(cast(max(matricula)as integer) + 1 as varchar) from pbx_usuarios),1,'f',md5('1234'), 'f', 'f','', 't', 1, '0','0', md5(lower('aplicativos')))" -d pbx
psql -c "update pbx_usuarios set senha = md5('1234'), check_vl = md5('aplicativos') where apelido = 'aplicativos'" -d pbx
fi
clear
echo "Deseja incluir as redes abaixo, no cadastro de ramais SIP (S/N)?"
echo "Redes Identificadas:"
echo "$(/sbin/ip ro | grep "/" | awk {'print $1'} | grep -v "169.254.0.0")"
read -n 1 resposta
echo ""
if [[ $resposta != +(s|S|y|Y|sim|SIM) ]] ; then
clear
echo "Lembre-se que isso pode comprometer a seguranca do servidor!"
sleep 5
else
#Cadastras redes existentes no servidor nas configuracoes gerais do sip
extranet_general=$(psql -Atc "select count (*) from pbx_sip_general where extranet like '%.%'" -d pbx)
if [ "$extranet_general" == "0" ] ; then
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_sip_ramais set extranet = '$(/sbin/ip ro | grep "/" | awk {'print $1'} | grep -v "169.254.0.0")' where extranet not like '%.%'" -d pbx
fi
fi
cd $path_arquivo/
#Configurando msmtp
echo "Configurando msmtp"
! [ -e /etc/msmtprc ] && touch /etc/msmtprc
chmod 700 /etc/msmtprc
echo "set sendmail=/usr/bin/msmtp" > /root/.mailrc
echo "defaults" > /etc/msmtprc
echo "account voicemail" >> /etc/msmtprc
echo "port 587" >> /etc/msmtprc
echo "timeout off" >> /etc/msmtprc
echo "protocol smtp" >> /etc/msmtprc
echo "domain simplesip.com.br" >> /etc/msmtprc
echo "tls on" >> /etc/msmtprc
echo "tls_trust_file" >> /etc/msmtprc
echo "tls_certcheck off" >> /etc/msmtprc
echo "logfile ~/.msmtp.log" >> /etc/msmtprc
echo "host mail.simplesip.com.br" >> /etc/msmtprc
echo "from voicemail@simplesip.com.br" >> /etc/msmtprc
echo "auth login" >> /etc/msmtprc
echo "user voicemail@simplesip.com.br" >> /etc/msmtprc
echo "password SimpleS_VoicemaiL!@#" >> /etc/msmtprc
echo "" >> /etc/msmtprc
echo "account default:voicemail" >> /etc/msmtprc
chmod --recursive u=rwX,g=rX,o= /etc/msmtprc
chown --recursive pbx:pbx /etc/msmtprc
#Senha Voicemail
psql -c "update pbx_confmail set senha = 'SimpleS_VoicemaiL!@#'" -d pbx
#Crontab
echo "Configurando crontab"
consolidavendas=$(grep "/var/lib/asterisk/scripts/vendas/consolidaVendas.php" /etc/crontab)
sed -i "/\(.*#Servicos Auxiliares\)/d" /etc/crontab
sed -i "/\(.*#Transbordo Assistido\)/d" /etc/crontab
sed -i "/\(.*#Backup\)/d" /etc/crontab
sed -i "/\(.*#VPN\)/d" /etc/crontab
sed -i "/\(.*#Remove Caixa Postal\)/d" /etc/crontab
sed -i "/\(.*#Limpa Maildrop\)/d" /etc/crontab
sed -i "/\(.*#Backup - Shell\)/d" /etc/crontab
sed -i "/\(.*#Bloqueio - SIP\)/d" /etc/crontab
sed -i "/\(.*#NTP\)/d" /etc/crontab
sed -i "/\(.*#Logrotate\)/d" /etc/crontab
sed -i "/\(.*\/var\/spool\/asterisk\/voicemail\/default\/\)/d" /etc/crontab
sed -i "/\(.*\/var\/spool\/postfix\/maildrop\/\)/d" /etc/crontab
sed -i "/\(.*\/hdaux\/utilitarios\/scripts\/logrotate\)/d" /etc/crontab
sed -i "/\(.*\.sh.*\)/d" /etc/crontab
sed -i "/\(.*\.php.*\)/d" /etc/crontab
echo "#Servicos Auxiliares" >> /etc/crontab
echo "0 0 * * * root /var/lib/asterisk/scripts/callcenter/reload.sh" >> /etc/crontab
echo "0 1 * * * root /hdaux/utilitarios/scripts/hd.sh " >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/queue_log.php" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/monitora_agentes.php 180" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/manutencaoDB/importaBilhetes.php" >> /etc/crontab
echo "#*/30 * * * * root /var/lib/asterisk/scripts/portabilidade/atualiza_cliente.php" >> /etc/crontab
! [ -z "$consolidavendas" ] && echo "*/30 * * * * root /var/lib/asterisk/scripts/ven/das/consolidaVendas.php" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/workflow/workflowSender.php" >> /etc/crontab
echo "0 2 * * * root /var/lib/asterisk/scripts/manutencaoDB/manutencaodb.php" >> /etc/crontab
echo "#*/1 * * * * root /var/lib/asterisk/scripts/integracao/encerraChamada.php" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "*/1 * * * * root sleep 15 && /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "*/1 * * * * root sleep 30 && /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "*/1 * * * * root sleep 45 && /var/lib/asterisk/scripts/callcenter/atualizar-dacs.php" >> /etc/crontab
echo "#Transbordo Assistido" >> /etc/crontab
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "*/1 * * * * root sleep 15 && /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "*/1 * * * * root sleep 30 && /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "*/1 * * * * root sleep 45 && /var/lib/asterisk/scripts/callcenter/transbordo.php" >> /etc/crontab
echo "#Backup" >> /etc/crontab
echo "*/10 * * * * root /var/lib/asterisk/scripts/backup/backup.php" >> /etc/crontab
echo "#Backup - Shell" >> /etc/crontab
echo "0 1 * * * root /hdaux/utilitarios/scripts/backup.sh config,bd" >> /etc/crontab
echo "#VPN" >> /etc/crontab
echo "*/1 * * * * root /bin/sip_teste_vpn.sh" >> /etc/crontab
echo "#Remove Caixa Postal" >> /etc/crontab
echo "0 1 * * * root find /var/spool/asterisk/voicemail/default/ -iname *.WAV -mtime +10 -exec rm -rf {} \\;" >> /etc/crontab
echo "0 1 * * * root find /var/spool/asterisk/voicemail/default/ -iname *.txt -mtime +10 -exec rm -rf {} \\;" >> /etc/crontab
echo "#Limpa Maildrop" >> /etc/crontab
echo "0 6 * * * root for i in \$(ls -1 /var/spool/postfix/maildrop/) ; do /bin/rm -rf /var/spool/postfix/maildrop/\$i ; done" >> /etc/crontab
echo "#Bloqueio - SIP" >> /etc/crontab
echo "*/1 * * * * root /hdaux/utilitarios/scripts/bloqueia_autenticacao.sh" >> /etc/crontab
echo "#NTP" >> /etc/crontab
echo "*/15 * * * * root /hdaux/utilitarios/scripts/ntp.sh" >> /etc/crontab
echo "#Logrotate" >> /etc/crontab
echo "59 23 * * * root /hdaux/utilitarios/scripts/logrotate.sh --force" >> /etc/crontab
[ -e /hdaux/utilitarios/scripts/algar.sh ] && echo "#FTP Algar" >> /etc/crontab
[ -e /hdaux/utilitarios/scripts/algar.sh ] && echo "00 01 * * * root bash /hdaux/utilitarios/scripts/algar.sh" >> /etc/crontab
#VPN
echo "Configurando rotas da VPN"
echo '#!/bin/bash' > /etc/ppp/ip-up.local
echo "" >> /etc/ppp/ip-up.local
echo "case \"\$5\" in" >> /etc/ppp/ip-up.local
echo " 10.254.254.1)" >> /etc/ppp/ip-up.local
echo " /sbin/route add -net 10.252.252.0/24 gw 10.254.254.1" >> /etc/ppp/ip-up.local
echo " /sbin/route add -net 192.168.115.0/24 gw 10.254.254.1" >> /etc/ppp/ip-up.local
echo " ;;" >> /etc/ppp/ip-up.local
echo " *)" >> /etc/ppp/ip-up.local
echo "esac" >> /etc/ppp/ip-up.local
chmod 777 /etc/ppp/ip-up.local
#SSH
echo "Configurando SSH"
sed -i "/\(^aplicacao *.\)/d" /etc/sudoers
sed -i "/\(^pablo *.\)/d" /etc/sudoers
sed -i "/\(^manutencao *.\)/d" /etc/sudoers
sed -i "/\(^simples *.\)/d" /etc/sudoers
sed -i "/\(^sipadmin *.\)/d" /etc/sudoers
echo "sipadmin ALL=(ALL) NOPASSWD:/usr/sbin/rasterisk,NOPASSWD:/usr/sbin/asterisk,NOPASSWD:/sbin/iptables,NOPASSWD:/bin/sed,NOPASSWD:/bin/sip_lista_bloqueio.sh,NOPASSWD:/bin/sip_limpa_bloqueio.sh,NOPASSWD:/sbin/halt,NOPASSWD:/sbin/reboot,NOPASSWD:/usr/sbin/setup,NOPASSWD:/sbin/service,NOPASSWD:/bin/date" >> /etc/sudoers
echo "simples ALL=(ALL) NOPASSWD:/usr/sbin/rasterisk,NOPASSWD:/usr/sbin/asterisk,NOPASSWD:/usr/sbin/setup,NOPASSWD:/sbin/service" >> /etc/sudoers
echo "aplicacao ALL=(ALL) NOPASSWD:/bin/ls,NOPASSWD:/usr/bin/ffmpeg,NOPASSWD:/bin/mkdir,NOPASSWD:/bin/chown pbx*,NOPASSWD:/bin/date,NOPASSWD:/bin/rm -rf /var/lib/asterisk/*,NOPASSWD:/bin/mv /var/lib/asterisk/*" >> /etc/sudoers
echo "manutencao ALL=(ALL) NOPASSWD:/sbin/halt,NOPASSWD:/sbin/reboot,NOPASSWD:/usr/sbin/system-config-network-tui,NOPASSWD:/sbin/service" >> /etc/sudoers
echo "pablo ALL=(ALL) ALL" >> /etc/sudoers
sed -i "s/^\(^#Port .*\)/Port 2223/g" /etc/ssh/sshd_config
sed -i "s/^\(^Port .*\)/Port 2223/g" /etc/ssh/sshd_config
sed -i "s/^\(^#PermitRootLogin .*\)/PermitRootLogin no/g" /etc/ssh/sshd_config
sed -i "s/^\(^PermitRootLogin .*\)/PermitRootLogin no/g" /etc/ssh/sshd_config
sed -i "/\(.*AllowUsers*.\)/d" /etc/ssh/sshd_config
echo "AllowUsers aplicacao@127.0.0.1 simples sipadmin pablo opc centos" >> /etc/ssh/sshd_config
#NTP
echo "Configurando NTP"
! [ -e /var/lib/ntp/ntp.drift ] && touch /var/lib/ntp/ntp.drift
/bin/cp -Rapf /etc/ntp.conf /etc/ntp.conf.ori.$(date +%F-%H-%M-%S)
echo "" > /etc/ntp.conf
echo "" >> /etc/ntp.conf
echo "#Referência: http://ntp.br/NTP/MenuNTPLinuxBSD" >> /etc/ntp.conf
echo "# "memoria" para o escorregamento de frequencia do micro" >> /etc/ntp.conf
echo "# pode ser necessario criar esse arquivo manualmente com" >> /etc/ntp.conf
echo "# o comando touch ntp.drift" >> /etc/ntp.conf
echo "driftfile /var/lib/ntp/ntp.drift" >> /etc/ntp.conf
echo "" >> /etc/ntp.conf
echo "# estatisticas do ntp que permitem verificar o historico" >> /etc/ntp.conf
echo "# de funcionamento e gerar graficos" >> /etc/ntp.conf
echo "statsdir /var/log/ntpstats/" >> /etc/ntp.conf
echo "statistics loopstats peerstats clockstats" >> /etc/ntp.conf
echo "filegen loopstats file loopstats type day enable" >> /etc/ntp.conf
echo "filegen peerstats file peerstats type day enable" >> /etc/ntp.conf
echo "filegen clockstats file clockstats type day enable" >> /etc/ntp.conf
echo "" >> /etc/ntp.conf
echo "# servidores publicos do projeto ntp.br" >> /etc/ntp.conf
echo "server a.st1.ntp.br iburst" >> /etc/ntp.conf
echo "server b.st1.ntp.br iburst" >> /etc/ntp.conf
echo "server c.st1.ntp.br iburst" >> /etc/ntp.conf
echo "server d.st1.ntp.br iburst" >> /etc/ntp.conf
echo "server gps.ntp.br iburst" >> /etc/ntp.conf
echo "server a.ntp.br iburst" >> /etc/ntp.conf
echo "server b.ntp.br iburst" >> /etc/ntp.conf
echo "server c.ntp.br iburst" >> /etc/ntp.conf
echo "" >> /etc/ntp.conf
echo "# configuracoes de restricao de acesso" >> /etc/ntp.conf
echo "restrict default kod notrap nomodify nopeer noquery" >> /etc/ntp.conf
echo "restrict -6 default kod notrap nomodify nopeer noquery" >> /etc/ntp.conf
echo "restrict 127.0.0.1" >> /etc/ntp.conf
echo "restrict 10.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery" >> /etc/ntp.conf
echo "restrict 172.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery" >> /etc/ntp.conf
echo "restrict 192.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery" >> /etc/ntp.conf
echo "" >> /etc/ntp.conf
echo "# desabilitar comando monlist" >> /etc/ntp.conf
echo "disable monitor" >> /etc/ntp.conf
chown ntp:ntp /var/lib/ntp/ntp.drift
echo "0.00" > /var/lib/ntp/ntp.drift
[ "$versao_linux" = "7" ] && /bin/systemctl stop chronyd
[ "$versao_linux" = "7" ] && sleep 2
ntpd -q -g
[ "$versao_linux" = "6" ] && sed -i "/\(.*ntpd*.\)/d" /etc/rc.d/rc.local
[ "$versao_linux" = "6" ] && sed -i "/\(.*ntpd*.\)/d" /etc/rc.local
[ "$versao_linux" = "6" ] && echo "ntpd -q -g" >> /etc/rc.d/rc.local
[ "$versao_linux" = "6" ] && echo "service ntpd start" >> /etc/rc.d/rc.local
clear
#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/
#Algar
#cd $path_arquivo/
#ALGAR=$(psql -Atc "select count(*) from pbx_parametros where upper(prm_nome_vendas) = 'ALGAR'" -d pbx)
#if [ "$ALGAR" = "1" ] ; then
# /bin/cp -Rapf asterisk/etc_asterisk/features_algar/features_applicationmap.conf /etc/asterisk/
# /bin/cp -Rapf asterisk/etc_asterisk/features_algar/customizados/*.ulaw /var/lib/asterisk/sounds/customizados/
# ! [ -d /var/lib/asterisk/sounds/customizados/arquivos_mp3 ] && mkdir -p /var/lib/asterisk/sounds/customizados/arquivos_mp3
# /bin/cp -Rapf asterisk/etc_asterisk/features_algar/customizados/arquivos_mp3/*.mp3 /var/lib/asterisk/sounds/customizados/arquivos_mp3/
# sed -i "/\(^DYNAMIC_FEATURES=*.\)/d" /etc/asterisk/extensions_general.conf
# cat asterisk/etc_asterisk/features_algar/extensions_general.conf >> /etc/asterisk/extensions_general.conf
#fi
#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"
if [ "$versao_linux" = "7" ] ; then
[ -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/timedatectl set-ntp true
#/bin/systemctl enable ntpd.service
#/bin/systemctl enable ntpdate.service
/bin/systemctl enable rc.pbx.service
/bin/systemctl enable dahdi.service
/bin/systemctl enable crond.service
/bin/systemctl enable supervisor.service
/bin/systemctl enable dnsmasq.service
/bin/systemctl disable chronyd
/bin/systemctl disable rpcbind
else
[ -e /var/run/nginx.pid ] && service nginx stop
sleep 1
[ -e /var/run/php-fpm/php-fpm.pid ] && service php-fpm stop
sleep 1
[ -e /etc/httpd/run/httpd.pid ] && service httpd stop
sleep 1
service httpd start
sleep 2
service postgresql restart
sleep 2
service sshd restart
sleep 2
/etc/init.d/supervisor start
sleep 2
service dnsmasq restart
sleep 2
chkconfig --level 35 httpd on
chkconfig --level 35 postgresql on
chkconfig --level 35 rc.pbx on
chkconfig --level 35 dahdi on
chkconfig --level 35 ntpd on
chkconfig --level 35 crond on
chkconfig --level 35 supervisor on
chkconfig --level 35 dnsmasq on
fi
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
[ -d banco ] && /bin/mv -f banco /hdaux/atualizacao/banco-$(date +%F-%H-%M-%S)
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 /tmp/pjproject-*
cd ..
/bin/rm -rf atualizacao-*.tar.gz
/bin/rm -rf aplicativo-simplesip_*.tar.gz
cd ..
/bin/rm -rf atualizacao-*.tar.gz
/bin/rm -rf aplicativo-simplesip_*.tar.gz
/bin/rm -rf /tmp/ks-script*
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 -n "Atualizacao concluida, deseja reiniciar? (S/N):"
read -n 1 resposta
echo ""
if [[ $resposta != +(s|S|y|Y|sim|SIM) ]] ; then
/bin/rm -rf /tmp/sip_atualiza.pid
exit
fi
echo "Reiniciando..."
for i in {5..1};do sleep 1 && echo -n "$i ";done
echo ""
/bin/rm -rf /tmp/sip_atualiza.pid
[ -e /sbin/reboot ] && /sbin/reboot
reboot

55
centos7/aplicativo-simplesip/sip_atualiza.sh

@ -2,7 +2,9 @@
trap "" 2 20
# Instalação do PHP 8.2 e a instalação do ioncube para php 8.2
function config_php(){
echo "Instalar PHP 8.2"
cd $path_arquivo/
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/simplesip.repo
@ -19,9 +21,11 @@ function config_php(){
#Configurando php
/bin/cp -Rapf /etc/php.ini /etc/php.ini.ori.$(date +%F-%H-%M-%S)
echo "configurar PHP 8.2"
/bin/cp -Rap /var/www/html/include/scriptdb/install/php/php.ini /etc/php.ini
chown --recursive pbx:pbx /var/lib/php
echo "Instalar ioncube"
#Adicionando modulo zend para criptografia
if [ "$arquitetura" = "x86_64" ] ; then
cd /usr/local
@ -63,6 +67,8 @@ function config_php(){
}
# Essa configuração será definido no postgresql antigo
# Essa configuração será feito backup para o postgresql novo em upgrade_database
function config_postgresql(){
cd $path_arquivo/
echo "Configurando Postgresql"
@ -81,7 +87,7 @@ function config_postgresql(){
/bin/cp -Rapf /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.ori.$(date +%F-%H-%M-%S)
sed -i "s/^\(autovacuum =.*\)/autovacuum = off/g" /var/lib/pgsql/data/postgresql.conf
sed -i "s/^\(#autovacuum =.*\)/autovacuum = off/g" /var/lib/pgsql/data/postgresql.conf
cd /tmp/
su postgres -c "psql -c \"CREATE USER contacte WITH PASSWORD 'ctepgSQL' SUPERUSER CREATEDB CREATEROLE;\""
sleep 3
@ -152,8 +158,10 @@ function config_postgresql(){
/bin/mv ${path_arquivo}/database /tmp/database
cd /var/lib/pgsql
echo "Acrescentar query para PABX 1.8.1"
# Acrescentar o banco de dados para chegar ao PABX 1.8.1
cd /var/lib/pgsql
su postgres -c "psql -d pbx -f /tmp/database/versao-1.7.11.sql"
su postgres -c "psql -d pbx -f /tmp/database/versao-1.7.11.1.sql"
su postgres -c "psql -d pbx -f /tmp/database/versao-1.7.11.3.sql"
@ -191,6 +199,7 @@ function config_dnsresolv(){
}
function config_msmtp(){
echo "configurar msmtp"
cd $path_arquivo/
#Configurando msmtp
echo "Configurando msmtp"
@ -221,6 +230,7 @@ function config_msmtp(){
}
function config_httpd(){
echo "configurar httpd"
cd $path_arquivo/
#Configurando apache
echo "Configurando Apache"
@ -370,7 +380,7 @@ function config_crontab(){
[ -e /hdaux/utilitarios/scripts/algar.sh ] && echo "00 01 * * * root bash /hdaux/utilitarios/scripts/algar.sh" >> /etc/crontab
}
function config_vpn(){
function config_rota_vpn(){
#VPN
echo "Configurando rotas da VPN"
@ -387,6 +397,7 @@ function config_vpn(){
}
function config_ssh(){
echo "configurar ssh e sudoers"
#SSH
echo "Configurando SSH"
@ -617,6 +628,8 @@ function check_timezone(){
done
clear
}
function check_encoding_SO(){
@ -846,6 +859,7 @@ psql -c "update pbx_confmail set senha = 'SimpleS_VoicemaiL!@#'" -d pbx
config_crontab
config_vpn
config_rota_vpn
config_ssh
@ -886,7 +900,6 @@ echo "Reiniciando os servicos"
asterisk -rx "module reload app_queue.so"
if [ "$versao_linux" = "7" ] ; then
systemctl daemon-reload
[ -e /var/run/nginx.pid ] && /bin/systemctl stop nginx.service
@ -921,36 +934,8 @@ systemctl daemon-reload
/bin/systemctl disable chronyd
/bin/systemctl disable rpcbind
else
[ -e /var/run/nginx.pid ] && service nginx stop
sleep 1
[ -e /var/run/php-fpm/php-fpm.pid ] && service php-fpm stop
sleep 1
[ -e /etc/httpd/run/httpd.pid ] && service httpd stop
sleep 1
service httpd start
sleep 2
service postgresql restart
sleep 2
service sshd restart
sleep 2
/etc/init.d/supervisor start
sleep 2
service dnsmasq restart
sleep 2
chkconfig --level 35 httpd on
chkconfig --level 35 postgresql on
chkconfig --level 35 rc.pbx on
chkconfig --level 35 dahdi on
chkconfig --level 35 ntpd on
chkconfig --level 35 crond on
chkconfig --level 35 supervisor on
chkconfig --level 35 dnsmasq on
fi
echo "Upgrade Postgresql 9 para 11"
echo "Upgrade Postgresql 9 para 13"
sleep 3
config_upgrade_postgresql
@ -985,9 +970,11 @@ 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
# gabiarra remover buffer
read -t 1 -n 100 discard
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

47
centos7/aplicativo-simplesip/upgrade_database.sh

@ -1,12 +1,12 @@
#!/bin/bash
trap "" 2 20
# Aonde está o data da versão antiga
function path_home_postgres(){
echo "/var/lib/pgsql/"
}
# Aonde os dados serão colocados da versão nova
function path_new_postgresql(){
echo "/var/lib/pgsql/${VERSION_NEW_PG}"
}
@ -122,7 +122,7 @@ get_char_encoding() {
}
# backup do postgresql antigo
get_path_backup(){
echo "/var/lib/pgsql/backups/sip_atualiza"
}
@ -140,7 +140,7 @@ backup_postgresql_9(){
fi
chown postgres:postgres -R "${path_backup}"
# backup database - pg_dumpall
# backup database
for db in $(sudo -iu postgres psql -l | grep -E "(ISO-88|UTF)" | awk '{print $1}')
do
#Não fará backup dos bancos postgres nem templates
@ -153,6 +153,7 @@ backup_postgresql_9(){
[ $n_return -ne 0 ] && echo -e "${C_BRED}Não foi possível fazer o dump do banco $db ${C_DEFAULT}" && exit 32
done
# backup de usuários
sudo -iu postgres pg_dumpall -g -f "${path_backup}/cluster.sql"; n_return=$?
if [[ ${n_return} -ne 0 ]]
then
@ -182,10 +183,12 @@ verifique a pasta de backup ${path_backup} antes de continuar\
systemctl stop postgresql
sleep 2
# data.tar.gz em "${path_backup}/data.tar.gz"
echo "comprimindo $(path_home_postgres)/data/ ..."
tar -cf "${path_backup}/data.tar.gz" "$(path_home_postgres)/data/" ;n_return=$?
[ ${n_return} -ne 0 ] && echo -e "${C_BRED}Não foi possível comprimir $(path_home_postgres)/data ${C_DEFAULT}" && exit 18
#remover postgresql9
echo -e "${C_BGREEN}Removendo Postgresql 9 ${C_DEFAULT}"
yum remove -y postgresql postgresql-contrib postgresql-devel postgresql-server && echo "Postgresql-9 Removido . . ."
if [ ${n_return} -ne 0 ]
@ -197,6 +200,7 @@ verifique a pasta de backup ${path_backup} antes de continuar\
chmod -R 700 "${path_backup}"
chown -R postgres:postgres "${path_backup}"
# excluir os dados do postgresql antigo
rm -rf "$(path_home_postgres)/data"
echo -e "${C_BGREEN}Backup postgresql 9 $(get_path_backup) ${C_DEFAULT}"
@ -204,7 +208,7 @@ verifique a pasta de backup ${path_backup} antes de continuar\
}
# obter a pasta de dados do postgresql -13
get_pgdata_13() {
directory_database_13=$(grep "Environment=PGDATA=/" /usr/lib/systemd/system/postgresql-13.service | awk -F = '{print $3}')
if [[ -z "${directory_database_13}" ]]; then
@ -216,6 +220,7 @@ get_pgdata_13() {
echo "${directory_database_13}"
}
# Definir a pasta de dados do postgresql-9
set_pgdata_13(){
# $1 primeiro argumento será o novo caminho para o banco de dados
@ -226,10 +231,13 @@ set_pgdata_13(){
fi
}
# Criar os arquivos de bnaco de dos postgresql
initdb_postgresql_13(){
echo "iniciar initdb"
systemctl stop postgresql-13
rm -rf "$(path_new_postgresql)/data"
# Os encoding do banco antigo
server_encoding_=$(awk -F = '/SERVER_ENCODING/ {print $2}' "${dir_config_upgrade_postgres}/char_encoding_db/enconding_9.txt")
lc_collate_=$(awk -F = '/LC_COLLATE/ {print $2}' "${dir_config_upgrade_postgres}/char_encoding_db/enconding_9.txt")
@ -239,6 +247,24 @@ initdb_postgresql_13(){
}
# Instalar o postgresql13
# Ativa o repositório /etc/yum.repos.d/CentOS-Base.repo
# instalar o epel-release (precisa remover e depois instalar de novo)
# instalar o centos-release-scl-rh (precisa remover e depois instalar de novo)
# Atualiza todos os pacotes do sistema
# Instalar o Postgresql-13
#
# Software do postgresql que serão instalados:
# postgresql13
# postgresql13-contrib
# postgresql13-devel
# postgresql13-docs
# postgresql13-libs
# postgresql13-server
# postgresql13-libs
# postgresql13-plpython3
# python2-psycopg2
# python3-psycopg2
install_postgresql13(){
#atualizar o sistema
@ -324,13 +350,14 @@ C_RED="\e[31m"; C_GREEN="\e[32m"; C_DEFAULT="\e[00m"; C_BGREEN="\e[1;32m"; C_BRE
dir_config_upgrade_postgres=""
# se não for root sai.
is_root
find_home
create_dir_config
# Verifica se o /bin/postgres --version ainda está no postgresql 9
pattern_postgres9='postgres \(.* 9\.'
if [[ -f /bin/postgres && $(/bin/postgres --version) =~ ${pattern_postgres9} ]]
then
@ -341,11 +368,13 @@ then
backup_postgresql_9
fi
# verifica se o postgresql 13 está instalado
if [ ! -f /usr/pgsql-$VERSION_NEW_PG/bin/postgres ]
then
install_postgresql13
fi
# Verificar se initdb já foi executado
if [ ! -d "$(path_new_postgresql)/data" ]
then
initdb_postgresql_13
@ -361,6 +390,7 @@ systemctl restart postgresql-13; n_return=$?
[ ${n_return} -ne 0 ] && echo "Não foi possível inicializar postgresql 13" && exit 50
sleep 2
# Se o banco pbx já existe pede que deseja excluílo e restaurar o backup de novo
if [ -n "$(sudo -iu postgres psql -l | grep pbx )" ]
then
read -r -n 1 -p "Deseja apagar o banco de dados e restaura-lo o backup postgresql 9(s/n): " response
@ -384,6 +414,7 @@ sudo -iu postgres psql -f "$(get_path_backup)/cluster.sql"
mkdir -p "$(path_new_postgresql)/log_restore/"
chown postgres:postgres -R "$(path_home_postgres)"
# processo de resturar o banco de dados
for db in "$(get_path_backup)"/database_*.sql
do
file_name=$(basename "$db")
@ -413,12 +444,13 @@ done
#Configurando banco de dados postgresql
/bin/cp -Rapf "$(get_pgdata_13)pg_hba.conf" "$(get_pgdata_13)pg_hba.conf.ori.$(date +%F-%H-%M-%S)"
sed -i "s/^\(.*host.*all.*all.*127.0.0.1.*\)/host all all 127.0.0.1\/32 md5/g" "$(get_pgdata_13)pg_hba.conf"
sed -i "s/^\(.*host.*all.*all.*127.0.0.1.*\)/host all all 127.0.0.1\/32 password/g" "$(get_pgdata_13)pg_hba.conf"
sed -i "s/^\(.*host.*all.*all.*0.0.0.0\/0.*\)/host all all 127.0.0.1\/32 md5/g" "$(get_pgdata_13)pg_hba.conf"
sed -i "/\(.*192\.168\.115\.0*.\)/d" "$(get_pgdata_13)pg_hba.conf"
sed -i "/\(.*10\.252\.252\.0*.\)/d" "$(get_pgdata_13)pg_hba.conf"
sed -i "/\(.*177\.67\.197\.146*.\)/d" "$(get_pgdata_13)pg_hba.conf"
# Enviar os acessos em pg_hba.conf
{
echo "host all all 192.168.115.0/24 md5"
echo "host all all 10.252.252.0/24 md5"
@ -434,6 +466,7 @@ sed -i "s/^\(#autovacuum =.*\)/autovacuum = off/g" "$(get_pgdata_13)postgresql.c
chown -R postgres:postgres "$(get_pgdata_13)"
chown -R postgres:postgres "$(get_path_backup)"
# Colocar para ser iniciado com sistema operacional
systemctl enable postgresql-13
systemctl daemon-reload
echo "Reiniciar o postgresql 13"

Loading…
Cancel
Save