forked from SimplesIP/install_pabx
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.
580 lines
18 KiB
580 lines
18 KiB
#!/bin/bash |
|
#trap "" 2 20 |
|
|
|
|
|
function arquivo_descriptografar(){ |
|
|
|
cd $path_arquivo |
|
|
|
if [[ ! -f "${TAR_HDAUX}.enc" && ! -f "${TAR_VAR}.enc" && ! -f "${TAR_ETC}.enc" || ! -f "${TAR_USR}.enc" || ! -f "${TAR_DATABASE}.enc" ]] |
|
then |
|
echo "Falta arquivos criptografados" |
|
fi |
|
|
|
openssl aes-256-cbc -d -pbkdf2 -pass pass:\'$PASSWORD_CRYPT\' -in "${TAR_HDAUX}.enc" -out "${TAR_HDAUX}" |
|
openssl aes-256-cbc -d -pbkdf2 -pass pass:\'$PASSWORD_CRYPT\' -in "${TAR_VAR}.enc" -out "${TAR_VAR}" |
|
openssl aes-256-cbc -d -pbkdf2 -pass pass:\'$PASSWORD_CRYPT\' -in "${TAR_ETC}.enc" -out ${TAR_ETC} |
|
openssl aes-256-cbc -d -pbkdf2 -pass pass:\'$PASSWORD_CRYPT\' -in "${TAR_USR}.enc" -out "${TAR_USR}" |
|
openssl aes-256-cbc -d -pbkdf2 -pass pass:\'$PASSWORD_CRYPT\' -in "${TAR_DATABASE}.enc" -out "${TAR_DATABASE}" |
|
|
|
} |
|
|
|
|
|
function descompactar(){ |
|
|
|
if [[ ! -f "${TAR_HDAUX}" || ! -f "${TAR_VAR}" || ! -f "${TAR_ETC}" || ! -f "${TAR_USR}" || ! -f "${TAR_DATABASE}" ]] |
|
then |
|
echo "Falta arquivos criptografados" && sair_instalacao 40 |
|
fi |
|
|
|
tar -xf $TAR_HDAUX -C / |
|
[ $? -ne 0 ] && sair_instalacao "não" |
|
tar -xf ${TAR_VAR} -C / |
|
[ $? -ne 0 ] && sair_instalacao "não" |
|
tar -xf ${TAR_ETC} -C / |
|
[ $? -ne 0 ] && sair_instalacao "não" |
|
tar -xf ${TAR_USR} -C / |
|
[ $? -ne 0 ] && sair_instalacao "não" |
|
tar -xf ${TAR_DATABASE} -C / |
|
[ $? -ne 0 ] && sair_instalacao "não" |
|
|
|
} |
|
|
|
|
|
function access_sgdb(){ |
|
|
|
for encode_db in $(sudo -u postgres psql -l | grep postgres | awk -F \| '{print $3}') |
|
do |
|
[ "LATIN1" == $encode_db ] || sair_instalacao 16 |
|
done |
|
|
|
for locate_db in $(sudo -u postgres psql -l | grep postgres | awk -F \| '{print $4}') |
|
do |
|
[ "$(echo "en_US.iso-8859-1" | tr '[:upper:]' '[:lower:]' )" == "$( echo $locate_db |tr '[:upper:]' '[:lower:]')" ] || sair_instalacao 16 |
|
done |
|
|
|
} |
|
|
|
|
|
function parar_servicos_antes_instalacao(){ |
|
|
|
/usr/bin/systemctl kill cron |
|
/usr/bin/systemctl kill supervisor |
|
/usr/bin/systemctl kill apache2 |
|
/usr/bin/systemctl kill postgresql@13-main.service |
|
/usr/bin/systemctl kill asterisk |
|
|
|
} |
|
|
|
|
|
function start_postgresql(){ |
|
|
|
[ ! -f /usr/lib/systemd/system/postgresql@.service ] && sair_instalacao 15 |
|
if [ "$(systemctl status postgresql@13-main.service|awk -F\( 'NR==3{print $2}'|cut -d\) -f 1)" == "running" ] |
|
then |
|
systemctl restart postgresql@13-main.service |
|
[ $? -ne 0 ] && sair_instalacao 15 |
|
else |
|
systemctl start postgresql@13-main.service |
|
[ $? -ne 0 ] && sair_instalacao 15 |
|
fi |
|
|
|
sleep 3 |
|
|
|
} |
|
|
|
|
|
function sair_instalacao(){ |
|
|
|
/bin/rm -rf /tmp/sip_install.pid |
|
cd $path_arquivo |
|
rm -rf "$(find $path_arquivo* -maxdepth 1 -type d)" |
|
rm -rf "$(find $path_arquivo* -iname "*.tar.gz")" |
|
exit $1 |
|
} |
|
|
|
|
|
|
|
function mudar_password(){ |
|
|
|
/usr/sbin/usermod --password $2 $1 2> /dev/null |
|
/usr/bin/passwd --status $1 2> /dev/null |
|
|
|
} |
|
|
|
function delete_usuario(){ |
|
|
|
/usr/sbin/userdel -fr $1 2> /dev/null |
|
[ -n "$(cat /etc/group|grep -iE "^$1")" ] && /usr/sbin/groupdel $1 2> /dev/null |
|
|
|
} |
|
|
|
function criar_usuario_limitado(){ |
|
|
|
#excluí usuário |
|
if [ -n "$(cat /etc/passwd | grep -i ^$1:)" ] ; then |
|
delete_usuario $1 |
|
fi |
|
|
|
/usr/sbin/groupadd $1 &> /dev/null |
|
/usr/sbin/useradd -s /usr/bin/rbash -m $1 -g $1 &> /dev/null |
|
/usr/bin/mkdir /home/$1/bin |
|
|
|
## Restringir permissões do usuário manutenção |
|
echo "readonly PATH=/home/$1/bin |
|
export PATH" >> /home/$1/.bashrc |
|
|
|
ln -s /sbin/reboot /home/$1/bin/reiniciar |
|
ln -s /sbin/halt /home/$1/bin/desligar |
|
|
|
[ $1 == "manutencao" ] && echo "if [[ -f /home/$1/manutencao.sh ]];then /home/manutencao/manutencao.sh; else echo \"Sem script de manutencao.\";fi" >> /home/$1/.bashrc |
|
[ $1 == "manutencao" ] && echo "exit" >> /home/$1/.bashrc |
|
|
|
mudar_password $1 $2 |
|
|
|
} |
|
|
|
function criar_usuario(){ |
|
|
|
#excluí usuário |
|
if [ -n "$(cat /etc/passwd | grep -i ^$1:)" ] ; then |
|
delete_usuario $1 |
|
fi |
|
|
|
/usr/sbin/groupadd $1 2> /dev/null |
|
/usr/sbin/useradd -s /usr/bin/bash "$([ -n "$3" ] && echo "-d $3" || echo "-m" )" $1 -g $1 2> /dev/null |
|
|
|
mudar_password $1 $2 |
|
} |
|
|
|
|
|
function verificar_encode(){ |
|
|
|
local encode="$1" |
|
# 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 |
|
|
|
export LANGUAGE="en_US ISO-8859-1" |
|
export LANG="en_US ISO-8859-1" |
|
export LC_ALL="en_US ISO-8859-1" |
|
|
|
/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 |
|
|
|
} |
|
|
|
|
|
function ja_instalado(){ |
|
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 |
|
} |
|
|
|
|
|
|
|
function existe_outra_instalacao(){ |
|
# Verifica se o script esta rodando |
|
# |
|
if [ -e /tmp/sip_install.pid ] ; then |
|
echo "Script em Excecucao..." |
|
exit |
|
fi |
|
} |
|
|
|
|
|
|
|
function definir_timezone(){ |
|
|
|
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 |
|
} |
|
|
|
|
|
|
|
function checar_dependencias(){ |
|
|
|
for program in $1 |
|
do |
|
[ ! -f /usr/bin/$program ] && echo "falta de pendencias. $program" && sair_instalacao 10 |
|
done |
|
|
|
for program in $2 |
|
do |
|
[ ! -f /usr/sbin/$program ] && echo "falta dependencia $program" && sair_instalacao 10 |
|
done |
|
} |
|
|
|
|
|
|
|
function criar_directory_app(){ |
|
|
|
[ -d /hdaux/downloads ] && rm -rf /hdaux/downloads |
|
mkdir -p /hdaux/downloads |
|
[ -d /hdaux/atualizacao ] && rm -rf /hdaux/atualizacao |
|
mkdir -p /hdaux/atualizacao |
|
[ -d /hdaux/utilitarios/scripts ] && rm -rf /hdaux/utilitarios/scripts |
|
|
|
[ -d /hdaux/utilitarios/ferramentas ] && rm -rf /hdaux/utilitarios/ferramentas |
|
mkdir -p /hdaux/utilitarios/ferramentas |
|
[ -d /hdaux/utilitarios/manuais ] && rm -rf hdaux/utilitarios/manuais |
|
mkdir -p /hdaux/utilitarios/manuais |
|
[ -d /hdaux/backup ] && rm -rf /hdaux/backup |
|
mkdir -p /hdaux/backup |
|
[ -d /hdaux/restore ] && rm -rf /hdaux/restore |
|
mkdir -p /hdaux/restore |
|
|
|
|
|
[ -d /var/www/html/aplicativo ] && rm -rf /var/www/html/aplicativo |
|
|
|
[ -d /var/www/html/include ] && rm -rf /var/www/html/include |
|
|
|
[ -d /var/www/html/agenda ] && rm -rf /var/www/html/agenda |
|
|
|
[ -d /vars/lib/asterisk ] && rm -rf /vars/lib/asterisk |
|
|
|
[ -d /etc/asterisk ] && rm -rf /etc/asterisk/ |
|
|
|
} |
|
|
|
|
|
|
|
# Mudar o |
|
function config_postgresql(){ |
|
|
|
if [ ! -f /var/lib/postgresql/13/main/postgresql.conf ] |
|
then |
|
echo "Não foi encontrado arquivo /var/lib/postgresql/13/main/postgresql.conf"; sair_instalacao 15 |
|
fi |
|
|
|
sed -i "s/^[# ]*listen_addresses *= *'.*'/listen_addresses = \'\*\'/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*shared_buffers *= *[0-9]* *\(MB\|kB\|GB\)/shared_buffers = 960MB/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*effective_cache_size *= *[0-9] *\(MB\|kB\|GB\)/effective_cache_size = 2816MB/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*log_destination *= *'.*'/log_destination = 'stderr' /g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*logging_collector *= *\(on\|off\)/logging_collector = on/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*log_directory = '.*'/log_directory = 'log'/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*log_filename = '.*'/log_filename = 'postgresql-%a.log/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*log_rotation_age *= *[0-9]*[dw]/log_rotation_age = 1d/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*log_rotation_size *= *[0-9]* *\(MB\|kB\|GB\)/log_rotation_size = 0/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*log_line_prefix *= *'.*'/log_line_prefix = '%m PID[%p] USER(%u) aplication(%a) database(%d) command(%i) SQLSTATE(%e): '/g" /var/lib/postgresql/13/main/postgresql.conf |
|
sed -i "s/^[# ]*autovacuum *= *\(on\|off\)/autovacuum = off/g" /var/lib/postgresql/13/main/postgresql.conf |
|
} |
|
|
|
|
|
|
|
function inicia_initdb(){ |
|
|
|
rm -rf /var/lib/postgresql/13/main |
|
sudo -u postgres /usr/lib/postgresql/13/bin/initdb -D /var/lib/postgresql/13/main -E LATIN1 --locale=en_US.ISO-8859-1 |
|
} |
|
|
|
|
|
function alterar_password_user_postgresql(){ |
|
|
|
sudo -u postgres psql -c "ALTER USER $1 WITH PASSWORD '$2';" |
|
} |
|
|
|
|
|
function criar_usuario_postgresql(){ |
|
|
|
|
|
|
|
sudo -u postgres psql -c "CREATE USER $1 WITH PASSWORD '$2' ${*:3};" |
|
|
|
alterar_password_user_postgresql "$1" "$2" |
|
|
|
} |
|
|
|
|
|
|
|
function criar_banco_pbx(){ |
|
|
|
#Criando Banco de Dados |
|
! [ -z "$(sudo -u postgres psql -l | grep pbx)" ] && sudo -u postgres dropdb pbx |
|
sudo -u postgres createdb pbx |
|
|
|
[ $? == 0 ] && sair_instalacao 17 |
|
|
|
} |
|
|
|
|
|
function rota_vpn(){ |
|
|
|
#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 |
|
|
|
} |
|
|
|
function criar_banco_pbx(){ |
|
|
|
#Criando Banco de Dados |
|
! [ -z "$(sudo -u postgres psql -l | grep pbx)" ] && sudo -u postgres dropdb pbx |
|
sudo -u postgres createdb pbx |
|
sleep 1 |
|
} |
|
|
|
function config_msmt(){ |
|
|
|
#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 |
|
|
|
} |
|
|
|
|
|
function 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 |
|
|
|
} |
|
|
|
|
|
function config_sshd_sudo(){ |
|
#SSH |
|
echo "sipadmin ALL=(ALL) 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 |
|
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" >> /etc/ssh/sshd_config |
|
|
|
} |
|
|
|
|
|
|
|
|
|
function server_postgresql(){ |
|
|
|
inicia_initdb |
|
config_postgresql |
|
start_postgresql |
|
access_sgdb |
|
criar_usuario_postgresql contacte 'ctepgSQL' SUPERUSER CREATEDB CREATEROLE |
|
criar_usuario_postgresql root '$imple$ip' SUPERUSER CREATEDB CREATEROLE |
|
criar_usuario_postgresql simplesip 'smplsIP' SUPERUSER CREATEDB CREATEROLE |
|
alterar_password_user_postgresql postgres 'SIP$$' |
|
criar_banco_pbx |
|
|
|
} |
|
|
|
COMPANY="SIMPLES IP" |
|
|
|
# O script encrypt_app.sh irá definir esse campo |
|
PASSWORD_CRYPT="123123" |
|
|
|
TAR_HDAUX="hdaux.tar.gz" |
|
TAR_VAR="var.tar.gz" |
|
TAR_ETC="etc.tar.gz" |
|
TAR_USR="usr.tar.gz" |
|
TAR_DATABASE="database.tar.gz" |
|
|
|
|
|
|
|
#Descobrindo o caminho do script |
|
dir=$(dirname $0) |
|
path_arquivo=$(cd $dir;pwd) |
|
arquitetura=$(uname -m) |
|
versao_linux=$(cat /etc/debian_version | sed 's/[a-zA-Z() ]//g' | cut -d "." -f 1) |
|
encode=$(locale | tr '[:upper:]' '[:lower:]' | sed -e "s/\"//g" | grep "^lang=") |
|
resposta=0 |
|
tty_user=$(tty|awk -F/ '{print $3"/"$4}') |
|
sosftware_depencencia="pg_ctlcluster sudo php crontab msmtp" |
|
sosftware_depencencia_sbin="asterisk apache2 logrotate pptp" |
|
|
|
clear |
|
echo ' ' |
|
echo ' _____ _ __ _____ ________ ' |
|
echo ' / ___/(_)___ ___ ____ / /__ / ___/ / _/ __ \' |
|
echo ' \__ \/ / __ `__ \/ __ \/ / _ \\__ \ / // /_/ /' |
|
echo ' ___/ / / / / / / / /_/ / / __/__/ / _/ // ____/ ' |
|
echo '/____/_/_/ /_/ /_/ .___/_/\___/____/ /___/_/ ' |
|
echo ' /_/ ' |
|
echo ' ' |
|
|
|
|
|
existe_outra_instalacao |
|
|
|
# |
|
#PID do scritp |
|
echo $$ > /tmp/sip_install.pid |
|
|
|
checar_dependencias "$sosftware_depencencia" "$sosftware_depencencia_sbin" |
|
|
|
ja_instalado |
|
verificar_encode $encode |
|
definir_timezone |
|
|
|
|
|
#deslogar todos os usuários |
|
/bin/kill $(ps -ef | egrep '(tty|pts)'| grep -vE "$tty_user"|awk '{print $2}') |
|
cd $path_arquivo |
|
|
|
|
|
[ ! -f /usr/bin/rbash ] && /usr/bin/cp /usr/bin/bash /usr/bin/rbash |
|
|
|
criar_usuario_limitado manutencao '$6$i8exmsZlTgUfFiEo$XiXTmZVRotYBDkTfJIa2NWLzrb63MJ8rdXcFqUprfKsoUS8uUkdVaDZwqBboWzG4K6pNRxJjx59ty/ztpRDtj0' |
|
criar_usuario aplicacao '$6$i8exmsZlTgUfFiEo$XiXTmZVRotYBDkTfJIa2NWLzrb63MJ8rdXcFqUprfKsoUS8uUkdVaDZwqBboWzG4K6pNRxJjx59ty/ztpRDtj0' /tmp |
|
criar_usuario pbx '$6$i8exmsZlTgUfFiEo$XiXTmZVRotYBDkTfJIa2NWLzrb63MJ8rdXcFqUprfKsoUS8uUkdVaDZwqBboWzG4K6pNRxJjx59ty/ztpRDtj0' /var/lib/asterisk |
|
criar_usuario simples '$6$i8exmsZlTgUfFiEo$XiXTmZVRotYBDkTfJIa2NWLzrb63MJ8rdXcFqUprfKsoUS8uUkdVaDZwqBboWzG4K6pNRxJjx59ty/ztpRDtj0' |
|
criar_usuario sipadmin '$6$i8exmsZlTgUfFiEo$XiXTmZVRotYBDkTfJIa2NWLzrb63MJ8rdXcFqUprfKsoUS8uUkdVaDZwqBboWzG4K6pNRxJjx59ty/ztpRDtj0' |
|
mudar_password root '$6$i8exmsZlTgUfFiEo$XiXTmZVRotYBDkTfJIa2NWLzrb63MJ8rdXcFqUprfKsoUS8uUkdVaDZwqBboWzG4K6pNRxJjx59ty/ztpRDtj0' |
|
|
|
parar_servicos_antes_instalacao |
|
|
|
config_msmt |
|
|
|
rota_vpn |
|
|
|
config_sshd_sudo |
|
|
|
config_ntp |
|
|
|
cd /var/lib/postgresql |
|
server_postgresql |
|
cd $path_arquivo |
|
|
|
#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 |
|
|
|
criar_directory_app |
|
arquivo_descriptografar |
|
descompactar |
|
|
|
|
|
|
|
|