Adicionar e Remover Dominios Virtuais do Apache
Publicado por Gardy Erickson de Padua (última atualização em 15/12/2011)
[ Hits: 10.866 ]
Ola galera!
Segue um script para adicionar e remover dominios virtuais do apache, alem de fazer monitoramento de processos mais pesados, e trazer algumas estatisticas de uso de memoria e cpu.
Espero que gostem e compartilhem melhorias!
#!/bin/sh
#
###############################################################################
# Script WGR-MULTIFUNCTIONS 1.0 #
# #
# Autores: Gardy Erickson,Roney Eidi,Willians Santos #
###############################################################################
# Este programa tem como funcao adicionar e remover dominios virtuais no #
# apache. Tambem foram implementadas funcoes de verificar estatisticas do #
# CPU, MEMORIA, PROCESSOS e Verificar o Status do Apache. Tambem esta imple- #
# mentada a funcao de enviar email ao administrador do sistema caso o uso de #
# memoria ram do micro esteja acima do limite estipulado #
# #
###############################################################################
#
clear
Menu() {
#clear
echo "==============================================="
echo "|| WRG MULTIFUNCTIONS ||"
echo "==============================================="
echo "Escolha uma funcao ou 0 para sair"
echo " [1] Adicionar Dominio Virtual do Apache "
echo " [2] Remover Dominio Virtual do Apache "
echo " [3] Verificar Estatisticas do CPU"
echo " [4] Verificar Estatisticas de Memoria Ram"
echo " [5] Verificar Estatisticas dos Processos"
echo " [6] Verificar Status do Apache"
echo " [0] Sair "
echo
echo -n " >>> Digite a Opcao: "
read opcao
case $opcao in
1) AdicionaDominio ;;
2) RemoveDominio ;;
3) VerificaCpu ;;
4) VerificaRam ;;
5) VerificaProc ;;
6) VerificaApache ;;
0) Sair ;;
*) "Opcao Invalida!" ; echo ; Menu ;;
esac
}
AdicionaDominio() {
echo "Nome do dominio (Ex.: dominio.com.br) :"
read server
#Criando o diretorio do site
mkdir /var/www/$server
#Criando o Arquivo de Configuracao do VirtualHost
echo "Configuracao do VirtualHost"
echo "<VirtualHost *:80>
ServerName $server
ServerAlias www.$server
DocumentRoot /var/www/$server
</VirtualHost>" > /etc/apache2/sites-available/$server
echo "Ativando VirtualHost $server"
ln -s /etc/apache2/sites-available/$server /etc/apache2/sites-enabled/$server
#Criar um index para testar o arquivo
echo "Digite algo para constar no index"
read texto
touch /var/www/$server/index.html
echo "$texto" >> /var/www/$server/index.html
echo "Atualizando arquivo hosts"
echo "127.0.0.1 $server www.$server" >> /etc/hosts
echo "Reiniciando apache";
/etc/init.d/apache2 restart
echo "Virtual Host Criado";
logger - WGR MF LOG = NOVO DOMINIO $server ADICIONADO
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
RemoveDominio() {
echo "Digite o nome do dominio que deseja remover(sem o www)"
hostss=$(cat /etc/hosts)
echo "$hostss"
echo "Obs: Digite apenas nomedodominio.com.br"
read serverd
#removendo a pasta onde estao os arquivos, e retirando do apache
rm -fr /var/www/$serverd
rm /etc/apache2/sites-available/$serverd
rm /etc/apache2/sites-enabled/$serverd
#Removendo a linha onde ha o dominio
sed -i "/$serverd/d" /etc/hosts
logger - WGR MF LOG = NOVO DOMINIO $serverd REMOVIDO
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaCpu() {
var=$(top -n1 | grep 'Cpu(s)')
echo "$var"
logger - WGR MF LOG = CPU STATUS = $var
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaRam() {
#Verificando uso de memoria
# Porcentagem maxima considerada
perc_max=85
# Total da memoria:
ramtotal=`grep -F "MemTotal:" < /proc/meminfo | awk '{print $2}'`
ramlivre=`grep -F "MemFree:" < /proc/meminfo | awk '{print $2}'`
# RAM utilizada pelo sistema:
ramusada=`expr $ramtotal - $ramlivre`
let porc_ut="$ramusada * 100 / $ramtotal"
echo "Maximo de consumo de RAM considerado= $perc_max %"
if [ $porc_ut -gt $perc_max ]
then
#Caso a memoria esteja acima do uso considerado normal,sera enviado um email ao administrador
echo "Memoria acima do maximo considerado"
EnviaEmail
logger - WGR MF LOG = Email enviado ao Administrador do sistema
else
echo "Memoria abaixo do maximo considerado. Usando $porc_ut % "
fi
logger - WGR MF LOG = Status da memoria = $porc_ut
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaProc() {
top -n1
logger - WGR MF LOG = Verificados os processos mais pesados
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
VerificaApache() {
echo "Carregando Informacoes.....aguarde...."
result=$(nmap -A 127.0.0.1| grep 80)
echo "$result"
logger - WGR MF LOG = Status do Apache = $result
echo "Digite enter para voltar ao Menu Principal"
read
Menu
}
EnviaEmail() {
# Assunto do email
SUBJECT="***** Problema no servidor *****"
# Destino
EMAIL="administrator@localhost.com"
#Arquivo onde ficara armazenada a mensagem
emailmsg="/tmp/mensagemdeemail.txt"
#Mensagem de texto
echo "Problema no servidor" > $emailmsg
echo "Foi constatado um problema no servidor, favor verificar">>$emailmsg
#envio do email via /bin/mail
mail -s "$SUBJECT" "$EMAIL" < $emailmsg
echo "Mensagem de alerta enviada!"
echo "Digite enter para voltar ao Menu Principal"
logger - WGR MF LOG = Email enviado
read
}
Sair() {
echo
echo " Finalizando "
echo
echo
exit
}
Menu
OPL Manager para Linux em SHELL
Instalar Mplayer e todos os Codecs Facilmente
Gerenciador de autenticação de usuarios no squid
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro no suitable vídeo mode (4)
Navegar no Firefox sem passar pelo Google [RESOLVIDO] (2)
Pergunta: Meu teclado não está respondendo direito como e consertar? (3)
Erro: Lazarus 4.2 64 no Linux Mint não entra mais apos ajustar desktop... (1)









