PauloRB.dev

Desenvolvedor de Software

Script para automatizar instalações de ferramentas em ambiente LINUX | PauloRB.dev Script para automatizar instalações de ferramentas em ambiente LINUX - PauloRB.dev
Script para automatizar instalações de ferramentas em ambiente LINUX

Script para automatizar instalações de ferramentas em ambiente LINUX

Para agilizar as instalações das minhas ferramentas de desenvolvimento quando for necessário resolvi montar o seguinte script:

#!/bin/bash

# Função para instalar o PHP e suas extensões
install_php_and_extensions() {
    local php_version="$1"
    local php_extensions=(
        bcmath
        bz2
        calendar
        Core
        ctype
        curl
        date
        dom
        exif
        FFI
        fileinfo
        filter
        ftp
        gd
        gettext
        hash
        iconv
        igbinary
        intl
        json
        libxml
        mbstring
        mysqli
        mysqlnd
        openssl
        pcntl
        pcre
        PDO
        pdo_mysql
        pdo_pgsql
        pdo_sqlite
        pgsql
        Phar
        posix
        random
        readline
        redis
        Reflection
        session
        shmop
        SimpleXML
        sockets
        sodium
        SPL
        sqlite3
        standard
        sysvmsg
        sysvsem
        sysvshm
        tokenizer
        xdebug
        xml
        xmlreader
        xmlwriter
        xsl
        "Zend OPcache"
        zip
        zlib
    )

    # Adiciona o PPA do PHP
    sudo add-apt-repository -y ppa:ondrej/php
    sudo apt update

    # Instala o PHP
    sudo apt install -y php"$php_version"

    # Instala as extensões do PHP
    for extension in "${php_extensions[@]}"; do
        sudo apt install -y "php$php_version-$extension"
    done
}

# Função para instalar o CURL
install_curl() {
    sudo apt install -y curl
}

# Função para instalar o WGET
install_wget() {
    sudo apt install -y wget
}

# Função para instalar o Docker e o Docker Compose
install_docker_and_compose() {
    sudo apt update
    sudo apt install docker.io 
    sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 
    sudo chmod +x /usr/local/bin/docker-compose
    sudo groupadd docker
    sudo usermod -aG docker $USER 
    newgrp docker
    docker run hello-world
    sudo systemctl enable docker.service
    sudo systemctl enable containerd.service
}

# Função para instalar o Redis
install_redis() {
    sudo apt update
    sudo apt install -y redis-server
    sudo systemctl start redis-server
    sudo systemctl enable redis-server
}

# Função para instalar o Node.js usando o NVM
install_nodejs() {
    install_nvm
    nvm install node
}

# Função para instalar o FileZilla
install_filezilla() {
    sudo apt update
    sudo apt install -y filezilla
}

# Função para instalar o PhpStorm
install_phpstorm() {
    sudo snap install phpstorm --classic
}

# Função para instalar o Python e o PIP
install_python_and_pip() {
    sudo apt update
    sudo apt install -y python3
    python3 --version
    sudo apt install -y python3-pip
}

# Função para instalar o NVM
install_nvm() {
    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
}

# Menu de opções
while true; do
    echo "Selecione a ferramenta a ser instalada:"
    echo "1. PostgreSQL com pgAdmin"
    echo "2. Apache"
    echo "3. PHP"
    echo "4. DBeaver"
    echo "5. Git"
    echo "6. Visual Studio Code"
    echo "7. Google Chrome"
    echo "8. Docker e Docker Compose"
    echo "9. CURL"
    echo "10. WGET"
    echo "11. Python e PIP"
    echo "12. NVM"
    echo "13. Redis"
    echo "14. Node.js"
    echo "15. FileZilla"
    echo "16. PhpStorm"
    echo "17. Sair"

    read -p "Digite o número correspondente à opção desejada: " option

    case $option in
        1)  # Instala PostgreSQL com pgAdmin
            curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
            sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
            sudo apt install -y curl ca-certificates
            sudo apt install -y pgadmin4 pgadmin4-desktop pgadmin4-web

            # Instala o PostgreSQL e define o usuário e senha padrão
            sudo apt install -y postgresql postgresql-contrib
            sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'postgres';"
            sudo systemctl restart postgresql
            sudo /usr/pgadmin4/bin/setup-web.sh
            ;;
        2)  # Instala Apache
            sudo apt update
            sudo apt install -y apache2
            sudo systemctl status apache2
            ;;
        3)  # Instala PHP
            read -p "Digite a versão do PHP que deseja instalar (exemplo: 8.2): " php_version
            install_php_and_extensions "$php_version"
            ;;
        4)  # Instala DBeaver
            wget -O - https://dbeaver.io/debs/dbeaver.gpg.key | sudo apt-key add -
            echo "deb https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list
            sudo apt update
            sudo apt install -y dbeaver-ce
            ;;
        5)  # Instala Git
            sudo apt install -y git
            ;;
        6)  # Instala Visual Studio Code
            sudo apt update
            sudo apt install -y software-properties-common apt-transport-https wget
            wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
            sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
            sudo apt update
            sudo apt install -y code
            ;;
        7)  # Instala Google Chrome
            wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
            sudo apt update
            sudo apt install -y ./google-chrome-stable_current_amd64.deb
            ;;
        8)  # Instala Docker e Docker Compose
            install_docker_and_compose
            ;;
        9)  # Instala CURL
            install_curl
            ;;
        10) # Instala WGET
            install_wget
            ;;
        11) # Instala Python e PIP
            install_python_and_pip
            ;;
        12) # Instala NVM
            install_nvm
            ;;
        13) # Instala Redis
            install_redis
            ;;
        14) # Instala Node.js
            install_nodejs
            ;;
        15) # Instala FileZilla
            install_filezilla
            ;;
        16) # Instala PhpStorm
            install_phpstorm
            ;;
        17) # Sai do script
            echo "Saindo..."
            exit
            ;;
        *)  # Opção inválida
            echo "Opção inválida. Por favor, selecione uma opção válida."
            ;;
    esac
done

Basta colocar o código mostrado em um arquivo de texto e depois salva-lo com o nome de sua escolha no meu caso eu chamei de “ambiente.sh” feito isso basta abrir o terminal da sua distribuição linux e dar a permissões de execução com o comando “sudo chmos +x ambiente.sh” e depois executar o arquivo com o comando ./ambiente.sh no mesmo terminal com um menu de opções aí basta escolher a ferramenta a ser instalada e pronto.

$: Selecione a ferramenta a ser instalada:
1. PostgreSQL com pgAdmin
2. Apache
3. PHP
4. DBeaver
5. Git
6. Visual Studio Code
7. Google Chrome
8. Docker e Docker Compose
9. CURL
10. WGET
11. Python e PIP
12. NVM
13. Redis
14. Node.js
15. FileZilla
16. PhpStorm
17. Sair

Mais Posts

Instalar o PGAdmin 4 em distribuições Linux Debian 12

Instalar o PGAdmin 4 em distribuições Linux Debian 12

Recentemente enquanto utilizava o Linux Mint 21 Vera tive uma série de problemas ao instalar o PGAdmin 4 e numa... Leia mais

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

Tutorial de Desenvolvimento: Criando um Jogo de Tetris

E vamos a mais um tutorial de outro joguinho clássico só que dessa vez vamos recriar o Tetris. Link do... Leia mais

Script para automatizar instalações de ferramentas em ambiente LINUX

Script para automatizar instalações de ferramentas em ambiente LINUX

Para agilizar as instalações das minhas ferramentas de desenvolvimento quando for necessário resolvi montar o seguinte script: Basta colocar o... Leia mais

Como instalar o RabbitVCS no ubuntu 18.04

Como instalar o RabbitVCS no ubuntu 18.04

Caso você sendo usuário Linux e precise instalar um gerenciador de SVN temos como alternativa o RABBITVCS. São apenas dois... Leia mais