HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //usr/local/locaweb/bin/lwcorp_apache2_disable_reenable.sh
#!/bin/bash

# VARS e FUNCTIONS
. /etc/lwcorp/lwcorp.functions

apache2ctl_configtest() {

configtest

if [ $? -ne "0" ];then

    echo "$LOGDATE - [Existe um erro no 'configtest' do Apache2. Processo abortado]" >> $LOGFILE
    dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nEXISTE UM ERRO NO CONFIGTEST DO APACHE.\n\nCORRIJA ISSO ANTES DE PROSSEGUIR." 9 65

    exit 1

fi

}

#
# FUNCTION PARA DESATIVAR SITE
#

desativa_sites() {

SITES_ATIVOS="$(ls -1 /etc/locaweb/hospedagem/*.conf | cut -d\/ -f5 | cut -d. -f1)"

if [ -z $SITES_ATIVOS ]; then
    echo "$LOGDATE - [Nao ha sites ativos e/ou analista cancelou o processo]" >> $LOGFILE
    dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nNAO HA SITES ATIVOS. CONFIGURACAO CANCELADA." 7 65
    exit 1
fi

SITE_SELECIONADO="$(dialog --backtitle "$LWCORPHEADER" --stdout --radiolist "\nSELECIONE A HOSPEDAGEM:" 0 0 0 `for a in $SITES_ATIVOS; do echo "$a '' off"; done`)"

if [ -z $SITE_SELECIONADO ]; then

    echo "$LOGDATE - [Analista nao selecionou a hospedagem e/ou cancelou o processo]" >> $LOGFILE
    dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nCONFIGURACAO CANCELADA." 7 65
    exit 1

else

    echo "$LOGDATE - [Analista selecionou site '$SITE_SELECIONADO'. Aguardando confirmacao]" >> $LOGFILE

    dialog --backtitle "$LWCORPHEADER" \
             --title "$TITLECONFIRMACAO" \
             --yesno "VALIDANDO INFORMACOES:
                      \n\n VOCE ESTA PRESTES A 'DESATIVAR' O SEGUINTE WEBSITE:
                      \n\n * LOGIN DA HOSPEDAGEM => $SITE_SELECIONADO ($SITE_SELECIONADO.hospedagemdesites.ws)
                      \n\nATENCAO: ESTA CONFIGURACAO REQUER UM RESTART DO APACHE2. DESEJA PROSSEGUIR?" 11 100

    case $? in
        0) echo "$LOGDATE - [Analista confirmou desativacao do site '$SITE_SELECIONADO']" >> $LOGFILE
           echo -e "\n\033[1;32m==============================================================\033[0m" ;
           echo -e "\n\033[1;32mDESATIVANDO SITE $SITE_SELECIONADO\033[0m" ;
           echo -e "\n\033[1;32m==============================================================\033[0m" ;
           echo "";
           chattr -i /etc/locaweb/hospedagem/$SITE_SELECIONADO.conf ;
           mv /etc/locaweb/hospedagem/$SITE_SELECIONADO.conf /etc/locaweb/hospedagem/$SITE_SELECIONADO.conf_des && echo ""
           echo "$LOGDATE - [Site '$SITE_SELECIONADO' desativado com sucesso]" >> $LOGFILE
           dialog --backtitle "$LWCORPHEADER" --title "$TITLEINFO" --msgbox "\nSITE $SITE_SELECIONADO DESATIVADO COM SUCESSO." 7 65; exit 0;;
        1) echo "$LOGDATE - [Analista cancelou a configuracao]" >> $LOGFILE;
           dialog --backtitle "$LWCORPHEADER" --title "$TITLECANCELADA" --msgbox "\nCONFIGURACAO CANCELANDA." 7 65; exit 1;;
    esac

fi
}

#
# FUNCTION PARA REATIVAR SITE
#

reativa_sites() {

# Aqui sao separados os sites ativos para exibir apenas aqueles que estao
# disponiveis para ativacao, evitando que alguem ative algo ja ativado. Sacou?

SITES_DESATIVADOS="$(ls -1 /etc/locaweb/hospedagem/*.conf_des | cut -d\/ -f5 | cut -d. -f1)"

if [ -z $SITES_DESATIVADOS ]; then
    echo "$LOGDATE - [Nao ha sites desativados neste servidor. Abortado.]" >> $LOGFILE
    dialog --backtitle "$LWCORPHEADER" --title "$TITLEINFO" --msgbox "\nNAO HA HOSPEDAGENS DESATIVADAS NESTE SERVIDOR." 7 65
	exit 1
fi

SITE_SELECIONADO="$(dialog --backtitle "$LWCORPHEADER" --stdout --radiolist "\nSELECIONE A HOSPEDAGEM:" 0 0 0 `for a in $SITES_DESATIVADOS; do echo "$a '' off"; done`)"

if [ -z $SITE_SELECIONADO ]; then

    echo "$LOGDATE - [Analista nao selecionou a hospedagem e/ou cancelou o processo]" >> $LOGFILE
    dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nCONFIGURACAO CANCELADA." 7 65
    exit 1

else

    echo "$LOGDATE - [Analista selecionou site '$SITE_SELECIONADO'. Aguardando confirmacao]" >> $LOGFILE

    dialog --backtitle "$LWCORPHEADER" \
             --title "$TITLECONFIRMACAO" \
             --yesno "VALIDANDO INFORMACOES: 
                      \n\n VOCE ESTA PRESTES A 'REATIVAR' O SEGUINTE WEBSITE:
                      \n\n * LOGIN DA HOSPEDAGEM => $SITE_SELECIONADO ($SITE_SELECIONADO.hospedagemdesites.ws)
                      \n\n ATENCAO: ESTA CONFIGURACAO REQUER UM RESTART DO APACHE2. DESEJA PROSSEGUIR?" 11 100

    case $? in
        0) echo "$LOGDATE - [Analista confirmou a reativacao do site '$SITE_SELECIONADO']" >> $LOGFILE
           echo "";
           echo -e "\033[1;32m==============================================================\033[0m";
           echo -e "\033[1;32mREATIVACAO DO SITE $SITE_SELECIONADO\033[0m";
           echo -e "\033[1;32m==============================================================\033[0m";
           echo "";
           chattr -i /etc/locaweb/hospedagem/$SITE_SELECIONADO.conf_des;
           mv /etc/locaweb/hospedagem/$SITE_SELECIONADO.conf_des /etc/locaweb/hospedagem/$SITE_SELECIONADO.conf && echo "";
           configtest ;
           echo "$LOGDATE - [Site '$SITE_SELECIONADO' reativado com sucesso]" >> $LOGFILE
           dialog --backtitle "$LWCORPHEADER" --title "$TITLEINFO" --msgbox "\nSITE $SITE_SELECIONADO REATIVADO COM SUCESSO." 7 65; exit 0;;
        1) echo "$LOGDATE - [Analista cancelou a configuracao]" >> $LOGFILE;
           dialog --backtitle "$LWCORPHEADER" --title "$TITLECANCELADA" --msgbox "\nCONFIGURACAO CANCELANDA." 7 65; exit 1;;
    esac

fi
}

#
# MENSAGEM INICIAL
#

dialog --backtitle "$LWCORPHEADER" \
         --title "$TITLEATENCAO" \
         --msgbox "\nESTE RECURSO LHE PERMITE DESATIVAR SITES DESTE SERVIDOR MANTENDO O ACESSO POR FTP ATIVO.
                   \n\nVOCE TAMBEM PODE REATIVAR SITES ANTERIORMENTE DESATIVADOS POR ESTA FERRAMENTA.
                   \n\nIMPORTANTE: SOMENTE UTILIZE ESTE RECURSO SE HOUVER MOTIVO DE SEGURANCA!
                   \n\nCASO CONTRARIO UTILIZE O SI OU CAL PARA ATIVAR OU DESATIVAR SITES DESTE SERVIDOR." 13 100

#
# PRIMEIRA CHECAGEM DE SYNTAX DO APACHE2
#

configtest

#
# ANALISTA SELECIONA ACAO "DESATIVAR" OU "REATIVAR" UM SITE:
#

MENUAPACHE2=`dialog --backtitle "$LWCORPHEADER" --stdout \
            --radiolist "\n ESCOLHA A ACAO: \n\n"  \
            0 0 0 \
            "DESATIVAR" '' off \
            "REATIVAR" '' off`

#
# VERIFICA ACAO SELECIONADA:
#

case $MENUAPACHE2 in
    "DESATIVAR") ACAO="DISABLE" ;;
    "REATIVAR") ACAO="ENABLE" ;;
    *) dialog --backtitle "$LWCORPHEADER" --stdout --title "$TITLECANCELADO" --msgbox "\nPROCESSO CANCELADO.\n" 7 65;
       echo "$LOGDATE - [Analista nao selecionou uma opcao ou cancelou o processo]" >> $LOGFILE; exit 1;;
esac

#
# DESATIVACAO DE HOSPEDAGEM
#

if [ $ACAO = "DISABLE" ]; then

    echo "$LOGDATE - [Analista selecionou 'disable']" >> $LOGFILE
    configtest
    desativa_sites

fi

#
# REATIVACAO DE HOSPEDAGEM
#

if [ $ACAO = "ENABLE" ]; then

    echo "$LOGDATE - [Analista selecionou 'enable']" >> $LOGFILE
    apache2ctl_configtest
    reativa_sites

fi