Advertisement
LightProgrammer000

Instalador [Completo & Atualizado]

Mar 14th, 2019
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 9.60 KB | None | 0 0
  1. # !/bin/bash
  2. # Programa: Instalacao de Ferramentas de Servidores
  3. # Assunto: Funcoes Multiplas Funcao
  4. # Compilar: chmod a+x
  5.  
  6. ###################
  7. ##### FUNCOES #####
  8. ###################
  9.  
  10. # Atualizacao de sistema
  11. ATUALIZACAO_1()
  12. {
  13.     # Titulo
  14.     echo ""
  15.     echo -e "\033[01;32m ATUALIZANDO...\033[01;37m"
  16.     echo ""
  17.  
  18.     # SubTitulo
  19.     echo -e "\033[01;33m------------------------------\033[01;37m"
  20.     echo -e "\033[01;33m--- ATUALIZACAO DO SISTEMA ---\033[01;37m"
  21.     echo -e "\033[01;33m------------------------------\033[01;37m"
  22.     echo ""
  23.  
  24.     # Atualizacao
  25.     apt update
  26.     apt-get update
  27.     apt-get upgrade
  28.     apt-get dist-upgrade
  29.    
  30.     # Limpeza
  31.     apt-get clean
  32.     apt-get remove
  33.     apt-get autoclean
  34.     apt-get autoremove
  35. }
  36.  
  37. # Atualizacao de sistema paralela
  38. ATUALIZACAO_2()
  39. {
  40.     # Titulo
  41.     echo ""
  42.     echo -e "\033[01;32m ATUALIZANDO...\033[01;37m"
  43.     echo ""
  44.  
  45.     # SubTitulo
  46.     echo -e "\033[01;33m-----------------------------\033[01;37m"
  47.     echo -e "\033[01;33m--- ATUALIZACAO SUPORTE -----\033[01;37m"
  48.     echo -e "\033[01;33m-----------------------------\033[01;37m"
  49.     echo ""
  50.  
  51.     # Conexao
  52.     apt-get -f install ssh
  53.     apt-get -f install ftp
  54.    
  55.     # Grafico
  56.     apt-get -f install dialog
  57.     apt-get -f install whiptail
  58.  
  59.     # Ferramentas de Rede
  60.     apt-get -f install dnsutils            
  61.     apt-get -f install net-tools
  62.    
  63.     # Editores
  64.     apt-get -f install vim
  65.     apt-get -f install nano
  66.    
  67.     # Compiladores essenciais
  68.     apt-get -f install build-essential $(uname -r)
  69.     apt-get -f install build-essential linux-headers- $(uname -r)
  70.  
  71.     # Diversos
  72.     apt-get -f install bc
  73.     apt-get -f install git
  74.     apt-get -f install csh
  75.     apt-get -f install zip
  76.     apt-get -f install yum
  77.     apt-get -f install gpm
  78.     apt-get -f install gem
  79.     apt-get -f install sudo
  80.     apt-get -f install idle
  81.     apt-get -f install whois
  82.     apt-get -f install rsync
  83.     apt-get -f install ipcalc
  84.     apt-get -f install ntfs-3g
  85.     apt-get -f install bundler
  86.     apt-get -f install python3
  87.     apt-get -f install ntfs-3g
  88.     apt-get -f install python-pip
  89.     apt-get -f install python-virtualenv
  90.     apt-get -f install debian-archive-keyring
  91.     apt-get -f install pip install pyinstaller
  92. }
  93.  
  94. # Servidor [WEB]
  95. APACHE2()
  96. {
  97.     # Titulo
  98.     echo ""
  99.     echo -e "\033[01;32m INSTALANDO...\033[01;37m"
  100.     echo ""
  101.  
  102.     # Subtitulo
  103.     echo -e "\033[01;33m--------------\033[01;37m"
  104.     echo -e "\033[01;33m--- APACHE ---\033[01;37m"
  105.     echo -e "\033[01;33m--------------\033[01;37m"
  106.     echo ""
  107.  
  108.     # Comandos de instalacao
  109.     apt-get -f install apache2
  110.  
  111.     ## Estruturas de Decisao ##
  112.  
  113.     # -f: Analisando existencia do diretorio
  114.     if [[ -e /var/www/uploads ]]
  115.     then
  116.         echo "Pasta existe"
  117.  
  118.     else
  119.         # Criando pasta 'uploads' [Permissao total]
  120.         mkdir /var/www/uploads && chmod 777 /var/www/uploads
  121.     fi
  122. }
  123.  
  124. # Gerenciador de Banco de Dados [PHP]
  125. PHP()
  126. {
  127.     # Titulo
  128.     echo ""
  129.     echo -e "\033[01;32m INSTALANDO...\033[01;37m"
  130.     echo ""
  131.  
  132.     # SubTitulo
  133.     echo -e "\033[01;33m-----------\033[01;37m"
  134.     echo -e "\033[01;33m--- PHP ---\033[01;37m"
  135.     echo -e "\033[01;33m-----------\033[01;37m"
  136.     echo ""
  137.  
  138.     # Comandos
  139.     apt-get -f install php5
  140.     apt-get -f install phpmyadmin
  141.     apt-get -f install php php7.0-mysql libapache2-mod-php7.0
  142. }
  143.  
  144. # Servidor de Banco de Dados [MySql 5.7]
  145. MYSQL()
  146. {
  147.     wget https://dev.mysql.com/get/mysql-apt-config_0.8.11-1_all.deb
  148.     dpkg -i mysql-apt-config_0.8.11-1_all.deb
  149.     apt-get update
  150.     apt-get -f install mysql-server
  151. }
  152.  
  153. # Servidor de Banco de Dados [MariaDB]
  154. MARIADB()
  155. {
  156.     # Titulo
  157.     echo ""
  158.     echo -e "\033[01;32m INSTALANDO...\033[01;37m"
  159.     echo ""
  160.  
  161.     # Subtitulo
  162.     echo -e "\033[01;33m---------------\033[01;37m"
  163.     echo -e "\033[01;33m--- MariaDB ---\033[01;37m"
  164.     echo -e "\033[01;33m---------------\033[01;37m"
  165.     echo ""
  166.  
  167.     # Comando de instalacao
  168.     apt-get -f install mysql-server mysql-client
  169.  
  170.     # Sub-Menu
  171.     echo ""
  172.     echo -e "\033[01;33m - Funcoes Extras:\033[01;37m"
  173.     echo "[1] Trocar senha do MySQL"
  174.     echo "[2] Exportar Banco de Dados"
  175.     echo "[3] Importar Banco de Dados"
  176.     echo "[4] Nenhumas das Opcoes"
  177.     echo -n "Opcao: "
  178.     read item
  179.  
  180.     # Estrutura de escolha
  181.     case $item in
  182.     1)
  183.         # Titulo
  184.         echo ""
  185.         echo -e "\033[01;32m TROCANDO SENHA...\033[01;37m"
  186.         echo ""
  187.  
  188.         # SubTitulo
  189.         echo -e "\033[01;33m---------------\033[01;37m"
  190.         echo -e "\033[01;33m--- MariaDB ---\033[01;37m"
  191.         echo -e "\033[01;33m----------------\033[01;37m"
  192.         echo ""
  193.  
  194.         # Comando para alterar senha
  195.         #mysqladmin -u root -p password;;
  196.         mysql_secure_installation;;
  197.  
  198.     2)
  199.         # Titulo
  200.         echo ""
  201.         echo -e "\033[01;32m EXPORTAR BANCO DE DADOS...\033[01;37m"
  202.         echo ""
  203.  
  204.         # SubTitulo
  205.         echo -e "\033[01;33m---------------\033[01;37m"
  206.         echo -e "\033[01;33m--- MariaDB ---\033[01;37m"
  207.         echo -e "\033[01;33m---------------\033[01;37m"
  208.         echo ""
  209.  
  210.         # Entrada de dados
  211.         echo -n "Digite corretamente o nome do banco de dados: "
  212.         read banco_de_dados
  213.  
  214.         # Exportacao de banco de dados
  215.         mysqldump -u root -p $banco_de_dados > $banco_de_dados.sql;;
  216.  
  217.     3)
  218.         # Titulo
  219.         echo ""
  220.         echo -e "\033[01;32m IMPORTAR BANCO DE DADOS...\033[01;37m"
  221.         echo ""
  222.  
  223.         # SubTitulo
  224.         echo -e "\033[01;33m---------------\033[01;37m"
  225.         echo -e "\033[01;33m--- MariaDB ---\033[01;37m"
  226.         echo -e "\033[01;33m---------------\033[01;37m"
  227.         echo ""
  228.  
  229.         echo -n "Digite corretamente o nome [Banco a ser Importado]: "
  230.         read dump
  231.  
  232.         # Importar de banco de dados
  233.         mysql -u root -p < $dump.sql;;
  234.    
  235.     *)
  236.         echo -e "\033[01;31mOK\033[00;37m";;
  237.  
  238.     esac
  239. }
  240.  
  241. # Servidor [DNS]
  242. BIND9()
  243. {
  244.     # Titulo
  245.     echo ""
  246.     echo -e "\033[01;32m INSTALANDO...\033[01;37m"
  247.     echo ""
  248.  
  249.     # SubTitulo
  250.     echo -e "\033[01;33m--------------\033[01;37m"
  251.     echo -e "\033[01;33m---- BIND ----\033[01;37m"
  252.     echo -e "\033[01;33m--------------\033[01;37m"
  253.     echo ""
  254.  
  255.     # Comando
  256.     apt-get -f install bind9
  257.     systemctl is-enabled bind9.service
  258.     systemctl status bind9
  259. }
  260.  
  261. # Servidor [Proxy]
  262. SQUID()
  263. {
  264.     # Titulo
  265.     echo ""
  266.     echo -e "\033[01;32m INSTALANDO...\033[01;37m"
  267.     echo ""
  268.  
  269.     # SubTitulo
  270.     echo -e "\033[01;33m---------------\033[01;37m"
  271.     echo -e "\033[01;33m---- SQUID ----\033[01;37m"
  272.     echo -e "\033[01;33m---------------\033[01;37m"
  273.     echo ""
  274.  
  275.     # Comando
  276.     apt-get -f install squid
  277. }
  278.  
  279. # WORDPRESS
  280. WORDPRESS()
  281. {
  282.     # Titulo
  283.     echo ""
  284.     echo -e "\033[01;32m INSTALANDO...\033[01;37m"
  285.     echo ""
  286.  
  287.     # SubTitulo
  288.     echo -e "\033[01;33m-----------------\033[01;37m"
  289.     echo -e "\033[01;33m--- WORDPRESS ---\033[01;37m"
  290.     echo -e "\033[01;33m-----------------\033[01;37m"
  291.     echo ""
  292.  
  293.     # -e: Existencia da pasta
  294.     if [[ -e /var/www ]]
  295.     then
  296.  
  297.         # Comando
  298.         wget http://wordpress.org/latest.tar.gz
  299.         tar -xzvf latest.tar.gz
  300.         rsync -avP wordpress/ /var/www/html # Move e autoriza permissoes
  301.         chown -R www-data:www-data /var/www/html
  302.         rm -rf latest.tar.gz
  303.         rm -rf wordpress/
  304.  
  305.     else
  306.         echo "Servidor Apache nao instalado"
  307.    
  308.     fi
  309. }
  310.  
  311. # SAMBA: Servidor de arquivos
  312. SAMBA()
  313. {
  314.     # Titulo
  315.     echo ""
  316.     echo -e "\033[01;32m INSTALANDO...\033[01;37m"
  317.     echo ""
  318.  
  319.     # SubTitulo
  320.     echo -e "\033[01;33m-------------\033[01;37m"
  321.     echo -e "\033[01;33m--- SAMBA ---\033[01;37m"
  322.     echo -e "\033[01;33m-------------\033[01;37m"
  323.     echo ""
  324.  
  325.     # Comando
  326.     apt-get -f install samba
  327. }
  328.  
  329. ###################
  330. ##### FUNCOES #####
  331. ###################
  332.  
  333. # Ativando servicos
  334. UP()
  335. {
  336.     # Titulo
  337.     echo ""
  338.     echo -e "\033[01;31m ##### LIGANDO SERVICOS ##### \033[00;37m"
  339.     echo -e "\033[01;32m =========== SSH ============ \033[00;37m"
  340.     echo -e "\033[01;32m ========= SQUID ============ \033[00;37m"
  341.     echo -e "\033[01;32m ========== BIND ============ \033[00;37m"
  342.     echo -e "\033[01;32m ========== MYSQL =========== \033[00;37m"
  343.     echo -e "\033[01;32m ========= APACHE =========== \033[00;37m"
  344.     echo ""
  345.  
  346.     # Comandos
  347.     service ssh start
  348.     service squid start
  349.     service mysql start
  350.     service bind9 start
  351.     service apache2 start  
  352. }
  353.  
  354. ##################################################
  355. #################### PROGRAMA ####################
  356. ##################################################
  357.  
  358. # Estrutura em Laco
  359. while (( 1 ))
  360. do
  361.     # Titulo
  362.     clear
  363.     echo ""
  364.     echo -e "\033[01;32m------------------\033[01;37m"
  365.     echo -e "\033[01;32m    INSTALACAO    \033[01;37m"
  366.     echo -e "\033[01;32m------------------\033[01;37m"
  367.     echo ""
  368.    
  369.     # MENU: Entrada de dados
  370.     echo -e "\033[01;33m[1] INSTALAR PROGRAMAS\033[01;37m"
  371.     echo -e "\033[01;34m[2] INICIAR SERVICOS\033[01;37m"
  372.     echo -e "\033[01;35m[3] SAIR\033[01;37m"
  373.     echo ""
  374.     echo -n -e "\033[01;34m- Escolha:\033[01;37m"
  375.     read escolha
  376.     clear
  377.  
  378.     # Estrutura de decisao #
  379.  
  380.     # Caso [1]: Opcoes de menu
  381.     if (( $escolha == 1 ))
  382.     then
  383.         echo ""
  384.         echo "-------------------- INSTALACAO --------------------"
  385.         echo "[1] ATUALIZACAO [Sistema]"
  386.         echo "[2] ATUALIZACAO [Suporte]"
  387.         echo "[3] APACHE [Web]"
  388.         echo "[4] PHP [Gerenciador de banco de dados]"
  389.         echo "[5] MYSQL [Servidor de Banco de dados 5.7]"
  390.         echo "[6] MARIADB [Servidor de Banco de dados]"
  391.         echo "[7] BIND [Servidor de nome de dominio]"
  392.         echo "[8] SQUID [Servidor de Proxy]"
  393.         echo "[9] WORDPRESS [CMS]"
  394.         echo "[10] SAMBA [Servidor de arquivos]"
  395.         echo "----------------------------------------------------"
  396.         echo -n "- Escolha: "
  397.         read item
  398.         echo ""
  399.         clear
  400.  
  401.         # Estrutura de escolha
  402.         case $item in
  403.         1)
  404.             ATUALIZACAO_1;;
  405.        
  406.         2)
  407.             ATUALIZACAO_2;;
  408.            
  409.         3)
  410.             APACHE2;;
  411.  
  412.         4)
  413.             PHP;;  
  414.  
  415.         5)
  416.             MYSQL;;
  417.  
  418.         6)
  419.             MARIADB;;          
  420.  
  421.         7)
  422.             BIND9;;
  423.  
  424.         8)
  425.             SQUID;;        
  426.  
  427.         9)
  428.             WORDPRESS;;
  429.            
  430.         10)
  431.             SAMBA;;    
  432.        
  433.         *)
  434.             echo -e "\n\n\033[01;31m Opcao Invalida !!!\033[00;37m\n";;
  435.  
  436.         esac
  437.  
  438.     # Caso [2]: Opcoes para Subir Servicos
  439.     elif (( $escolha == 2 ))
  440.     then
  441.         # Chamada de funcao
  442.         UP
  443.  
  444.     # Caso [3]: Sair do programa
  445.     elif (( $escolha == 3 ))
  446.     then
  447.         # Saida
  448.         exit
  449.     fi
  450.    
  451.     # Voltando ao menu
  452.     echo -e "\n\033[01;33m* Aperte [Enter] para voltar\033[00;37m\n"
  453.     read
  454. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement