#!/bin/bash
################################################
# Script de Configuracao de Servidor para Aula
# Autor: Dailson Fernandes
# Data: 21/08/2015
# Licenca: GNU/GPL
################################################
# Limpa a Tela
clear
while true 
do
# Exibe uma Mensagem para o usuario
dialog --msgbox "Configuracao Inicial de Servidor para Aula SOA" 6 30

# Personalizacao da Vaquinha (Cowsay)
USUARIO=$(dialog --stdout --inputbox "Qual o seu nome? (Ex: Isaque)" 0 0)

# Armazena na variavel HOSTNAME o nome do servidor
HOSTNAME=$(dialog --stdout --inputbox "Digite o nome da maquina (Ex: server)" 0 0)

# Armazena na variavel DOMINIO o nome do dominio
DOMINIO=$(dialog --stdout --inputbox "Digite o dominio da maquina (Ex: unibratec.local)" 0 0)

# Armazena na variavel IP o IP escolhido
IP=$(dialog --stdout --inputbox "Digite o IP da maquina (Ex: 10.5.6.101)" 0 0)
MASCARA=$(dialog --stdout --inputbox "Digite a Mascara da maquina (Ex: 255.255.255.0)" 0 0)

# Armazena na variavel ROUTER o Roteador Escolhido
ROUTER=$(dialog --stdout --inputbox "Digite Default Gateway da maquina (Ex: 10.5.6.254)" 0 0)

# Armazena nas variaveis DNS1 e DNS2 os nomes de DNS
DNS1=$(dialog --stdout --inputbox "Digite o Servidor DNS1 da maquina (Ex: 10.5.6.254)" 0 0)
DNS2=$(dialog --stdout --inputbox "Digite o Servidor DNS2  maquina (Ex: 10.5.6.245)" 0 0)

dialog --yesno "Confirma as Novas Configuracoes? \n\n
	Proprietario.....: $USUARIO \n
	Nome do Servidor.: $HOSTNAME \n
	Nome do Dominio..: $DOMINIO \n
	FQDN.............: $HOSTNAME.$DOMINIO \n
	IP...............: $IP \n
	MASCARA..........: $MASCARA \n
	GATEWAY..........: $ROUTER \n
	DNS1.............: $DNS1\n
	DNS2.............: $DNS2" 0 0

# Se o usuario escolher NAO, o processo e reiniciado.
if [ "$?" = "1" ]
then
	continue
fi

# Configurando o /etc/hosts - Arquivo responsavel pelo Nome da Maquina e Dominio
echo "127.0.0.1	localhost
$IP	$HOSTNAME.$DOMINIO	$HOSTNAME

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters" > /etc/hosts

# Configurando o /etc/hostname - Arquivo responsavel pelo Nome da Maquina
echo "$HOSTNAME" > /etc/hostname

# Configurando o /etc/network/interfaces - Arquivo responsavel pelo IP, Mascara e Gateway
echo "#This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface

auto eth0
iface eth0 inet static
	address $IP
	netmask $MASCARA
	gateway $ROUTER

" > /etc/network/interfaces

# Configurando o /etc/resolv.conf - Arquivo responsavel pelas configuracoes de DNS
echo  "domain $DOMINIO
search $DOMINIO
nameserver $DNS1
nameserver $DNS2" > /etc/resolv.conf

# Configurando a Tela de Login
echo "Debian GNU/Linux 8 \n \l

	Proprietario.....: $USUARIO
	Nome do Servidor.: $HOSTNAME 
	Nome do Dominio..: $DOMINIO 
	FQDN.............: $HOSTNAME.$DOMINIO 
	IP...............: $IP 
	MASCARA..........: $MASCARA 
	GATEWAY..........: $ROUTER 
	DNS1.............: $DNS1
	DNS2.............: $DNS2 


" > /etc/issue

# Configurando a Tela de Login pela Rede
echo "Debian GNU/Linux 8 \n \l

	Proprietario.....: $USUARIO
	Nome do Servidor.: $HOSTNAME 
	Nome do Dominio..: $DOMINIO 
	FQDN.............: $HOSTNAME.$DOMINIO 
	IP...............: $IP 
	MASCARA..........: $MASCARA 
	GATEWAY..........: $ROUTER 
	DNS1.............: $DNS1
	DNS2.............: $DNS2 


" > /etc/issue.net



# Configurando a Mensagem do Dia
echo "
$(/usr/games/cowsay "Ola $USUARIO, Vamos trabalhar????")
-----------------------------------------------------------------------------	
	Proprietario.....: $USUARIO
	Nome do Servidor.: $HOSTNAME 
	Nome do Dominio..: $DOMINIO 
	FQDN.............: $HOSTNAME.$DOMINIO 
	IP...............: $IP 
	MASCARA..........: $MASCARA 
	GATEWAY..........: $ROUTER 
	DNS1.............: $DNS1
	DNS2.............: $DNS2 
-----------------------------------------------------------------------------
			       Unibratec - Faculdade Brasileira de Tecnologia

" > /etc/motd

dialog --yesno "Deseja Reiniciar o Servidor para Aplicar as Novas Configuracoes?" 0 0

# Se o usuario escolher NAO, o processo e reiniciado.
if [ "$?" = "1" ]
then
	exit 0	
else
	reboot
fi

done
