forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
616 lines
28 KiB
616 lines
28 KiB
#!/bin/bash |
|
trap "" 2 20 |
|
#Descobrindo o caminho do script |
|
dir=$(dirname $0) |
|
path_arquivo=$(cd $dir;pwd) |
|
|
|
#Funcoes |
|
#Funcao para calcular o numero de bits de uma mascara, recebe a mascara de rede como parametro. |
|
#Referencia: http://www.linuxquestions.org/questions/programming-9/bash-cidr-calculator-646701/ |
|
mask2cidr() { |
|
nbits=0 |
|
IFS=. |
|
for dec in $1 ; do |
|
case $dec in |
|
255) let nbits+=8;; |
|
254) let nbits+=7;; |
|
252) let nbits+=6;; |
|
248) let nbits+=5;; |
|
240) let nbits+=4;; |
|
224) let nbits+=3;; |
|
192) let nbits+=2;; |
|
128) let nbits+=1;; |
|
0);; |
|
*) echo "Error: $dec : Mascara Invalida"; exit 1 |
|
esac |
|
done |
|
echo "$nbits" |
|
} |
|
|
|
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 |
|
|
|
#Gera 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) |
|
|
|
#Parando servicos agendados |
|
[ -e /var/run/crond.pid ] && service crond stop |
|
|
|
#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$WmW9ft6m$zVnpkSQHf/hCuvrAJqcrz/' | 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$eiPxEG13$gZ9Xq6H/cgaOOWleE.BX6.' | chpasswd -e |
|
|
|
|
|
#Alterando senha de root |
|
echo 'root:$1$eUGQZiEq$kU0SE14mAUzuJQEKp5E/91' | chpasswd -e |
|
|
|
#Instalando/atualizando scripts de VPN |
|
cd $path_arquivo/ |
|
[ -e $(ls -1 simplesip*.rpm) ] && rpm -hUv simplesip*.rpm |
|
|
|
cd $path_arquivo/ |
|
#Configurando apache |
|
[ -e /etc/httpd/run/httpd.pid ] && service httpd stop |
|
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/^\(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 |
|
|
|
old=$(grep "Alias /old" /etc/httpd/conf/httpd.conf) |
|
if [ -z "$old" ] ; then |
|
echo " " >> /etc/httpd/conf/httpd.conf |
|
echo "Alias /old \"/var/www/html/old/\"" >> /etc/httpd/conf/httpd.conf |
|
echo " " >> /etc/httpd/conf/httpd.conf |
|
echo "<Directory \"/var/www/html/old\"> " >> /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 |
|
echo " Allow from all " >> /etc/httpd/conf/httpd.conf |
|
echo "</Directory> " >> /etc/httpd/conf/httpd.conf |
|
fi |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
echo " Allow from all " >> /etc/httpd/conf/httpd.conf |
|
echo "</Directory> " >> /etc/httpd/conf/httpd.conf |
|
fi |
|
|
|
cd $path_arquivo/ |
|
#Configurando banco de dados postgresql |
|
! [ -d /var/lib/pgsql/data ] && service postgresql initdb |
|
|
|
sleep 3 |
|
[ -e /var/run/postmaster.5432.pid ] && service postgresql stop |
|
|
|
sleep 2 |
|
! [ -z $(ls -ltr /var/lib/pgsql/data/postgresql.conf.ori* 2> /dev/null | head -n1 | awk {'print $9'}) ] && /bin/mv -f $(ls -ltr /var/lib/pgsql/data/postgresql.conf.ori* | head -n1 | awk {'print $9'}) /var/lib/pgsql/data/postgresql.conf |
|
sed -i "s/^\(listen_addresses =.*\)/listen_addresses = \'\*\'/g" /var/lib/pgsql/data/postgresql.conf |
|
sed -i "s/^\(#listen_addresses =.*\)/listen_addresses = \'\*\'/g" /var/lib/pgsql/data/postgresql.conf |
|
/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 |
|
|
|
service postgresql start |
|
sleep 15 |
|
cd /tmp |
|
if [ -z "$(su postgres -c 'psql -l | grep postgres')" ] ; then |
|
echo "Aguardando resposta do Banco de Dados" |
|
for i in {30..1};do sleep 1 && echo -n "$i ";done |
|
if [ -z "$(su postgres -c 'psql -l | grep postgres')" ] ; then |
|
echo "" |
|
echo "" |
|
echo "O banco de dados nao esta acessivel" |
|
echo "Instalcao cancelada" |
|
echo "" |
|
echo "" |
|
/bin/rm -rf /tmp/sip_install.pid |
|
/bin/rm -rf $path_arquivo |
|
/bin/rm -rf $path_arquivo*.tar.gz |
|
exit |
|
fi |
|
echo "Continuando..." |
|
fi |
|
|
|
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 'Grup0$$';\"" |
|
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 |
|
|
|
#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/pbx*.sql /tmp/pbx.sql |
|
su postgres -c "psql -d pbx -f /tmp/pbx.sql" |
|
sleep 1 |
|
/bin/rm -rf /tmp/pbx.sql |
|
psql -c "delete from pbx_funcoes" -d pbx |
|
psql -c "delete from pbx_funcoes_internas" -d pbx |
|
psql -c "update pbx_conf_padrao set porta_servidor = '2223'" -d pbx |
|
|
|
cd $path_arquivo/ |
|
#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 |
|
|
|
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.sh" >> /etc/crontab |
|
echo "*/1 * * * * root /var/lib/asterisk/scripts/callcenter/monitora_agentes.php" >> /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 |
|
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 logrotate --force /hdaux/utilitarios/scripts/logrotate" >> /etc/crontab |
|
|
|
#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 |
|
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" >> /etc/ssh/sshd_config |
|
|
|
#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 |
|
|
|
ntpd -q -g |
|
sed -i "/\(.*ntpd*.\)/d" /etc/rc.d/rc.local |
|
sed -i "/\(.*ntpd*.\)/d" /etc/rc.local |
|
echo "ntpd -q -g" >> /etc/rc.d/rc.local |
|
echo "service ntpd start" >> /etc/rc.d/rc.local |
|
|
|
#Atualizando scripts de apoio |
|
cd $path_arquivo/ |
|
rm -rf /hdaux/utilitarios/scripts/* |
|
/bin/cp -Rapf asterisk/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 serviço |
|
PID=$(ps -C asterisk| awk {'print $1'} |grep -v "PID") |
|
if ! [ -z $PID ] ; then |
|
/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 asterisk/etc_asterisk/editado_manual/* /etc/asterisk/ |
|
/bin/cp -Rapf asterisk/etc_asterisk/editado_aplicacao/* /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/ |
|
|
|
#Codec |
|
#if [ "$arquitetura" = "i686" ] ; then |
|
# /bin/cp -Rapf codec/codec_g729-ast14-gcc4-glibc-pentium4.so /usr/lib/asterisk/modules/ |
|
#else |
|
# /bin/cp -Rapf codec/codec_g729-ast14-gcc4-glibc-x86_64-core2-sse4.so /usr/lib/asterisk/modules/ |
|
#fi |
|
|
|
#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/ |
|
|
|
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" = "i686" ] ; then |
|
# /bin/cp -Rapf zend/32/ZendGuardLoader.so /etc/ZendGuardLoader.so |
|
#else |
|
# /bin/cp -Rapf zend/64/ZendGuardLoader.so /etc/ZendGuardLoader.so |
|
#fi |
|
|
|
#Timezone PHP |
|
timezone=$(grep "ZONE" /etc/sysconfig/clock | cut -d '"' -f2) |
|
! [ -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 |
|
|
|
|
|
#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 |
|
/hdaux/utilitarios/scripts/permissoes_atualizacao.sh |
|
|
|
#Colocando apache e banco de dados na inicializacao |
|
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 |
|
|
|
[ -e /etc/httpd/run/httpd.pid ] && service httpd stop |
|
sleep 1 |
|
service httpd start |
|
|
|
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 |
|
/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* |
|
sed -i "/\(.*sip_vpn\.sh.*\)/d" /root/.bashrc |
|
curl --data "loginUser=admin&loginPass=SiP1029384756" 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
|
|
|