# !/bin/bash # Programa: Instalacao de Ferramentas de Servidores # Assunto: Funcoes Multiplas Funcao # Compilar: chmod 777 # FUNCOES: 1 ## Atualizacao de Sistema ATUALIZACAO() { # Titulo echo "" echo -e "\033[01;32m ATUALIZANDO...\033[01;37m" echo "" # Comandos de atualizacao do sistema e limpeza sudo apt-get update sudo apt-get upgrade sudo apt-get autoclean } ## Servidor [WEB] APACHE2() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # Subtitulo echo -e "\033[01;33m--------------\033[01;37m" echo -e "\033[01;33m--- APACHE ---\033[01;37m" echo -e "\033[01;33m--------------\033[01;37m" echo "" # Comandos de instalacao sudo apt-get install apache2 ## Estruturas de Decisao ## # -f: Analisando existencia do diretĂ³rio if [[ -e /var/www/uploads ]] then echo "Arquivo existe" else # Criando pasta 'uploads' [Permissao total] mkdir /var/www/uploads && chmod 777 /var/www/uploads fi } ## Gerenciador de Banco de Dados [PHP] PHP() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m-----------\033[01;37m" echo -e "\033[01;33m--- PHP ---\033[01;37m" echo -e "\033[01;33------------\033[01;37m" echo "" # Comandos sudo apt-get install php5 sudo apt-get install phpmyadmin sudo apt-get install php php7.0-mysql libapache2-mod-php7.0 } # Servidor de Banco de Dados [MySql 5.7] MySQL() { wget https://dev.mysql.com/get/mysql-apt-config_0.8.11-1_all.deb dpkg -i mysql-apt-config_0.8.11-1_all.deb sudo apt-get update sudo apt-get install mysql-server } ## Servidor de Banco de Dados [MySQL MariaDB] MYSQL_MariaDB() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # Subtitulo echo -e "\033[01;33m-----------------------\033[01;37m" echo -e "\033[01;33m--- MYSQL [MariaDB] ---\033[01;37m" echo -e "\033[01;33m-----------------------\033[01;37m" echo "" # Comando de instalacao apt-get install mysql-server mysql-client # Sub-Menu echo "" echo -e "\033[01;33m - Funcoes Extras: \033[01;37m" echo "[1] Trocar senha do MySQL" echo "[2] Exportar Banco de Dados" echo "[3] Importar Banco de Dados" echo "[4] Nenhumas das Opcoes" echo -n "Opcao: " read item # Estrutura de escolha case $item in 1) # Titulo echo "" echo -e "\033[01;32m TROCANDO SENHA... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m-------------\033[01;37m" echo -e "\033[01;33m--- MySQL ---\033[01;37m" echo -e "\033[01;33m-------------\033[01;37m" echo "" # Comando para alterar senha #mysqladmin -u root -p password;; mysql_secure_installation;; 2) # Titulo echo "" echo -e "\033[01;32m EXPORTAR BANCO DE DADOS... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m-------------\033[01;37m" echo -e "\033[01;33m--- MySQL ---\033[01;37m" echo -e "\033[01;33m-------------\033[01;37m" echo "" # Entrada de dados echo -n "Digite corretamente o nome do banco de dados: " read banco_de_dados # Exportacao de banco de dados mysqldump -u root -p $banco_de_dados > $banco_de_dados.sql;; 3) # Titulo echo "" echo -e "\033[01;32m IMPORTAR BANCO DE DADOS... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m-------------\033[01;37m" echo -e "\033[01;33m--- MySQL ---\033[01;37m" echo -e "\033[01;33m-------------\033[01;37m" echo "" echo -n "Digite corretamente o nome [Banco a ser Importado]: " read dump # Exportacao de banco de dados mysql -u root -p < $dump.sql;; *) echo -e "\033[01;31mOK\033[00;37m";; esac } ## Servidor [DNS] BIND9() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m--------------\033[01;37m" echo -e "\033[01;33m---- BIND ----\033[01;37m" echo -e "\033[01;33m--------------\033[01;37m" echo "" # Comando sudo apt-get install bind9 } ## Servidor [Proxy] SQUID() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m---------------\033[01;37m" echo -e "\033[01;33m---- SQUID ----\033[01;37m" echo -e "\033[01;33m---------------\033[01;37m" echo "" # Comando sudo apt-get install squid } # WORDPRESS WORDPRESS() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m-----------------\033[01;37m" echo -e "\033[01;33m--- WORDPRESS ---\033[01;37m" echo -e "\033[01;33m-----------------\033[01;37m" echo "" # -e: Existencia da pasta if [[ -e /var/www ]] then # Comando wget http://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz rsync -avP wordpress/ /var/www/html # Move e autoriza permissoes chown -R www-data:www-data /var/www/html rm -rf latest.tar.gz rm -rf wordpress/ else echo "Servidor Apache nao instalado" fi } ## Secure Shell [SSH] SSH() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m-----------\033[01;37m" echo -e "\033[01;33m--- SSH ---\033[01;37m" echo -e "\033[01;33m-----------\033[01;37m" echo "" # Comando sudo apt-get install ssh } # Compactador de arquivo (zip) ZIP() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m-----------\033[01;37m" echo -e "\033[01;33m--- ZIP ---\033[01;37m" echo -e "\033[01;33m-----------\033[01;37m" echo "" # Comando sudo apt-get install zip } # Git [GitHub] GIT() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m--------------\033[01;37m" echo -e "\033[01;33m--- GITHUB ---\033[01;37m" echo -e "\033[01;33m--------------\033[01;37m" echo "" # Comando sudo apt-get install git } # Extras Ferramentas_extras() { # Titulo echo "" echo -e "\033[01;32m INSTALANDO... \033[01;37m" echo "" # SubTitulo echo -e "\033[01;33m--------------------------\033[01;37m" echo -e "\033[01;33m--- FERRAMENTAS EXTRAS ---\033[01;37m" echo -e "\033[01;33m--------------------------\033[01;37m" echo "" # Comandos sudo apt-get install bc sudo apt-get install yum sudo apt-get install csh sudo apt-get install rsync sudo apt-get install dialog sudo apt-get install ipcalc sudo apt-get install ntfs-3g sudo apt-get install whiptail } # FUNCOES: 2 ## Ativando Servicos UP() { # Titulo echo "" echo -e "\033[01;31m ##### LIGANDO SERVICOS ##### \033[00;37m" echo -e "\033[01;32m =========== SSH ============ \033[00;37m" echo -e "\033[01;32m ========== MYSQL =========== \033[00;37m" echo -e "\033[01;32m ========= APACHE =========== \033[00;37m" echo -e "\033[01;32m ========== BIND ============ \033[00;37m" echo -e "\033[01;32m ========= SQUID ============ \033[00;37m" echo "" # Comandos service ssh start service mysql start service apache2 start service bind9 start service squid start } ################################################## #################### PROGRAMA #################### ################################################## # Variavel de controle a=1 # Estrutura em Laco while (( $a == 1 )) do # Titulo clear echo "" echo -e "\033[01;32m------------------\033[01;37m" echo -e "\033[01;32m INSTALACAO \033[01;37m" echo -e "\033[01;32m------------------\033[01;37m" # MENU - Entrada de dados echo "" echo -e "\033[01;33m[1] INSTALAR PROGRAMAS\033[01;37m" echo -e "\033[01;36m[2] INICIAR SERVICOS \033[01;37m" echo "" echo -n -e "\033[01;34m- Escolha: \033[01;37m" read escolha # Estrutura de decisao # # Caso 1: Opcoes de menu if (( $escolha == 1 )) then echo "" echo "--- INSTALACAO ---" echo "[1] ATUALIZACAO" echo "[2] APACHE [Web]" echo "[3] PHP [Gerenciador de Banco de Dados]" echo "[4] MySQL [5.7]" echo "[5] MySQL [MariaDB]" echo "[6] BIND [Dns]" echo "[7] SQUID [Proxy]" echo "[8] WORDPRESS" echo "[9] SSH [Secure Shell]" echo "[10] ZIP [Compactador]" echo "[11] GIT [GitHub]" echo "[12] Ferramentas [Extras]" echo "" echo -n "- Escolha: " read item echo "" # Estrutura de escolha case $item in 1) ATUALIZACAO;; 2) APACHE2;; 3) PHP;; 4) MySQL;; 5) MYSQL_MariaDB;; 6) BIND9;; 7) SQUID;; 8) WORDPRESS;; 9) SSH;; 10) ZIP;; 11) GIT;; 12) Ferramentas_extras;; *) echo -e "\033[01;31mERRO\033[00;37m";; esac # Caso 2: Opcoes para Subir Servicos elif (( $escolha == 2 )) then # Chamada de funcao UP fi echo "" echo -e "\033[01;31m==-== Deseja retornar ao menu principal ==-==\033[00;37m" echo "[1] Sim" echo "[2] Nao" echo -n "OPCAO: " read opcao # Estrutura de escolha case $opcao in 1) a=1;; *) clear a=0;; esac done